|
本课程分为三部分。! [1 R* \; C' n0 ] i" l
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。' o% I4 i& o8 k/ d# P: O" J
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
2 L# j+ h. [' [( J" t. N 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
9 F' I# o/ R$ ^. t M课程目录:. H4 E$ b: j# a+ s# x
第一章:快速上手篇 (12讲)6 [1 V+ J( J. M" c D2 K$ X1 q
01 | 讲给你的 Kotlin 快速上手课程
) g) `2 X7 Y* Z( @7 v, @ c" X02 | Kotlin 最基础语法
- T' n( Z7 S' `4 @/ d$ U. Z3 v03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
. q. q. Z, K! W- R0 [: u04 | 新手使用 Kotlin 常碰到的问题
" w9 T1 I; \$ G4 o& Q8 X05 | 函数也能嵌套?这个特性要注意
' x& W2 z7 c# V" s+ p06 | 用扩展函数简化代码调用6 m* }% [* `5 h9 n, l3 ^
07 | DSL的基础 : Lambda闭包的语法
) N4 s# l% R! l2 E7 k9 O5 L: n08 | 函数的参数是函数 : 高阶函数的注意事项
6 j& n7 ? b1 \* l5 H: \( G09 | 创建对象的关键 : Kotlin的构造函数
/ r4 a. d6 r3 U6 D, I9 T10 | 伴生对象 : Kotlin 特有的单例对象
& S' _1 y0 r" n2 b; m+ J& \11 | by关键字的使用, w/ t" N7 u* e/ O
12 | Kotlin 独有的特殊类
; P! Z/ l: K- d, q" ` g. ^4 D第二章 :深入学习篇 (13讲)4 X1 v+ J+ d2 ~, [1 x v
13 | 解构 : 特殊的数据拆箱方式
* I' g3 [3 V& b, v6 D14 | Kotlin 的循环语法- l2 W; F5 g! Q; X
15 | Kotlin海量的集合操作符# F& n9 T2 g3 y/ G& R. c
16 | 作用域函数 : 你会爱上的自带函数$ ^4 A7 V; ? x* U* X
17 | 运算符与中缀 : 定义你的专有运算符, x) O8 R* |8 F* W% q
18 | 神奇的符号 : Kotlin 的反引号- J5 ^, o) Z7 `% l" z' U' M
19 | DSL 是什么,原来早就用过了; y( B& l, E/ F; V2 e& O
20 | 构建 DSL 的常用方式
2 [1 o1 R* u2 ~ @21 | 定义自己的 DSL4 {# ]7 h0 J7 X2 l% b8 d- ~
22 | 理解 Kotlin 中的常量与只读/ H' c g! ?2 F. I r
23 | Kotlin 的空安全是如何实现的* `$ X+ U a9 z S }" n% Z6 A
24 | Kotlin 内联 : noinline与crossinline" y4 c9 J7 L& C1 _. Q
25 | Kotlin 的真泛型与实现方式
9 o% G' N2 l4 U8 C2 R第三章 :扩展库篇 (14讲)
" I9 w& y7 J2 ?0 q" O26 | 协程 : 提升性能的利器
/ D' r6 g" f* u27 | 在Kotlin 中使用协程
+ X" g2 g$ K( b, z9 m d! z) W28 | 协程的启动参数/ q. k) Q! N9 ?% P4 J! \6 ]" h6 S
29 | 协程的语法糖0 L8 N O8 N1 Y# P
30 | suspend : 知其然知其所以然( n) B H+ c5 Z! J6 `
31 | 协程的内部实现原理
$ [3 F) x1 A* K6 M( |! Q32 | 动手设计Kotlin 协程的yield- H+ }* a% c+ n: d; K+ {+ X
33 | 协程通信:Channel的使用
, i- i/ C+ F6 x34 | 小结 : 动手设计Channel版的EventBus1 K; I3 T6 b6 p
35 | NIO 与 BIO
, A) U3 @1 z9 o* {+ ?: ]0 A36 | Kotlinx-io 的对象缓存池
0 x0 m/ A. k% r( o. J: s% [37 | Google 推出 KTX 的目的 m& Y8 D% y) R
38 | KTX 的实现
: S0 I% x; J' }5 `4 C+ ?! |2 e39 | KTX 小结
/ }7 W& A2 x3 P; L1 X$ m- U第四章 :团队协作篇 (3讲)
& I! R: {0 i' J: L, n40 | 在团队中使用 Kotlin& n* Z: Z. c1 i7 c* p
41 | 用 Kotlin 改写现有工程+ ~& n8 r1 h& o) q# o* A- b& i/ y
42 | 滥用特性的后果:没人懂的代码" D0 v! \$ \7 I" e& y
第五章 :Kotlin 跨平台篇 (8讲)# n) L q7 I( ~0 O6 t1 V
43 | Kotlin 服务端开发框架; t$ F& U& C3 h: E: y4 O7 j
44 | Http Servlet 创建 Kotlin 版 Web 应用: v4 G( w/ p: p3 y' p& O
45 | Spring Boot 创建 RESTful Web 服务. @6 C5 b3 v- x: Z; I9 q4 D
46 | Kotlin 开发 Web 前端) R# K7 b: u- \( e0 L, _' H2 g8 E
47 | Kotlin Native 开发
) [2 M1 H c1 O& M" T48 | 创建 Kotlin Native 基础库, I, v1 N2 G, p7 P
49 | 如何用 Kotlin 实现 Android MVP
/ c* O* `) N/ g, i8 p" [5 L50 | Android MVP 的 Kotlin 代码' J; w$ ~1 a& q7 ]) B. v
l2 O* B# Z: { z
3 h& W( [- }5 E c C4 u) b* x% x6 s9 L2 ?+ R
|
|