|
|
本课程分为三部分。
7 b w# C1 O- u& [) d! u/ q* M 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。! W% H% ^- e, W& S: m9 W
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
! S3 }1 l, ~" |1 s: G 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
5 x- a( g' K6 q& }) V: t1 y课程目录:
) ^2 G) S s' K7 S3 p- O8 }3 _第一章:快速上手篇 (12讲)7 }: p! w0 F8 W
01 | 讲给你的 Kotlin 快速上手课程4 H) w& b( O1 b9 K5 b
02 | Kotlin 最基础语法
7 p# m9 y2 m' }3 J. [; S* k+ C$ c. m03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
+ i7 K" L% F4 u5 o0 N04 | 新手使用 Kotlin 常碰到的问题0 J9 B. F: y' k: K( F. t2 [
05 | 函数也能嵌套?这个特性要注意
) p6 i1 ]( \, C. }& t06 | 用扩展函数简化代码调用
. @) o! g* [1 h, O, c! ^! q07 | DSL的基础 : Lambda闭包的语法
; L/ H- [2 i: U/ W08 | 函数的参数是函数 : 高阶函数的注意事项: r ^+ o' b4 |) A4 _% Z' O" a
09 | 创建对象的关键 : Kotlin的构造函数
# [4 [! H3 \8 X% ?10 | 伴生对象 : Kotlin 特有的单例对象
4 ~$ v1 F4 d' p- ?2 ~11 | by关键字的使用& D9 S! `# o" Q
12 | Kotlin 独有的特殊类
$ I G/ I- x3 |% @' k/ f7 \5 e第二章 :深入学习篇 (13讲)4 _# C/ M0 f& Q+ ?- l- g
13 | 解构 : 特殊的数据拆箱方式
+ x7 j8 ?' \: v% W7 w; L/ a14 | Kotlin 的循环语法% X, g: U: H$ M5 p7 `( N
15 | Kotlin海量的集合操作符4 B5 m" i6 w- @6 X k5 u9 T
16 | 作用域函数 : 你会爱上的自带函数+ C% X3 p( {( D, |7 \9 G/ i" c. b, H
17 | 运算符与中缀 : 定义你的专有运算符6 q! h8 n9 ^8 L% S
18 | 神奇的符号 : Kotlin 的反引号
% m) g% h+ G r" K4 t19 | DSL 是什么,原来早就用过了1 `+ B' R1 H" ~
20 | 构建 DSL 的常用方式
( e, g) F8 c/ c/ V0 ~% X, ^. c3 B21 | 定义自己的 DSL5 V& S/ w2 {& {& N4 K
22 | 理解 Kotlin 中的常量与只读, C0 D9 n. H# q" \. F( f' A. H
23 | Kotlin 的空安全是如何实现的
( O7 C; d! g4 h6 R24 | Kotlin 内联 : noinline与crossinline
4 V; @5 H, I3 H% M7 Z4 a25 | Kotlin 的真泛型与实现方式9 F% i( c7 E6 u$ G# x$ j) l5 N- ~
第三章 :扩展库篇 (14讲)7 P6 c9 `9 T0 {: h6 f. V
26 | 协程 : 提升性能的利器9 I V/ m! A; M( U# M
27 | 在Kotlin 中使用协程
; x5 E3 N) E. X* F& w9 u3 ?( ?28 | 协程的启动参数
% h& n" X2 s8 l% ?2 V, y29 | 协程的语法糖
5 v6 Z& a* H+ i' X30 | suspend : 知其然知其所以然7 f* z! N7 B6 \) X' ^! d
31 | 协程的内部实现原理
7 A7 @7 M) o: v, N& N32 | 动手设计Kotlin 协程的yield7 X" |, {' J0 p) N: ]# p% ?
33 | 协程通信:Channel的使用
Z3 ?! N% w( u- @0 v4 f! _34 | 小结 : 动手设计Channel版的EventBus
* W7 R" B2 u4 C$ l- ]% G: Y35 | NIO 与 BIO1 Q9 }, r1 j! J7 F# s. Z$ \
36 | Kotlinx-io 的对象缓存池, K3 R( [4 e/ {0 ]8 |7 R! o
37 | Google 推出 KTX 的目的; Y2 _& G1 Q% S2 G& ?
38 | KTX 的实现
3 v) e* S: g* @2 f$ b) W# W% V- @39 | KTX 小结
" o; @% r, B; h; Z; L* P6 C9 s第四章 :团队协作篇 (3讲). S2 T4 V' d/ a9 s! Q, \. S
40 | 在团队中使用 Kotlin4 J# Q) L0 |4 H+ Z
41 | 用 Kotlin 改写现有工程% f2 i" z8 d4 _ K+ x* B, c% u$ A, d
42 | 滥用特性的后果:没人懂的代码0 u( l* o' T$ c! c
第五章 :Kotlin 跨平台篇 (8讲)
* b }" {- o# @& b: k1 W/ e% i. w# |, \43 | Kotlin 服务端开发框架! _5 x4 e6 M4 w8 f
44 | Http Servlet 创建 Kotlin 版 Web 应用, ~" ^0 V7 A: K5 r* U
45 | Spring Boot 创建 RESTful Web 服务
7 K7 X: Z: \. e( a" e46 | Kotlin 开发 Web 前端
- k5 F- {9 I: ~5 M' d/ p" Z47 | Kotlin Native 开发
" S9 d' N% y# A: f% V0 i48 | 创建 Kotlin Native 基础库
" A/ |' s0 d/ q49 | 如何用 Kotlin 实现 Android MVP% M' }5 o9 m: m; v; d+ o
50 | Android MVP 的 Kotlin 代码! L5 i% w6 z% e, A8 r, b
* P. @ x' a# c1 s& Y
3 i5 u4 `2 s# l! y; C
R6 C8 Q( }# @3 [. J, m |
|