|
|
本课程分为三部分。3 @% }" @$ w4 L- l
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
. p. u3 _0 `, D 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。% U* C8 l$ Y y$ C7 d" b
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。 c |9 V! K6 l1 g: [7 ~% O. i8 Z
课程目录:/ |7 O5 }" r, [5 y' m9 V
第一章:快速上手篇 (12讲) G" I8 O3 p- S5 G
01 | 讲给你的 Kotlin 快速上手课程
. z, }- A8 J' k! r) T' U9 v3 S! P02 | Kotlin 最基础语法9 \6 ^) T+ F7 |! `* f
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?5 _9 F( w+ F- v, }
04 | 新手使用 Kotlin 常碰到的问题$ _2 T: C. ~1 B7 f4 w- W' O2 V
05 | 函数也能嵌套?这个特性要注意" D/ ~5 p4 ~8 g Y- k( j
06 | 用扩展函数简化代码调用) F, ]8 {$ E$ _, s( ^
07 | DSL的基础 : Lambda闭包的语法
: s$ d* Y4 T8 y0 f( a, {08 | 函数的参数是函数 : 高阶函数的注意事项
/ f% G1 K% `* ^) m4 |09 | 创建对象的关键 : Kotlin的构造函数
/ {! _1 J; f) Y1 r6 _10 | 伴生对象 : Kotlin 特有的单例对象2 L, J7 b2 L+ d5 d7 v" H
11 | by关键字的使用( b& P# @5 B/ \* M+ }$ t _; S
12 | Kotlin 独有的特殊类6 S5 H5 b4 v/ p. D! `
第二章 :深入学习篇 (13讲)% Y* F6 P0 R5 p6 ]
13 | 解构 : 特殊的数据拆箱方式
^( L( q/ ~9 o2 _4 o5 D14 | Kotlin 的循环语法5 Z5 w& g! E! O* c
15 | Kotlin海量的集合操作符
. t s' [+ {0 U% q' f& D1 A16 | 作用域函数 : 你会爱上的自带函数
' `9 q) Q+ ]: l3 s3 `17 | 运算符与中缀 : 定义你的专有运算符& Z1 `5 E# c; B) ?7 K( o
18 | 神奇的符号 : Kotlin 的反引号
8 ~- n2 [* t: i# X% R8 d3 C19 | DSL 是什么,原来早就用过了
& b: a, C6 ?9 ?20 | 构建 DSL 的常用方式
4 B& _1 l( a3 {8 m( I: Y21 | 定义自己的 DSL) {0 P5 ^: y+ P: q7 A. _
22 | 理解 Kotlin 中的常量与只读
5 a s. O7 W" u& j* W; Z23 | Kotlin 的空安全是如何实现的) b, ^/ W, g( ~+ p0 q$ R: C/ N
24 | Kotlin 内联 : noinline与crossinline
3 C9 I' }8 Y3 t# q25 | Kotlin 的真泛型与实现方式
: r7 C2 X5 j* \第三章 :扩展库篇 (14讲)
& c0 B5 @" r- m q: T- u26 | 协程 : 提升性能的利器( T) p* f1 i, j/ ]5 w
27 | 在Kotlin 中使用协程
! M, }3 y7 o/ c28 | 协程的启动参数
# P; V; w" `4 X( ?. x2 O3 Y: Z29 | 协程的语法糖
& s# c" [- [3 w# y- k2 z0 F; I& G30 | suspend : 知其然知其所以然& \( M; \9 I; i1 L9 c& ] b% T
31 | 协程的内部实现原理
& j' D4 n! B6 R5 g/ V32 | 动手设计Kotlin 协程的yield: a) \3 `+ l3 Q( O( @" n; t
33 | 协程通信:Channel的使用/ w7 s n0 T- m* c4 h+ k" C* a+ ?
34 | 小结 : 动手设计Channel版的EventBus. G' B( X- L' h! w' f+ Y& `
35 | NIO 与 BIO
2 H9 i' [/ [8 z0 g36 | Kotlinx-io 的对象缓存池
2 }# ]2 W9 O$ I/ N3 M8 Q. l& N8 u- ~37 | Google 推出 KTX 的目的4 ?/ |* E+ o) H; w6 C4 |' q+ |
38 | KTX 的实现
( z: V6 v+ {9 W* W% ?& r1 r& Y) u39 | KTX 小结4 q$ |1 G1 ?2 ?' z9 t0 W" O. t' ?
第四章 :团队协作篇 (3讲). M% p1 e0 @& M f5 o$ T
40 | 在团队中使用 Kotlin
8 s- v* x6 {9 a& }% R6 b/ `" K41 | 用 Kotlin 改写现有工程 N% W, B. _( b( G" b) A
42 | 滥用特性的后果:没人懂的代码
; J- A! n; E5 z& y第五章 :Kotlin 跨平台篇 (8讲)
' [; ^. E, q: r6 t43 | Kotlin 服务端开发框架; }6 T) n5 l8 P) `* I
44 | Http Servlet 创建 Kotlin 版 Web 应用
4 O9 o- ], p* m& c45 | Spring Boot 创建 RESTful Web 服务! h$ }8 q, b9 P/ S; l& X0 p
46 | Kotlin 开发 Web 前端 Y+ V7 R/ U+ j
47 | Kotlin Native 开发- f' R2 X6 s- s T m6 O& p
48 | 创建 Kotlin Native 基础库
: x' {% s/ K N9 ~8 e& c49 | 如何用 Kotlin 实现 Android MVP
( o3 [, T% E/ E( S50 | Android MVP 的 Kotlin 代码7 i2 U; V8 f8 V& w* w' ]
; k% _4 g2 x# X: S
* G6 b. ^$ u& {# G z5 ~
/ v1 }' B1 k: ~ |
|