|
本课程分为三部分。
, T& r! e( A/ m 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。6 j% W5 Z; w$ k( D+ \( G
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
9 X* S' w+ f; v8 y; d4 G0 z 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
, Y( i# z0 \6 f课程目录:) d/ }& h2 ^, [+ r) t
第一章:快速上手篇 (12讲)' Q3 L: b/ Y' s
01 | 讲给你的 Kotlin 快速上手课程
* w( C) {+ M: \& m% r# P( P02 | Kotlin 最基础语法: q- N O0 `% |
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?2 o9 w+ \7 n& @6 v8 G
04 | 新手使用 Kotlin 常碰到的问题
, s' ]0 f. a% U' D* s( o; h7 W. S4 L05 | 函数也能嵌套?这个特性要注意
- G! P) Q- e/ b1 n. v: Q5 c06 | 用扩展函数简化代码调用* l1 z! f" y; j; o' t3 g
07 | DSL的基础 : Lambda闭包的语法
: S+ A# r) O: R4 X4 r9 x- t08 | 函数的参数是函数 : 高阶函数的注意事项: t* t# T3 j r" K5 k8 S
09 | 创建对象的关键 : Kotlin的构造函数* D) W2 ^- U0 Y) l
10 | 伴生对象 : Kotlin 特有的单例对象0 z. Q2 j/ R5 X, q) P6 a9 i5 [" ]
11 | by关键字的使用
9 p2 X# q) P$ B; q12 | Kotlin 独有的特殊类3 x3 n% V- j8 g; r
第二章 :深入学习篇 (13讲) U/ A$ g" a& d" q& ^6 L5 _
13 | 解构 : 特殊的数据拆箱方式
, r) k; T; N1 h14 | Kotlin 的循环语法
6 {3 g% `, q. k/ I0 W! f15 | Kotlin海量的集合操作符
9 s8 P# u0 J$ e1 Q0 {6 n. b16 | 作用域函数 : 你会爱上的自带函数, R+ p4 d4 G: q' ~; k
17 | 运算符与中缀 : 定义你的专有运算符
- ] t+ }* ^( U& H18 | 神奇的符号 : Kotlin 的反引号+ Z' k* M* R/ N
19 | DSL 是什么,原来早就用过了4 ^% g9 O6 v7 a B1 j2 j8 Y* V' k
20 | 构建 DSL 的常用方式
$ w2 y4 p; e! c6 I! F- f. s2 ^21 | 定义自己的 DSL) c" ]' s/ K/ e# o+ \
22 | 理解 Kotlin 中的常量与只读9 H5 T4 Z9 x8 A: M: m5 T/ C9 S
23 | Kotlin 的空安全是如何实现的& @- e) H0 N6 u2 Z+ [
24 | Kotlin 内联 : noinline与crossinline
2 z6 X! k0 E3 j8 F25 | Kotlin 的真泛型与实现方式
$ S/ Z: q& O! d第三章 :扩展库篇 (14讲)
: ?, Z; O6 V4 O( X' O% r( l26 | 协程 : 提升性能的利器
( O' V6 q" ^5 N2 p# F27 | 在Kotlin 中使用协程6 |( n) ]* k, N) @1 ~
28 | 协程的启动参数
. m* w( q% n2 q% G Y' z29 | 协程的语法糖
, r0 u8 K2 A$ |30 | suspend : 知其然知其所以然& f! w9 K5 v9 {, y0 k+ g
31 | 协程的内部实现原理
4 e! U; t- l6 g2 i2 u" B+ h: P32 | 动手设计Kotlin 协程的yield
2 @8 @8 w0 o7 H1 w- @33 | 协程通信:Channel的使用
% z' w! ]- ~0 U) T8 Q+ u: h34 | 小结 : 动手设计Channel版的EventBus
1 S% u: {# d3 e+ Z35 | NIO 与 BIO
V8 k2 j( @3 x, x5 R36 | Kotlinx-io 的对象缓存池
2 i: a7 [% p; B8 j" S37 | Google 推出 KTX 的目的6 ~! b, C8 `7 J
38 | KTX 的实现
8 s o/ a S% E0 V; H6 w0 s: W39 | KTX 小结
3 M9 X- F1 L6 u( \: V) h第四章 :团队协作篇 (3讲)
$ o- J B; ~* C3 _$ D40 | 在团队中使用 Kotlin
' d9 r# V& W O# t) p41 | 用 Kotlin 改写现有工程
$ X8 o$ ^2 J# r) h$ d) m42 | 滥用特性的后果:没人懂的代码
: T* [- t# g1 B1 v. [4 ?- }第五章 :Kotlin 跨平台篇 (8讲)
; O$ w+ U' U( |7 N" ^43 | Kotlin 服务端开发框架) p1 f6 d5 H' h; W. V6 }* v
44 | Http Servlet 创建 Kotlin 版 Web 应用9 u9 f$ i+ X/ Q
45 | Spring Boot 创建 RESTful Web 服务
$ n6 |0 z& G, Z+ u1 F, P46 | Kotlin 开发 Web 前端
3 n2 A3 P# S9 J6 `& n47 | Kotlin Native 开发' J @2 L- J/ E* a
48 | 创建 Kotlin Native 基础库
- n2 |8 x* m! R! u+ L7 k6 y49 | 如何用 Kotlin 实现 Android MVP
" S( _& R9 u n50 | Android MVP 的 Kotlin 代码$ p; o: A! a- v/ M( P7 }
! `2 b% i& c. W2 A. B O, Q% d' ?
6 x) _9 f3 a# p) y; d1 S* e1 M4 B' T6 w* N) I$ g
|
|