|
|
本课程分为三部分。 \. G- _" J" Z% V' o9 B) l" I
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
" f7 W+ X0 u2 _1 z1 s 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。4 `; e9 h" P* u/ g# v+ A4 V
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
/ |) q. x% p9 v; |. k0 e课程目录:+ f1 l9 b- g' J$ i% Z3 X
第一章:快速上手篇 (12讲)
# j$ ^8 d8 ]3 s8 y1 }* U# M! r01 | 讲给你的 Kotlin 快速上手课程
+ A% S" j6 ~' f( ^02 | Kotlin 最基础语法2 @% Y( ^' h/ G* s+ `1 e" X
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?. s# Y: S7 J3 B: W0 H, Z
04 | 新手使用 Kotlin 常碰到的问题' r% ]/ ?9 O/ z( t: d
05 | 函数也能嵌套?这个特性要注意
& Z% T0 F+ i9 u5 J1 j# e06 | 用扩展函数简化代码调用+ Z9 Z' o0 k. I6 D, Q3 A
07 | DSL的基础 : Lambda闭包的语法
1 T, |5 r# P7 ^/ P( Q7 ~08 | 函数的参数是函数 : 高阶函数的注意事项
# S8 H$ W+ Z. v! X% V2 r09 | 创建对象的关键 : Kotlin的构造函数4 u' P+ `/ j4 [% P
10 | 伴生对象 : Kotlin 特有的单例对象
( `; Z. `0 m9 N) g11 | by关键字的使用
# r( S/ `, P. O# {8 k- y12 | Kotlin 独有的特殊类. O; ?! ?4 g) `" M
第二章 :深入学习篇 (13讲): O9 U; C0 N/ O" L* f( c
13 | 解构 : 特殊的数据拆箱方式
% f& `0 `/ \1 \$ A( F/ f* m14 | Kotlin 的循环语法
/ ^$ H3 V! m2 D" ?! u/ f) S15 | Kotlin海量的集合操作符
4 j" Z) w4 x- L4 ?" H. g6 |( Y& {16 | 作用域函数 : 你会爱上的自带函数
4 G) P1 \& }& W- \7 A3 q17 | 运算符与中缀 : 定义你的专有运算符
& c. Z# ?1 F5 @18 | 神奇的符号 : Kotlin 的反引号
1 u1 H& P, r6 s: n0 h1 `19 | DSL 是什么,原来早就用过了
; J7 y3 w/ B( O; V& I, A20 | 构建 DSL 的常用方式 ]7 B* N; d. I8 Q
21 | 定义自己的 DSL
4 }/ G% ]3 H4 R% g5 d' I! s; A22 | 理解 Kotlin 中的常量与只读
; h4 p, F( T4 ]* c23 | Kotlin 的空安全是如何实现的
0 j- c, a2 z( z( E! w5 F! y! \. O: n24 | Kotlin 内联 : noinline与crossinline
) j( @0 U5 L4 G, k* W( ?25 | Kotlin 的真泛型与实现方式# C8 g% T% W' M: N
第三章 :扩展库篇 (14讲)
* q* I }& w8 n, d( F- W5 n' w! l26 | 协程 : 提升性能的利器0 u# p- I! r0 J8 F$ B
27 | 在Kotlin 中使用协程
4 k8 [! b# V7 L; |2 O* T( o1 I28 | 协程的启动参数
% @* r: o5 g' k( D8 K29 | 协程的语法糖! C% v2 S7 x. |# z- g7 {& Q, n
30 | suspend : 知其然知其所以然( Y& l! w+ V" \
31 | 协程的内部实现原理% R v# C& p% U% r+ h8 G, p
32 | 动手设计Kotlin 协程的yield
- d+ I# t' U V33 | 协程通信:Channel的使用
- E' K) X' F0 a# [" |. K34 | 小结 : 动手设计Channel版的EventBus
$ j t/ i: e# E$ g9 V35 | NIO 与 BIO8 ^& y( o; T9 k8 X
36 | Kotlinx-io 的对象缓存池
9 `" G2 P, Q* S0 @% l) V: ^37 | Google 推出 KTX 的目的
; a, w/ `; }% [6 v6 U2 l8 X; j38 | KTX 的实现$ ]1 _* c6 m" J( @
39 | KTX 小结: O2 V8 \+ Z$ [! c, A
第四章 :团队协作篇 (3讲)
, e. K+ ?$ _+ H40 | 在团队中使用 Kotlin
: {* F+ u+ |( r! S41 | 用 Kotlin 改写现有工程- S1 V4 D5 U3 m3 j$ K3 {
42 | 滥用特性的后果:没人懂的代码
4 {+ _4 u" H0 V8 o. k7 z第五章 :Kotlin 跨平台篇 (8讲)6 R5 w4 c3 R8 N D D$ K
43 | Kotlin 服务端开发框架* L. F f6 z" V2 h! x
44 | Http Servlet 创建 Kotlin 版 Web 应用
/ p+ j9 V+ X; J' @& _45 | Spring Boot 创建 RESTful Web 服务( K- p- R2 i4 Q* z7 F. ?; M
46 | Kotlin 开发 Web 前端
8 q/ K/ u+ c8 Q2 v6 p8 E: t47 | Kotlin Native 开发" a4 N- Z1 t+ K: ?! z" P
48 | 创建 Kotlin Native 基础库( S1 O1 m, {. e+ l }3 H: G
49 | 如何用 Kotlin 实现 Android MVP. Q3 E+ I B4 l3 Q# k
50 | Android MVP 的 Kotlin 代码
7 k1 m m, v3 V: C # j+ J" b& J4 G. L6 J
& C! j1 O* Q9 V" Z1 u( b' w- p
$ a) t: q# ]" k, F; G |
|