|
|
本课程分为三部分。3 d2 v1 W/ e( K/ s+ V5 P
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
. Y' n8 G A7 D5 {- k( S: B2 O" R; X5 v 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。2 A$ c9 Y, w6 w0 K9 J
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。" K% U7 |6 A3 u8 g# u. V. k" L
课程目录:
" b8 s1 H: ^1 x* z+ E# L$ n2 U! b第一章:快速上手篇 (12讲)
5 ~! h: x3 b/ M01 | 讲给你的 Kotlin 快速上手课程
1 j; I6 j" T' N$ c' W02 | Kotlin 最基础语法& E c$ q9 Z c8 Y8 [* t0 B
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?% v+ J$ Q7 X: o. e+ d2 Z
04 | 新手使用 Kotlin 常碰到的问题3 q/ h5 C- \1 [& E+ g- e) R* @, e
05 | 函数也能嵌套?这个特性要注意' \4 P3 {( X5 [8 P% h+ E9 g
06 | 用扩展函数简化代码调用6 l( D6 B0 W7 ~; ~, m- z
07 | DSL的基础 : Lambda闭包的语法! r9 j+ d6 ~2 h. b" G' N
08 | 函数的参数是函数 : 高阶函数的注意事项
& [8 C: _# J" p ]& p& ~09 | 创建对象的关键 : Kotlin的构造函数9 ?% @- U, B% f% u' Q
10 | 伴生对象 : Kotlin 特有的单例对象
* \3 ~, H0 @9 b" X6 {) \* \11 | by关键字的使用; `- N% A0 V$ W
12 | Kotlin 独有的特殊类& ^7 k! ^3 B; s! d3 [! I+ W( Q
第二章 :深入学习篇 (13讲)% L# E& t2 h' n/ V' H& ~
13 | 解构 : 特殊的数据拆箱方式
8 j( Q0 F5 ]; A* I14 | Kotlin 的循环语法0 H2 I0 b6 U4 S7 q, o1 E7 G& y
15 | Kotlin海量的集合操作符
]. F* Z5 R% ~8 A16 | 作用域函数 : 你会爱上的自带函数
' G. |- a* P' u% a2 Z, E+ L17 | 运算符与中缀 : 定义你的专有运算符
0 `* k D4 k& ?9 z8 u5 k8 v18 | 神奇的符号 : Kotlin 的反引号1 W- P1 O- w' b; ^% ^
19 | DSL 是什么,原来早就用过了1 _ M2 d1 k2 I
20 | 构建 DSL 的常用方式
4 K! M) [9 ]6 B' b21 | 定义自己的 DSL; H1 q; B% R: v1 H
22 | 理解 Kotlin 中的常量与只读- y6 z1 \9 n& b; ~
23 | Kotlin 的空安全是如何实现的* n `+ P- J3 S* S3 v. T
24 | Kotlin 内联 : noinline与crossinline: n M) f' w" Z9 k; D
25 | Kotlin 的真泛型与实现方式
: g) K- D1 f" M3 A第三章 :扩展库篇 (14讲)
" `+ e$ v% \- G- g: G26 | 协程 : 提升性能的利器
4 t( e# Q% h. |, l& f/ R27 | 在Kotlin 中使用协程4 P: F: z' e7 q) T9 G
28 | 协程的启动参数
+ ^/ `& p& \5 N29 | 协程的语法糖
5 |' s1 T8 Z, i: W% h/ Z r% _7 W30 | suspend : 知其然知其所以然
+ K. }5 z, v) w' T$ r1 J31 | 协程的内部实现原理
$ |8 ~9 Z. i- ~, t2 }4 i32 | 动手设计Kotlin 协程的yield
" a$ u+ C. ]- _+ s" a33 | 协程通信:Channel的使用" n2 L: J) v0 |6 K
34 | 小结 : 动手设计Channel版的EventBus
# J: ^3 R! B5 R) t% _! Z35 | NIO 与 BIO* g$ c# T0 D+ m' [7 J! Q9 S( k) `
36 | Kotlinx-io 的对象缓存池/ r- I0 H6 V. t5 o, Q0 s1 K
37 | Google 推出 KTX 的目的; s A' ?- G' m( G5 g" ^
38 | KTX 的实现
# V0 Z) e8 H& ~4 g' g- L3 l/ s, C& U3 H39 | KTX 小结
9 v# A+ j1 {! w; K第四章 :团队协作篇 (3讲)
, [! U# v* g- L1 I% d8 F40 | 在团队中使用 Kotlin% I/ d, ~8 W4 u$ v0 C' I3 n5 R7 s
41 | 用 Kotlin 改写现有工程* ^) [9 ]2 t5 B) c
42 | 滥用特性的后果:没人懂的代码
, _% ]# c7 N) D第五章 :Kotlin 跨平台篇 (8讲)
0 t+ M. M4 C) k+ T* q43 | Kotlin 服务端开发框架9 {/ Y; J p% Y& {% @
44 | Http Servlet 创建 Kotlin 版 Web 应用* o& R" o e' g
45 | Spring Boot 创建 RESTful Web 服务
' d1 Z, c3 D" [$ x0 d46 | Kotlin 开发 Web 前端 J; e1 r J S3 ^0 m
47 | Kotlin Native 开发
4 Q) X4 @ U; R+ L; F0 e48 | 创建 Kotlin Native 基础库! Z ?. D$ t0 v0 l7 N( k" f) U
49 | 如何用 Kotlin 实现 Android MVP
* _1 _2 m- v* r+ g: h1 A7 E50 | Android MVP 的 Kotlin 代码9 f! O$ Q& p( n) U; J
* P1 I7 o9 K& W+ ?6 ~, v
, r! a6 p% I4 q$ [1 I6 `
. |. n8 r! Z$ c& m" r! f5 W# T" P |
|