|
本课程分为三部分。5 q3 h& j- p6 @0 P6 h
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。! H" T# T5 T1 n p8 [, E. s
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
% m5 s. K2 y' p, \9 c" G4 j. K 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。' p- T) P" a8 N" B# s! a' {% ]
课程目录:
( b, p5 W# s! t第一章:快速上手篇 (12讲)4 w% ]9 y3 a1 |% L' F0 N5 K
01 | 讲给你的 Kotlin 快速上手课程
' T! c2 D- _5 }0 j% m02 | Kotlin 最基础语法9 U8 r7 V! U( }" A! G+ k
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
/ k# L4 q x& P04 | 新手使用 Kotlin 常碰到的问题
/ U) X& `0 ^6 a05 | 函数也能嵌套?这个特性要注意+ _% B# q3 l% c, o- D& {4 `
06 | 用扩展函数简化代码调用
) ^6 Q6 Q7 H& t5 i07 | DSL的基础 : Lambda闭包的语法0 i G6 w- A3 w; ?$ {4 k4 g
08 | 函数的参数是函数 : 高阶函数的注意事项$ L1 g2 p! s' l- M$ [
09 | 创建对象的关键 : Kotlin的构造函数, P& G8 J8 k- i+ ]% B+ H2 z
10 | 伴生对象 : Kotlin 特有的单例对象
# q2 m: }' P4 {" S! d# T11 | by关键字的使用1 k$ X4 E6 t' Z/ |" O" Z9 J
12 | Kotlin 独有的特殊类7 u$ U0 ?& X; T2 ~
第二章 :深入学习篇 (13讲)
8 s! C0 [3 d# f, M9 `8 o% X9 u" j13 | 解构 : 特殊的数据拆箱方式6 P. d. s; |2 S/ J# G
14 | Kotlin 的循环语法- l& R X. ?+ y1 e: ~% d
15 | Kotlin海量的集合操作符
/ v$ q1 @8 W4 h16 | 作用域函数 : 你会爱上的自带函数( f: ?' B5 @; E- K$ y
17 | 运算符与中缀 : 定义你的专有运算符
- N# Q1 W! C- ` S, r$ y B18 | 神奇的符号 : Kotlin 的反引号3 h6 |( B" H" b1 r: C* g5 v
19 | DSL 是什么,原来早就用过了
" U! E, ^3 `2 r. ~20 | 构建 DSL 的常用方式
- t& [8 H) K1 d8 \9 O3 M) q21 | 定义自己的 DSL, l$ y# h: d" S) {# D, s% \' V8 |
22 | 理解 Kotlin 中的常量与只读& f! h# o2 b* N6 N& [9 g
23 | Kotlin 的空安全是如何实现的1 l/ ?0 ]6 ]( s. k: g) b; ]
24 | Kotlin 内联 : noinline与crossinline9 ~; @: Y8 a' c1 o5 p% @2 J7 [. `
25 | Kotlin 的真泛型与实现方式- N) L3 v2 Y7 M: E1 Y% w2 d# h* N' {% i
第三章 :扩展库篇 (14讲)
$ U" S$ K! F* q: ?6 N6 o4 j26 | 协程 : 提升性能的利器
: P& ?9 ]1 F& E$ t27 | 在Kotlin 中使用协程8 K5 a. m2 ^: I8 y* k; \6 K
28 | 协程的启动参数: ~, R- }3 j; n, S( @, m( i
29 | 协程的语法糖
7 w( R( v! X, Y3 I1 p- x+ x30 | suspend : 知其然知其所以然
/ u) G3 C! T5 N/ e31 | 协程的内部实现原理
8 X# Y9 z1 D& s, r32 | 动手设计Kotlin 协程的yield( m4 d- _2 D& S3 L' A
33 | 协程通信:Channel的使用
. Y9 p! s m, L34 | 小结 : 动手设计Channel版的EventBus
& [( O" n" Z, I35 | NIO 与 BIO7 u& f1 S6 b# x# _( }7 i
36 | Kotlinx-io 的对象缓存池/ v; w1 P+ t% Z: o; r# Q8 U5 T
37 | Google 推出 KTX 的目的/ H4 I2 x) r6 j5 ?8 w& u1 Q
38 | KTX 的实现
0 w8 I9 D! ^: L5 w! b4 f% z- ?- t39 | KTX 小结- N. D$ j7 d$ O
第四章 :团队协作篇 (3讲)( Z1 _# o. s, ~* H& O; I
40 | 在团队中使用 Kotlin* |% U: ^, t+ p9 S
41 | 用 Kotlin 改写现有工程5 T( K* }7 ]+ O0 B& X6 e- d$ m X! i: q
42 | 滥用特性的后果:没人懂的代码
6 Y8 t- Q# T. J第五章 :Kotlin 跨平台篇 (8讲)
6 p( @0 p9 P1 n# C43 | Kotlin 服务端开发框架' ^* O" v+ b; T. B) ?' m
44 | Http Servlet 创建 Kotlin 版 Web 应用
_; N9 O$ F8 P" Z* }! N, C2 V) H45 | Spring Boot 创建 RESTful Web 服务
% I s+ k6 p6 k3 \46 | Kotlin 开发 Web 前端/ Y4 P$ Z% `7 q" R
47 | Kotlin Native 开发
- d. L6 |+ ]; e, t+ L48 | 创建 Kotlin Native 基础库. J1 ~5 O9 ^$ d8 Z
49 | 如何用 Kotlin 实现 Android MVP; q3 q7 d( Q p5 J$ r/ v; S
50 | Android MVP 的 Kotlin 代码
$ D: {) J R: |2 Z ( g1 i- r5 r ?! z
( F3 O/ i+ N; x. p, z7 K' E: r# F- A* a7 f, t7 m; S
|
|