|
|
本课程分为三部分。* _' s6 k: D7 K
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
4 a5 g$ I5 W" r. P( H w 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
% F, h) _/ v# K 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
4 V9 l ~% B9 a& Q G( [. n课程目录:
* J2 _ d1 L+ w* f, h第一章:快速上手篇 (12讲)# z) Z! y7 I# _; F
01 | 讲给你的 Kotlin 快速上手课程$ f% D1 J. y1 z$ {( `# r- N
02 | Kotlin 最基础语法
3 Y5 s7 E L/ \! _9 q# ?1 I) M03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
) i2 o3 d& o' {5 d' o04 | 新手使用 Kotlin 常碰到的问题
5 B' t3 X8 D. Z0 C/ l2 h5 b05 | 函数也能嵌套?这个特性要注意
& F( L6 L2 |$ {06 | 用扩展函数简化代码调用
8 |! X; [. y) i m" L, D5 ?$ w07 | DSL的基础 : Lambda闭包的语法
9 o- ^- K% ~( s08 | 函数的参数是函数 : 高阶函数的注意事项
9 e" w( L; \) y+ n' H; B& X09 | 创建对象的关键 : Kotlin的构造函数) a; `7 v) F1 B0 {- G- n
10 | 伴生对象 : Kotlin 特有的单例对象
8 j6 m7 ` F8 h4 y11 | by关键字的使用3 I0 u) h6 ^3 q) I9 j8 F p
12 | Kotlin 独有的特殊类/ { n7 K2 }, ^- [& d8 f
第二章 :深入学习篇 (13讲)! ?2 `# `# J, T F _
13 | 解构 : 特殊的数据拆箱方式9 A4 W1 n- t& e% L5 v+ @
14 | Kotlin 的循环语法
% s; S- k1 O6 m! [% [7 V15 | Kotlin海量的集合操作符, O8 s2 o+ Z3 ^. r+ p! h c' B! Q
16 | 作用域函数 : 你会爱上的自带函数
, C9 }( P. C# T. Q17 | 运算符与中缀 : 定义你的专有运算符; Z+ K& ^4 }0 G) U( z& m( ]
18 | 神奇的符号 : Kotlin 的反引号
3 t5 |# E$ b0 _8 ^3 R& U8 t l19 | DSL 是什么,原来早就用过了9 J0 O) m& c! o- \% O8 N
20 | 构建 DSL 的常用方式% ~) l5 a2 ~0 P& R0 G! W0 I9 c
21 | 定义自己的 DSL, p; O# y) M3 Y* J! I* }5 F" B
22 | 理解 Kotlin 中的常量与只读+ Y6 n* p ^6 ^" e
23 | Kotlin 的空安全是如何实现的4 g' N* J8 ~4 K" M- c( y
24 | Kotlin 内联 : noinline与crossinline
- T& ]" D' O, j4 [2 e25 | Kotlin 的真泛型与实现方式
) k5 H* b, X) x" l, l第三章 :扩展库篇 (14讲)
9 F: }' [ i- Q6 V26 | 协程 : 提升性能的利器
* m2 P X, E' x+ } h* L. ?# Q. G27 | 在Kotlin 中使用协程
3 m0 q* p" q6 _6 G1 q9 z: S* G28 | 协程的启动参数
$ z# V& @# L0 }! f( Y: h: _5 ?29 | 协程的语法糖. o6 l" A5 z/ S- y+ A
30 | suspend : 知其然知其所以然
+ [5 |# @: y s, Z31 | 协程的内部实现原理 W0 t+ k: O* {: a# m: \! A
32 | 动手设计Kotlin 协程的yield7 a& N' b8 ^, q( U' L2 \
33 | 协程通信:Channel的使用
: Q, u/ `# K, T D( Z4 H34 | 小结 : 动手设计Channel版的EventBus
* f E/ ?4 w. i# p4 c3 y35 | NIO 与 BIO6 ]4 h! N& F8 D: m8 d! c
36 | Kotlinx-io 的对象缓存池; C0 B0 t& s. q, L) [7 f
37 | Google 推出 KTX 的目的
# T6 k; l+ {7 j) w+ Y38 | KTX 的实现% v. `" e# N) |; v, o
39 | KTX 小结7 s5 r8 U% e3 ~- K' j
第四章 :团队协作篇 (3讲)
* t( ~+ x$ F6 p* g40 | 在团队中使用 Kotlin
& ?. W9 \# b' g. j41 | 用 Kotlin 改写现有工程
- B% ]' |/ n8 m* j0 e# y8 l42 | 滥用特性的后果:没人懂的代码
6 C* B3 k8 }4 m' j第五章 :Kotlin 跨平台篇 (8讲)
$ S7 O# U! N3 ~43 | Kotlin 服务端开发框架2 o4 X2 l, M& y
44 | Http Servlet 创建 Kotlin 版 Web 应用
- j: D/ T2 U( f. G- ^" G/ V+ ~+ N45 | Spring Boot 创建 RESTful Web 服务- a$ H" o* H1 c! Z: Q! k! ]
46 | Kotlin 开发 Web 前端5 x) O9 Z1 Y- W0 }
47 | Kotlin Native 开发
% J# f0 C3 N. J0 l48 | 创建 Kotlin Native 基础库
8 r/ O. f: y) Q% l5 z/ D' ~2 d3 _. Q49 | 如何用 Kotlin 实现 Android MVP
1 g: a% u: W' ?1 x; m50 | Android MVP 的 Kotlin 代码
* Z! o7 X [3 i+ Z+ `9 T % x2 f) {9 o0 G& s# m0 ~& @8 j
# q; w/ X- w0 y+ Q
) |: V5 V5 P/ J5 } |
|