|
|
本课程分为三部分。. g8 f; M/ Q$ m# b% T r. \' D" c( \
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。! D9 o9 m+ M5 i
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。8 W) B! ?; n% r- r
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。! l2 S" O) D/ x) v8 x+ O6 r
课程目录:
( B6 T7 o( k9 v% P第一章:快速上手篇 (12讲)2 n. P R1 J4 s0 L! A
01 | 讲给你的 Kotlin 快速上手课程; E) H0 Y- R, m2 C8 ~. `4 u
02 | Kotlin 最基础语法
3 A' r$ c6 p8 D# r03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?" `! z+ F4 c/ N+ s
04 | 新手使用 Kotlin 常碰到的问题: i- K! l" x7 i/ |/ F
05 | 函数也能嵌套?这个特性要注意
) u3 ?4 t* ?7 a5 r W4 U( C c06 | 用扩展函数简化代码调用
$ x* ^ y$ R: A& P6 L; j! N: o3 W07 | DSL的基础 : Lambda闭包的语法0 ^- w; U6 N4 w
08 | 函数的参数是函数 : 高阶函数的注意事项
- `4 o- K: U! E! ^) }" ?$ w; R09 | 创建对象的关键 : Kotlin的构造函数
b7 I2 ~7 X& O10 | 伴生对象 : Kotlin 特有的单例对象0 e4 R! p/ H( A( E* ~; E
11 | by关键字的使用
- S0 y/ v7 P0 |, H: P12 | Kotlin 独有的特殊类1 @) w/ _4 ?( D& y/ R( ]
第二章 :深入学习篇 (13讲)# X' f o7 ]6 G/ T
13 | 解构 : 特殊的数据拆箱方式
$ _) l3 U% B* {& s$ S14 | Kotlin 的循环语法9 r$ G( k' B; I
15 | Kotlin海量的集合操作符
4 k, |7 P J7 J3 C16 | 作用域函数 : 你会爱上的自带函数* m" e" i( E! k3 m3 C' j; w, f7 N7 |% t
17 | 运算符与中缀 : 定义你的专有运算符
4 ?2 M1 B, Q, \18 | 神奇的符号 : Kotlin 的反引号
' l/ j8 \( U; n& f19 | DSL 是什么,原来早就用过了& o9 q+ x, e: |0 G( n
20 | 构建 DSL 的常用方式
Z) S7 T8 ~" E; C( s21 | 定义自己的 DSL
, {" a w3 _8 W: h, C9 p22 | 理解 Kotlin 中的常量与只读0 l8 U2 x; y k( Y
23 | Kotlin 的空安全是如何实现的
5 @# e. P) t: g" O# S9 }7 p% I) X24 | Kotlin 内联 : noinline与crossinline
2 l/ i* B# O8 ?& d" H25 | Kotlin 的真泛型与实现方式
7 `4 N& C8 h5 W1 W第三章 :扩展库篇 (14讲)8 |6 l& g+ D3 G* o1 A
26 | 协程 : 提升性能的利器
. G# P' o, E- S+ h7 x0 f% e- u27 | 在Kotlin 中使用协程
" q* V0 L; j" q7 }0 h, Y28 | 协程的启动参数4 P m4 q6 E% P6 S3 Q/ h* J
29 | 协程的语法糖
+ d3 ]" J* S$ c4 x30 | suspend : 知其然知其所以然
' h, @* G# V B! S. d: e+ ~0 q31 | 协程的内部实现原理; i# U. N3 o+ F
32 | 动手设计Kotlin 协程的yield% ~) }5 a! l* ~; f l* }8 e
33 | 协程通信:Channel的使用
) {8 [% [. Y; [. ^34 | 小结 : 动手设计Channel版的EventBus
5 H1 K+ E* K P) a) Q9 f: u35 | NIO 与 BIO+ k0 t0 l% @ j4 E0 S6 R6 E' u6 s
36 | Kotlinx-io 的对象缓存池
2 Z, ~9 \9 { y. k4 g37 | Google 推出 KTX 的目的
$ S* g0 u1 u- ]* P38 | KTX 的实现4 q8 p9 y/ F5 U9 ]# ?1 L
39 | KTX 小结5 K3 v } v+ V
第四章 :团队协作篇 (3讲)" p: S! Q( V, Y
40 | 在团队中使用 Kotlin# u ~! i7 \. E$ Q
41 | 用 Kotlin 改写现有工程" m/ A9 P6 ^- t& e
42 | 滥用特性的后果:没人懂的代码1 V" i5 z" `9 ?- l
第五章 :Kotlin 跨平台篇 (8讲)$ W) F* R1 Z0 Q" n( _0 ^
43 | Kotlin 服务端开发框架5 z% u- k' X2 E, [/ \6 o
44 | Http Servlet 创建 Kotlin 版 Web 应用0 y" i/ q5 ^7 e
45 | Spring Boot 创建 RESTful Web 服务
, e! e2 |- r3 r) u9 F& I S& v46 | Kotlin 开发 Web 前端
& a% V7 [+ m* H47 | Kotlin Native 开发
2 G+ A: U8 ?9 x9 m48 | 创建 Kotlin Native 基础库0 R* C! v# Y0 V9 m& L: i! Z
49 | 如何用 Kotlin 实现 Android MVP
1 E4 U, e S: w1 j+ K50 | Android MVP 的 Kotlin 代码" S) |. R: k8 ? U
4 ^& f2 y g: P }
. n/ F+ \: X; y* p9 l
2 b) j" b4 k( S. ~ |
|