|
本课程分为三部分。
) ^) E9 U: M' _ 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
+ k5 C g K# ^3 I6 |# [# l 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
8 E" m Q' o- N' X8 J 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。1 _% n. }) I1 h9 c
课程目录:+ j2 M0 V* v' D% E, l) E( H
第一章:快速上手篇 (12讲)0 r* l" t) S: y* m: s
01 | 讲给你的 Kotlin 快速上手课程
3 x* Y; F7 B# R# C* _+ h02 | Kotlin 最基础语法
# B, j2 q, p1 u2 i0 Y% t6 H03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
1 L( W' k, ^; s( C5 ?! p8 \04 | 新手使用 Kotlin 常碰到的问题
0 t% p5 I. _% y8 h05 | 函数也能嵌套?这个特性要注意
1 i4 H, \. f& ~- W: \* @06 | 用扩展函数简化代码调用
$ j: B" S! G2 J% @( c07 | DSL的基础 : Lambda闭包的语法9 l6 \4 |% D/ k- s6 S
08 | 函数的参数是函数 : 高阶函数的注意事项
& E. g5 y' W. Z) I& P1 ~09 | 创建对象的关键 : Kotlin的构造函数
5 _) \% u7 b3 ]8 S( h/ [10 | 伴生对象 : Kotlin 特有的单例对象
- p7 A; P- q! @11 | by关键字的使用! B" G5 s. `; I7 r( A
12 | Kotlin 独有的特殊类
' f# w' G2 {' T( q+ ^$ I+ |& ^9 d第二章 :深入学习篇 (13讲)- F- q4 k* K3 v; S
13 | 解构 : 特殊的数据拆箱方式
# D0 b8 V* `) Q* ]! Y1 f. u14 | Kotlin 的循环语法
j/ o" w) d# o: w# D% }- P' @; E8 s15 | Kotlin海量的集合操作符
5 N# ]# `; y- ^ H16 | 作用域函数 : 你会爱上的自带函数 Y1 _6 t- q/ g. \
17 | 运算符与中缀 : 定义你的专有运算符% O8 i/ A, l8 S, Y
18 | 神奇的符号 : Kotlin 的反引号- J5 m& [. n3 [) y% [
19 | DSL 是什么,原来早就用过了0 p% S- E2 a" R" N/ D( [. y
20 | 构建 DSL 的常用方式
1 C6 P5 @8 \6 C0 Y21 | 定义自己的 DSL
( l. I2 _# J; q" f& ^/ R9 C8 ?22 | 理解 Kotlin 中的常量与只读$ _- {1 F9 F' n0 b# p: Y9 ^ N
23 | Kotlin 的空安全是如何实现的' V7 ^2 V. A+ \% t% k1 B
24 | Kotlin 内联 : noinline与crossinline
@ c4 c$ l0 l* B25 | Kotlin 的真泛型与实现方式( L3 B; K6 U/ h/ @' {* l4 U1 \/ T; Q
第三章 :扩展库篇 (14讲)
4 E' ]( w" y+ P, B# K5 W26 | 协程 : 提升性能的利器5 A/ ]% p- s; v q* s
27 | 在Kotlin 中使用协程
9 c& c. m# k0 s- M: ]9 @28 | 协程的启动参数
" \: x( ^1 n& P29 | 协程的语法糖
5 t: i, |% }' D/ ?* e; P30 | suspend : 知其然知其所以然8 J, C+ b, o" d
31 | 协程的内部实现原理) F* v) I) T) @' J/ e& ]! e* c
32 | 动手设计Kotlin 协程的yield
# d+ y. ]% k6 z, u/ t3 X33 | 协程通信:Channel的使用& }: }" W. }' P8 `, I. f
34 | 小结 : 动手设计Channel版的EventBus/ R: {2 D5 u; O2 M1 ^
35 | NIO 与 BIO
# i, G* p. _, k$ i ?36 | Kotlinx-io 的对象缓存池: U0 Q) l1 E, Z# A% c% l
37 | Google 推出 KTX 的目的
/ f2 h) T/ j- R J+ e5 J38 | KTX 的实现9 I" R0 c4 i* r; D
39 | KTX 小结
]7 l$ V# k w/ }+ v, g第四章 :团队协作篇 (3讲)
7 ^' e! N b1 g- P a6 L40 | 在团队中使用 Kotlin* z! z: w( b' A4 x" U9 F
41 | 用 Kotlin 改写现有工程- z( R& n7 ]8 |& H
42 | 滥用特性的后果:没人懂的代码- `8 K5 g' V2 ~# w$ `: f6 I
第五章 :Kotlin 跨平台篇 (8讲)& s4 U4 g& ?) j3 M$ U% J. f
43 | Kotlin 服务端开发框架9 B. [% |: K: _$ Q0 i
44 | Http Servlet 创建 Kotlin 版 Web 应用/ w% @: a2 O. u( L
45 | Spring Boot 创建 RESTful Web 服务
/ L0 ~& j, z7 l" v46 | Kotlin 开发 Web 前端
" t, z+ w7 D& M9 M( Z47 | Kotlin Native 开发
5 U1 \! y3 S; N/ s/ x G$ O48 | 创建 Kotlin Native 基础库. a% ^1 G& @& A! x
49 | 如何用 Kotlin 实现 Android MVP: a5 i1 v, s( G& U6 \( w
50 | Android MVP 的 Kotlin 代码
! `+ }5 h# n- b( a2 c; T $ J+ h7 I/ E, X3 X) v
/ A1 L$ k2 p! t! h; u5 X: n
8 e1 m' {1 f# {# j1 U
|
|