|
|
本课程分为三部分。' o1 Y0 B, j1 [6 e. i% ^
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。& t2 I3 k, C; _7 y) F e2 Y
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
6 \ O+ k" u) F 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。2 {6 \& l5 @3 _' S2 V+ m/ C; h
课程目录:
' j7 L8 m# ?8 }: ]! U" z; K7 b第一章:快速上手篇 (12讲)
$ o+ m$ X) a9 \! }) c1 m- E, @* s) ^01 | 讲给你的 Kotlin 快速上手课程
+ p% i( G% J3 h+ V02 | Kotlin 最基础语法3 \! A( {! w. h& t. Z
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?" l) ?% [+ Q% F" Y- B& \, [8 x. E8 Q
04 | 新手使用 Kotlin 常碰到的问题
% Z. ^. H/ r, a) y. ]. }. ?" N05 | 函数也能嵌套?这个特性要注意: Z4 P9 z8 ~ _* a
06 | 用扩展函数简化代码调用
G6 G, s% ?% t& `3 K07 | DSL的基础 : Lambda闭包的语法
3 m& p2 i7 u3 B1 ~/ E4 o+ E6 Q08 | 函数的参数是函数 : 高阶函数的注意事项) f2 E- X0 d( b
09 | 创建对象的关键 : Kotlin的构造函数3 ^" L. E3 E2 M5 \( o
10 | 伴生对象 : Kotlin 特有的单例对象
5 x/ E q5 }* d11 | by关键字的使用; n! b B# N3 ^
12 | Kotlin 独有的特殊类: `4 r% s, r t W4 G+ o5 ^
第二章 :深入学习篇 (13讲)
3 H, q/ r9 O9 b+ B) S Z13 | 解构 : 特殊的数据拆箱方式
+ m: z! m/ b/ y" p+ j/ X+ v14 | Kotlin 的循环语法
+ O1 L* M) w: d) S P0 Y$ Z" o4 P15 | Kotlin海量的集合操作符
, ?3 w, y5 }4 o, l' |* w16 | 作用域函数 : 你会爱上的自带函数
( m2 x7 y# X6 C, K3 u' f17 | 运算符与中缀 : 定义你的专有运算符
7 U9 x: P9 x9 V8 ~. a7 _6 A18 | 神奇的符号 : Kotlin 的反引号6 w6 V3 i6 N: f& @
19 | DSL 是什么,原来早就用过了
& r' C; e& j5 @- D' P20 | 构建 DSL 的常用方式
! G) u0 q. P, l7 [/ L5 [21 | 定义自己的 DSL5 T6 A& p. N U) q( `
22 | 理解 Kotlin 中的常量与只读9 \! B4 Q- a+ s$ c
23 | Kotlin 的空安全是如何实现的* g% J/ n+ Z9 ?6 u d/ B4 u
24 | Kotlin 内联 : noinline与crossinline3 w& i2 [" _$ U1 E2 Q! B8 f9 V6 m* a
25 | Kotlin 的真泛型与实现方式
0 g# R) {) v! n/ O/ A' A4 v第三章 :扩展库篇 (14讲)0 _$ ^- q- e4 T6 K( ]$ ? @9 H
26 | 协程 : 提升性能的利器4 r$ @9 h/ w# e3 m$ f
27 | 在Kotlin 中使用协程' K8 l# C6 y$ w: b( X) }
28 | 协程的启动参数 h: e* T: X: c
29 | 协程的语法糖& R: @3 @% N0 Q% s" Y2 M$ S! d4 B
30 | suspend : 知其然知其所以然/ y: D n9 {- @. c8 ]( c! b/ B
31 | 协程的内部实现原理, d9 T2 r/ t* T; R
32 | 动手设计Kotlin 协程的yield5 O$ t, j& y4 z6 k6 l
33 | 协程通信:Channel的使用1 m: O: G& `7 o( p
34 | 小结 : 动手设计Channel版的EventBus
. `1 @! N3 k; u9 B6 R35 | NIO 与 BIO
3 F5 B8 Z- p2 Y F- d7 J36 | Kotlinx-io 的对象缓存池, H7 |+ i/ R7 C `
37 | Google 推出 KTX 的目的6 ~! {7 w$ r, c+ x |: ^8 d1 p# C: C
38 | KTX 的实现 C7 d1 P, l, C# M/ u- z: Z
39 | KTX 小结- P3 j5 C3 E. r+ y
第四章 :团队协作篇 (3讲)
1 D* A9 U. k. ]) }; K3 N40 | 在团队中使用 Kotlin' a0 E" U& f# e
41 | 用 Kotlin 改写现有工程: {* _) @( B1 P( r' }0 _
42 | 滥用特性的后果:没人懂的代码
' l) }! `7 _3 Q5 M1 v" U2 A第五章 :Kotlin 跨平台篇 (8讲)
7 ]6 F8 F1 M4 c43 | Kotlin 服务端开发框架
( H0 r; s; H3 c) P* i+ _* I' H l5 O44 | Http Servlet 创建 Kotlin 版 Web 应用
. i- o" A2 P& q8 c4 a! w45 | Spring Boot 创建 RESTful Web 服务
# a/ u/ ^! |. L; j, R+ O7 A( f& Z0 x46 | Kotlin 开发 Web 前端
1 x* \4 G' X& r2 ?& }+ }' d2 c47 | Kotlin Native 开发& q: i h0 U& d" ^- X7 l8 U W
48 | 创建 Kotlin Native 基础库- z. Z5 {' Y v8 |
49 | 如何用 Kotlin 实现 Android MVP& e( F1 N# c u( W1 P
50 | Android MVP 的 Kotlin 代码6 |% f: J$ Q' t) \, z
: Y8 D4 j" @; r# }
. c8 S+ A& ^; e- |. a" |1 i
4 Y6 F# h7 X) a d. J @/ P7 E& j |
|