|
本课程分为三部分。% e/ n- W) ~$ E$ P! n1 o) z1 Z3 l
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
; \7 ?4 ^8 R" V A0 ^4 @/ U+ o6 ~) W 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。6 H' e2 y7 {6 B3 a [6 s- ~
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
7 n. m" Z, I! ]1 u2 ?课程目录:
; f* K2 I; d! B; r第一章:快速上手篇 (12讲)4 L( r& J2 }' {& k
01 | 讲给你的 Kotlin 快速上手课程
4 G1 c1 j8 ~) l( ]1 v, G8 N02 | Kotlin 最基础语法
5 V+ f% M6 I0 I+ K- z# A- V03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?, O+ g( _/ t" o0 {* H# X# a
04 | 新手使用 Kotlin 常碰到的问题 l* o' T( f9 Q9 Q+ G9 l
05 | 函数也能嵌套?这个特性要注意) N5 s1 H6 H+ k5 A! c
06 | 用扩展函数简化代码调用
l+ {2 B2 e+ Z, g ?07 | DSL的基础 : Lambda闭包的语法 ]" J7 Q, P2 J( Y
08 | 函数的参数是函数 : 高阶函数的注意事项
( r4 ?. c" n. M. x09 | 创建对象的关键 : Kotlin的构造函数4 h) |! n- b' o3 n E; P8 R8 D6 s: n
10 | 伴生对象 : Kotlin 特有的单例对象
/ Q' v7 P+ J' c( X+ i& V, ]6 m$ s( m11 | by关键字的使用+ ^9 n) E# _) C
12 | Kotlin 独有的特殊类* h: l" _/ M& a8 Z# s" L/ Y; r
第二章 :深入学习篇 (13讲)7 U( A$ s% g9 x) }
13 | 解构 : 特殊的数据拆箱方式
% k0 @) _4 B5 l% {+ C7 M( a% R14 | Kotlin 的循环语法7 Z6 r9 W9 M T8 t" z/ L. z7 b) x
15 | Kotlin海量的集合操作符
+ B8 M2 N) v; X$ i$ ]5 t16 | 作用域函数 : 你会爱上的自带函数2 g. n! q% \4 z7 G9 |+ M' z
17 | 运算符与中缀 : 定义你的专有运算符
# `. J" ?9 ?% \4 P18 | 神奇的符号 : Kotlin 的反引号! Z4 `3 |8 I6 I6 ^
19 | DSL 是什么,原来早就用过了
0 ~$ D' \7 ]" M6 z20 | 构建 DSL 的常用方式
# q/ R* F% A8 B G" {+ ^3 ?21 | 定义自己的 DSL- D( |7 y$ v1 N S! q. }
22 | 理解 Kotlin 中的常量与只读
0 n6 S) K" j# U% Y, m* T* m23 | Kotlin 的空安全是如何实现的
# j; G9 I0 [5 h8 x24 | Kotlin 内联 : noinline与crossinline# Q* l3 z. K& j8 H5 s
25 | Kotlin 的真泛型与实现方式
# D0 |% v& ?" O R! H第三章 :扩展库篇 (14讲)2 ^* y$ Q% W1 T# v
26 | 协程 : 提升性能的利器
2 i/ j& S# H( D) F) _0 k6 J, C27 | 在Kotlin 中使用协程' r2 H" u' Z f6 r
28 | 协程的启动参数0 ^ i5 T5 N, P: Q
29 | 协程的语法糖
% |1 s1 O5 |0 k: d. P1 i& o* E30 | suspend : 知其然知其所以然
h1 b: O) i7 \6 J9 T0 L8 j31 | 协程的内部实现原理
3 Z' b5 [8 R; I4 N) @/ I; }$ p32 | 动手设计Kotlin 协程的yield
4 X$ s* j1 U$ O4 s! ?* e' } Q33 | 协程通信:Channel的使用
* @; E! H, O2 r" _; x) T Z34 | 小结 : 动手设计Channel版的EventBus$ y8 p4 X6 H" _9 W! Q& m
35 | NIO 与 BIO
' ]1 t. j0 J# \/ x* c36 | Kotlinx-io 的对象缓存池
3 j' H4 f% b, L7 M" @' ~' u! C0 |37 | Google 推出 KTX 的目的7 \$ ^$ b' R6 ]; T- u5 K. R
38 | KTX 的实现; Y1 ]3 F X2 n6 v3 v% j( h9 @! ]
39 | KTX 小结
9 d9 ?* F T. `" H第四章 :团队协作篇 (3讲)
3 h# U s _- R% W# j5 a5 C40 | 在团队中使用 Kotlin
: n; R3 ]% k& ^( i) U0 t# `41 | 用 Kotlin 改写现有工程6 ^7 Q9 m/ L& D6 A$ i4 R
42 | 滥用特性的后果:没人懂的代码9 U. Y0 h3 u* T+ x9 M! @% j
第五章 :Kotlin 跨平台篇 (8讲)5 s- N! ?3 a! _; \! i
43 | Kotlin 服务端开发框架
3 t+ ]/ H% b% A8 X: {" w44 | Http Servlet 创建 Kotlin 版 Web 应用( A; Q1 \" m$ v" w0 m3 ]
45 | Spring Boot 创建 RESTful Web 服务- t. }7 |; J. R3 x* d
46 | Kotlin 开发 Web 前端
; H) K. W; A8 ~/ i; m" s% S! i7 L, C47 | Kotlin Native 开发
. E7 F# X) T% }; v0 d) k) {) v48 | 创建 Kotlin Native 基础库
% ?8 n) m! M2 e) F6 Z, a49 | 如何用 Kotlin 实现 Android MVP! f4 q m. b1 J$ W5 N/ F( d
50 | Android MVP 的 Kotlin 代码$ B; {' X) f4 ^5 G( w( _9 @3 E/ O
& ?* e& o( `0 E$ o6 C. |
1 }4 v& L+ j' c# V/ O# N) q
# V1 L( m3 z$ B# A) A @8 g6 X |
|