|
|
本课程分为三部分。
6 L L& O& | {3 x 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
/ j- x* I x/ W9 F 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
- J& R( f$ `( V7 C, u7 V) y 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。& ?# }" T* L) Z. Y
课程目录:0 J# Z7 L: j% F& Y" D
第一章:快速上手篇 (12讲)( s9 L- K- _& {$ K) _' Y$ n
01 | 讲给你的 Kotlin 快速上手课程
+ y/ a, Y( a* _+ I* j0 V02 | Kotlin 最基础语法
" m( C4 ` \. d8 m8 @03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
3 V( X+ ?. S" ?04 | 新手使用 Kotlin 常碰到的问题
( U9 m- d9 V3 F; K, ?05 | 函数也能嵌套?这个特性要注意
' P+ Q+ m8 \7 `( ~9 ]. z' M9 N06 | 用扩展函数简化代码调用
; ?$ q9 f/ Z) @* R07 | DSL的基础 : Lambda闭包的语法4 V* F% P! L% S+ L8 W+ Y
08 | 函数的参数是函数 : 高阶函数的注意事项
! f" h2 X, @9 V09 | 创建对象的关键 : Kotlin的构造函数
, Q! ?+ r, }3 f! w10 | 伴生对象 : Kotlin 特有的单例对象
$ [4 q* S" L% g+ \1 R4 S7 d% _) s, ]11 | by关键字的使用
3 p! G" a0 b) S' v12 | Kotlin 独有的特殊类
5 ^' s: \. D* X第二章 :深入学习篇 (13讲)' K& _" @( }) A/ c. A, W
13 | 解构 : 特殊的数据拆箱方式# F5 W+ B' i3 d/ D6 v
14 | Kotlin 的循环语法# L2 Y N5 s- Y1 N
15 | Kotlin海量的集合操作符+ q/ c2 a3 ^6 j( m& ^( H8 e
16 | 作用域函数 : 你会爱上的自带函数3 i# {0 v' C! w1 b
17 | 运算符与中缀 : 定义你的专有运算符9 E4 Z$ j1 c! W0 } S8 X, ]
18 | 神奇的符号 : Kotlin 的反引号
1 C4 G( ]. D2 b# C. R19 | DSL 是什么,原来早就用过了: x. m' {, Y! L4 a; V3 {. I* d# l. ]' p
20 | 构建 DSL 的常用方式# A; S) J* ^+ ?9 ^! T
21 | 定义自己的 DSL6 V( e4 n3 f; n+ ~* k) V
22 | 理解 Kotlin 中的常量与只读
' K* O, ~: Q$ g- S; Z9 R23 | Kotlin 的空安全是如何实现的
2 J8 t, s' N$ b! i) k24 | Kotlin 内联 : noinline与crossinline/ m# v) o, G9 j' V I
25 | Kotlin 的真泛型与实现方式4 c2 T+ [. X+ w3 q& V
第三章 :扩展库篇 (14讲)
8 k& ^6 F# F G* Z1 q# _1 v( Z( G% i26 | 协程 : 提升性能的利器
$ c0 C( ^/ D5 P0 w+ U27 | 在Kotlin 中使用协程
x& F( L* D! m1 i1 Q4 ?28 | 协程的启动参数% ?* d( E6 j0 c7 Q6 s) P h! w
29 | 协程的语法糖* N* @, f$ G6 h9 n3 F! D" i+ h8 j
30 | suspend : 知其然知其所以然
* X3 R7 h* g; ]8 o31 | 协程的内部实现原理 c% l3 M; z r ^! W% M
32 | 动手设计Kotlin 协程的yield
) m I& T* N+ Z8 Z9 [33 | 协程通信:Channel的使用) e* \1 \: ?6 I& n0 G% r7 E
34 | 小结 : 动手设计Channel版的EventBus
8 w9 U d" d1 Q- m35 | NIO 与 BIO
' s- p3 J# K( v; O36 | Kotlinx-io 的对象缓存池
g$ |- c) F9 ?3 M5 d37 | Google 推出 KTX 的目的
; b' s( i3 E8 r& f9 M9 C% { w38 | KTX 的实现
1 ]6 c4 ^- r) f$ Y8 G$ E% f39 | KTX 小结 S& |. ?. {$ Q
第四章 :团队协作篇 (3讲)* B. s6 u/ d* B8 R
40 | 在团队中使用 Kotlin) v. I# o( n; @' k P }9 h7 |
41 | 用 Kotlin 改写现有工程
: X1 l" w8 |# [. U, J5 M+ [) }3 R42 | 滥用特性的后果:没人懂的代码- |( l8 O) D% w, T) @0 |
第五章 :Kotlin 跨平台篇 (8讲)
; X, h4 A% z9 Q; q43 | Kotlin 服务端开发框架/ h4 x% y- Q; ^$ p; W" n
44 | Http Servlet 创建 Kotlin 版 Web 应用, t( G z; Y7 ~3 |
45 | Spring Boot 创建 RESTful Web 服务1 i; p/ b+ v9 A' t' G" G: j: @( B
46 | Kotlin 开发 Web 前端
; e+ A# ? h$ a; a47 | Kotlin Native 开发# t7 { _( m; H. J, g5 Y
48 | 创建 Kotlin Native 基础库
9 a3 I5 @0 {+ I3 D ?4 a49 | 如何用 Kotlin 实现 Android MVP7 p. H9 @8 V- P
50 | Android MVP 的 Kotlin 代码
0 p2 p6 c* ]( K9 m
/ x# j- V1 s7 Z3 ]
2 ?" k; L8 z2 ?, h8 X
8 o# u9 W& r& A$ ?2 n |
|