|
|
本课程分为三部分。
+ x2 C: p+ q8 s) a6 X 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。0 l! U* T0 d3 C: t- E' I
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
. e9 x/ N& g D 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
1 `; ~- R/ }3 R4 Q# V课程目录:, `% ]" ^8 k9 u
第一章:快速上手篇 (12讲)
. a7 `$ k3 e% L+ W. f# y' c01 | 讲给你的 Kotlin 快速上手课程3 l# {0 t$ D# x. J* t5 f
02 | Kotlin 最基础语法
( w; F. S2 a" \) @' S1 a. [03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
; a' c m2 L: c3 L04 | 新手使用 Kotlin 常碰到的问题$ ?$ q! j' L0 v2 d) s
05 | 函数也能嵌套?这个特性要注意
8 X" U) |( | P: q( D4 l, f3 a06 | 用扩展函数简化代码调用
0 g9 K# O/ ]9 R' w) t5 X7 J07 | DSL的基础 : Lambda闭包的语法
W$ W( ^/ F) l8 O* n08 | 函数的参数是函数 : 高阶函数的注意事项$ {% e) Y8 a9 c
09 | 创建对象的关键 : Kotlin的构造函数
0 w% b/ I5 s C* K& {: J2 k! d& x10 | 伴生对象 : Kotlin 特有的单例对象- O& y) Z% u8 E! Z
11 | by关键字的使用
# S2 }6 n0 `' U4 _' v12 | Kotlin 独有的特殊类7 ~0 h2 O4 L; _0 W; O' `3 |
第二章 :深入学习篇 (13讲)
* T+ @5 w0 B) c# [. }) K) d2 i13 | 解构 : 特殊的数据拆箱方式* a- t- S: ^3 X5 \' T- X
14 | Kotlin 的循环语法
2 Q, X% q* z \+ t* V- T15 | Kotlin海量的集合操作符% @; U( M2 F- \! k7 f
16 | 作用域函数 : 你会爱上的自带函数- `, m6 B3 E) B3 G* m2 u$ m" A/ \3 Z
17 | 运算符与中缀 : 定义你的专有运算符7 P w# o% o) ~" p5 Z1 ^. F+ n
18 | 神奇的符号 : Kotlin 的反引号 n% ~& S: Q# ]
19 | DSL 是什么,原来早就用过了9 R% x0 `# X6 C9 y0 X+ S+ {5 m% c
20 | 构建 DSL 的常用方式
1 r3 P: K- D) [: m/ d7 e( M21 | 定义自己的 DSL h0 r: e5 B: L* S/ w8 A
22 | 理解 Kotlin 中的常量与只读1 W" b5 c1 B5 U* N
23 | Kotlin 的空安全是如何实现的
+ d, i* t3 h' h: t. [24 | Kotlin 内联 : noinline与crossinline
0 F( p* S3 }; _! O25 | Kotlin 的真泛型与实现方式0 }: j& v/ H+ ~
第三章 :扩展库篇 (14讲)
) j" H% W- e. K9 [; b7 Q# b v- |26 | 协程 : 提升性能的利器
G, d) N# i& f' Z. d' z P( r27 | 在Kotlin 中使用协程
1 G: q' ~8 G" }8 v/ F0 \+ Z+ ?% Y/ a+ F28 | 协程的启动参数. H; ]8 V/ r( p8 }/ e5 u
29 | 协程的语法糖- c1 g: r. c1 V, r
30 | suspend : 知其然知其所以然
, t2 r9 e/ Y: z31 | 协程的内部实现原理
' E, j4 Y& W- F& R$ W( l4 p# H32 | 动手设计Kotlin 协程的yield
' i! F/ Y7 a. e8 d33 | 协程通信:Channel的使用
' |0 N* c/ M) m% M9 |5 w. O& X34 | 小结 : 动手设计Channel版的EventBus
- f" {: ^' s4 H P. @9 B35 | NIO 与 BIO
9 M0 d2 p& O5 z* m36 | Kotlinx-io 的对象缓存池
3 X# C1 f- R+ |( @# d1 B37 | Google 推出 KTX 的目的
& W$ h/ r% A& g7 B7 ~38 | KTX 的实现
- _$ M& \- L- B2 j& I8 g. [39 | KTX 小结
' h) e+ t0 c# r4 N- m0 K8 |$ {1 j第四章 :团队协作篇 (3讲)
/ d: n( P4 y1 m; e% [5 b. ~40 | 在团队中使用 Kotlin9 r+ ^7 K6 h/ k% d- h+ z i g
41 | 用 Kotlin 改写现有工程; K! e ?+ ^8 S5 V O; h
42 | 滥用特性的后果:没人懂的代码
7 t+ o- `4 l. d' D) \5 h3 j! f/ n第五章 :Kotlin 跨平台篇 (8讲); J8 W7 F8 I% x- u) H
43 | Kotlin 服务端开发框架" }% S1 K. w5 |
44 | Http Servlet 创建 Kotlin 版 Web 应用
" N9 H0 B$ T9 z45 | Spring Boot 创建 RESTful Web 服务0 }( m8 ?- F6 A! [; X) q6 f
46 | Kotlin 开发 Web 前端" H+ t6 z6 l8 R V/ I
47 | Kotlin Native 开发
0 K& N( |+ u; B+ d: p" ]- @48 | 创建 Kotlin Native 基础库8 M& j- y$ ~2 C( L9 N) p% g& o
49 | 如何用 Kotlin 实现 Android MVP! G. ?. y6 P' F
50 | Android MVP 的 Kotlin 代码 {+ y2 W% G( @& E8 _
. F9 P N" p4 w
6 O$ G; K# p5 y; q5 {
* o3 Z2 G% B7 l+ C3 y
|
|