|
|
本课程分为三部分。" O3 f# q! D$ c( m! g( A
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。0 U# G$ q" f" w9 y6 y E8 C9 T3 B
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
% } J! c" j; d- d, v% W6 ] A 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。; h1 p' @+ R6 n, W) A+ R" W
课程目录:( T& }2 i5 C) n
第一章:快速上手篇 (12讲)
9 U$ @, d q" h7 N$ }4 l7 G01 | 讲给你的 Kotlin 快速上手课程) _8 F2 p5 y) I1 l
02 | Kotlin 最基础语法
: Z; `" I; {. U' a7 l03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
I3 @) X8 J9 X0 O04 | 新手使用 Kotlin 常碰到的问题
! i" g' _: k. z5 s05 | 函数也能嵌套?这个特性要注意
# M! w9 u( i8 O$ w" o1 B# S06 | 用扩展函数简化代码调用
; B+ _8 |& L6 x6 r! ` H07 | DSL的基础 : Lambda闭包的语法
+ t* p1 e1 j$ \- m' ]; G+ a }08 | 函数的参数是函数 : 高阶函数的注意事项/ g. T3 K1 x' a) ~6 J. N$ m( L
09 | 创建对象的关键 : Kotlin的构造函数
& u$ H( L/ b; U; ^7 F10 | 伴生对象 : Kotlin 特有的单例对象
6 r& }7 q5 `4 W8 c- l1 @( A7 s/ k11 | by关键字的使用; y) ]; Z/ G5 p
12 | Kotlin 独有的特殊类; N# U0 z3 K0 u
第二章 :深入学习篇 (13讲)
% [% ^" l5 f5 G. O) t13 | 解构 : 特殊的数据拆箱方式
3 i7 `) n( C. ?6 a M$ l# R, n14 | Kotlin 的循环语法) ? ?" X. U$ o( D
15 | Kotlin海量的集合操作符
% `5 U- k2 X9 ^) E. L+ G& \16 | 作用域函数 : 你会爱上的自带函数/ f$ F5 R9 m0 c8 \
17 | 运算符与中缀 : 定义你的专有运算符9 X# P' }) B4 ]
18 | 神奇的符号 : Kotlin 的反引号
0 e8 c4 {1 c7 `19 | DSL 是什么,原来早就用过了9 T; f6 H N6 R( G( z* X* W, f m" b" a
20 | 构建 DSL 的常用方式
$ E) s, a3 W2 `# {; V21 | 定义自己的 DSL* }5 J, j$ q& A! n4 Q
22 | 理解 Kotlin 中的常量与只读
+ m/ z; Z( f9 a& P6 A23 | Kotlin 的空安全是如何实现的
9 I5 l4 d1 {, ~1 \# N24 | Kotlin 内联 : noinline与crossinline
" }1 a. E8 D# V9 a25 | Kotlin 的真泛型与实现方式# V7 D5 X. g$ M- q" k$ a6 I B; O
第三章 :扩展库篇 (14讲)" g5 C- T* M9 Z! ^, R: @
26 | 协程 : 提升性能的利器
+ R+ I/ C3 e- p7 P; k5 A27 | 在Kotlin 中使用协程
; H/ Y( V5 u7 s8 m" B1 ?- m7 |28 | 协程的启动参数
1 Z4 d( h* J* K G29 | 协程的语法糖8 O+ ~* w( B: t8 T( q" r. h
30 | suspend : 知其然知其所以然
8 C7 O( a! Z: d/ t# W2 I) O( Y31 | 协程的内部实现原理
- t/ n6 | d, F% l* i( ?! @32 | 动手设计Kotlin 协程的yield
, y8 e5 O5 S! }! w33 | 协程通信:Channel的使用; l+ E& ?9 J3 l- W4 _, d
34 | 小结 : 动手设计Channel版的EventBus) V* c! \' P- [0 G
35 | NIO 与 BIO! o/ _6 B& B/ G% O
36 | Kotlinx-io 的对象缓存池
; s+ C! ]2 ?$ V9 r8 b5 c2 B37 | Google 推出 KTX 的目的, [# g, R& m% d
38 | KTX 的实现
: w: `- ~2 \- i5 H% o39 | KTX 小结
* U; E6 H: Y5 ^- w9 [第四章 :团队协作篇 (3讲)/ C+ z- x& ^+ o" H; a. |
40 | 在团队中使用 Kotlin% G* | C3 u7 {, H x: [
41 | 用 Kotlin 改写现有工程0 p# X. s; N( G6 I
42 | 滥用特性的后果:没人懂的代码
# N4 k; w1 s6 U, V9 S7 N a& Y% R- q第五章 :Kotlin 跨平台篇 (8讲)$ w+ U9 W, c0 P# s
43 | Kotlin 服务端开发框架
$ N8 L9 P" D, ~6 h9 k44 | Http Servlet 创建 Kotlin 版 Web 应用
# T' f- H, h& Y4 s' q45 | Spring Boot 创建 RESTful Web 服务
5 Q9 h" f3 ?4 m7 j8 ^2 z! b, E! R! X46 | Kotlin 开发 Web 前端
6 F( d$ ^: L# r( ~; [: y47 | Kotlin Native 开发
; k& n' H5 u5 y( j- Q& l$ M# y48 | 创建 Kotlin Native 基础库- h: [ d0 I' X0 J) z8 W+ E
49 | 如何用 Kotlin 实现 Android MVP
1 V: ]7 J3 w% t% m4 R4 c/ k7 @& L: o50 | Android MVP 的 Kotlin 代码! M# Y( v! L, N# S' B
9 v5 M$ ~4 U+ u+ C. N& t
+ J F# \1 I& i* N/ f3 T
/ J" |1 y5 u+ J; b R0 K, E% l3 I: ^
|
|