|
|
本课程分为三部分。, W" V: |3 U, c6 k
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。$ g" _/ Z0 q; n2 Y8 ]- ?
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
: N1 T* v( k4 X- H 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
, [1 x" b) E& b2 R7 \& F4 h% o- ^0 l课程目录:
1 Q6 J1 z) M6 H& ~第一章:快速上手篇 (12讲)
0 ]2 U4 p- z6 l& o6 s. I01 | 讲给你的 Kotlin 快速上手课程4 m+ U/ f6 h0 d: b
02 | Kotlin 最基础语法
9 f" R- f. O8 _% g7 Z5 @4 p( ^6 n03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?! a5 I) P7 I4 y0 S
04 | 新手使用 Kotlin 常碰到的问题. i, v) h0 k/ }7 b
05 | 函数也能嵌套?这个特性要注意" ^3 b2 g9 G/ `3 g+ s0 U
06 | 用扩展函数简化代码调用
9 b$ D' p/ C& F; q! V6 K. r07 | DSL的基础 : Lambda闭包的语法
% w; X# J; _! C5 P+ r08 | 函数的参数是函数 : 高阶函数的注意事项
1 B4 G1 [1 J/ e# Q; j e09 | 创建对象的关键 : Kotlin的构造函数& b! O# m- ~+ @4 S' }6 b1 e
10 | 伴生对象 : Kotlin 特有的单例对象
3 v: ?; |& t5 g$ E L/ A- a' u11 | by关键字的使用
8 M/ _3 p$ P S$ A# \, q, {+ u12 | Kotlin 独有的特殊类6 @/ x, ^' s* q5 E) z, L
第二章 :深入学习篇 (13讲)+ _- R' g/ F- g) G$ P+ V% U
13 | 解构 : 特殊的数据拆箱方式5 Z$ ]- s! L. j4 ~' @4 B/ d2 c
14 | Kotlin 的循环语法" D' H+ W5 h, {* m% Z+ d
15 | Kotlin海量的集合操作符
5 } X K$ E9 R# V16 | 作用域函数 : 你会爱上的自带函数
k. @1 i0 W' L0 V/ W0 l6 c17 | 运算符与中缀 : 定义你的专有运算符: W* {0 R" L3 f8 E1 z5 r% Y9 i
18 | 神奇的符号 : Kotlin 的反引号
) |( j# N9 J" X19 | DSL 是什么,原来早就用过了
" ^; w7 A, k- u) k% ^; t20 | 构建 DSL 的常用方式2 w1 r! J( |. A7 f, }; M. Q: r* p
21 | 定义自己的 DSL
9 H- j. H9 X/ T) W3 `- o22 | 理解 Kotlin 中的常量与只读: n" S% C- l. Y
23 | Kotlin 的空安全是如何实现的
B8 i8 q. c6 j7 f) \24 | Kotlin 内联 : noinline与crossinline/ Y* S. r% u; K! J9 H! u
25 | Kotlin 的真泛型与实现方式) n2 D F1 h/ E9 X
第三章 :扩展库篇 (14讲); j8 c# F4 R" c+ x7 s! _
26 | 协程 : 提升性能的利器
5 }3 g! y/ H) D3 J( {1 U8 e27 | 在Kotlin 中使用协程
4 l. N1 e, v& y" I9 [% W28 | 协程的启动参数1 `$ r ~" e$ U. C* a, C9 i
29 | 协程的语法糖
1 w, R+ S- M& r" A0 L30 | suspend : 知其然知其所以然2 D) ]6 M& {. j2 X+ r0 Q& F1 U
31 | 协程的内部实现原理
# p3 V5 l. C: D9 m0 ^32 | 动手设计Kotlin 协程的yield$ I- j8 A- Y. T0 r: F
33 | 协程通信:Channel的使用
& L r; a- D4 v34 | 小结 : 动手设计Channel版的EventBus9 m, y/ I% i2 S0 ?2 X) \7 S
35 | NIO 与 BIO0 {4 J! b U6 J) ]. t
36 | Kotlinx-io 的对象缓存池
1 y& z U$ C( } t) d- f7 v) }37 | Google 推出 KTX 的目的5 V. O. A' o9 \. S( {/ `# k5 K! z
38 | KTX 的实现
7 h/ d' {( E' n5 t0 L& _39 | KTX 小结
6 A$ ^: r9 P: J/ e" I& m第四章 :团队协作篇 (3讲)
4 k6 i( }5 f& o" e9 _( B/ q- ^40 | 在团队中使用 Kotlin" q0 ?6 @1 ?+ `8 Y
41 | 用 Kotlin 改写现有工程
# p. y6 b0 d, D- |42 | 滥用特性的后果:没人懂的代码
' ?3 K# [( s! ?. z6 H1 @; K( p第五章 :Kotlin 跨平台篇 (8讲)3 ~" @( O% p" e) B2 m
43 | Kotlin 服务端开发框架* Q# `' ~' A* I' F0 m2 ~
44 | Http Servlet 创建 Kotlin 版 Web 应用( X, k+ \: D. m( k- m: @
45 | Spring Boot 创建 RESTful Web 服务
2 g! a( ~4 D8 I, m* h3 e46 | Kotlin 开发 Web 前端) i7 `% e7 Q+ m( a* X* Q! E
47 | Kotlin Native 开发+ k/ u7 I" H" x a( q! J' f
48 | 创建 Kotlin Native 基础库' b \3 d. q5 a N8 g. k
49 | 如何用 Kotlin 实现 Android MVP' b A! w! \. q- T) a( ?
50 | Android MVP 的 Kotlin 代码' t& ^7 T; B1 {" J! G1 G
; I" r7 F* p S; i4 Y
9 O/ v) z) j- A1 r& c6 K0 ^. {# f: D3 k' O
|
|