|
|
本课程分为三部分。
2 ]! D! B: a3 W( G: ] 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
8 A" A# l- }: ^9 t; Z9 h: P 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
( j) r( m0 K( k 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。/ x: r$ ?+ Y+ r }3 P2 i4 k
课程目录:
' W! ~: O+ @$ c$ y) f第一章:快速上手篇 (12讲)
* M- g( X- o. t1 h01 | 讲给你的 Kotlin 快速上手课程
4 e1 u% O' z% P) ?7 h4 {8 K02 | Kotlin 最基础语法9 z" R: V& q# c7 H: i
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?& q. }4 k& V: o$ A# W
04 | 新手使用 Kotlin 常碰到的问题
7 a$ q$ `8 {" S. m5 S: M4 V05 | 函数也能嵌套?这个特性要注意. z- K6 e9 F0 K8 L* \6 |+ s
06 | 用扩展函数简化代码调用
6 C/ `) \- I( J07 | DSL的基础 : Lambda闭包的语法3 E. d" {% H5 I" V
08 | 函数的参数是函数 : 高阶函数的注意事项
9 u1 r$ m& S1 O# X09 | 创建对象的关键 : Kotlin的构造函数# [" D2 b& K7 e& q$ D/ ~
10 | 伴生对象 : Kotlin 特有的单例对象0 H& ~2 d: {% Z3 _2 e( h3 _+ P8 a
11 | by关键字的使用* x0 x6 K7 V7 {$ Q$ ^% v0 O0 }$ d
12 | Kotlin 独有的特殊类
( Y$ |" }/ ~: e# P第二章 :深入学习篇 (13讲)
7 O2 m A4 x6 B4 `6 @3 ~13 | 解构 : 特殊的数据拆箱方式9 u4 U1 E' Z2 j1 Q
14 | Kotlin 的循环语法
9 B% {$ m& x- E {5 A m15 | Kotlin海量的集合操作符2 l, Q! S7 i$ Z9 [0 w, v4 i, H+ C
16 | 作用域函数 : 你会爱上的自带函数
1 K% s- t& v( \8 V1 S; W17 | 运算符与中缀 : 定义你的专有运算符
+ b, z- Z: ~$ o3 \18 | 神奇的符号 : Kotlin 的反引号8 i0 m' s/ E( X' H8 H* ]
19 | DSL 是什么,原来早就用过了
' t! T, _9 R' @& T/ i, ~8 P0 P20 | 构建 DSL 的常用方式0 F/ Z0 {$ ?* S# j
21 | 定义自己的 DSL
) r% E8 v3 o8 w* b22 | 理解 Kotlin 中的常量与只读 G# @9 z x8 p8 Y5 L: F1 R
23 | Kotlin 的空安全是如何实现的
" z) ~3 M" o# c9 G7 k24 | Kotlin 内联 : noinline与crossinline0 n2 H: ]' C9 X
25 | Kotlin 的真泛型与实现方式
1 `! I( Z, s' \/ ~0 V( N第三章 :扩展库篇 (14讲)
, s5 | B8 j: w( h* \$ h U26 | 协程 : 提升性能的利器
# X. {1 A& \ a( R, q' C27 | 在Kotlin 中使用协程
( }" p) r* Y. t; P28 | 协程的启动参数! z9 J$ n! D c3 k" f
29 | 协程的语法糖
4 U+ J Z8 d7 n4 `30 | suspend : 知其然知其所以然9 ?9 f7 G" E- y1 p# Z
31 | 协程的内部实现原理
: R" J! @3 v8 P X32 | 动手设计Kotlin 协程的yield
. x" ]3 [0 c5 Y$ A+ k8 Z33 | 协程通信:Channel的使用
2 i+ ^# k7 Y: T6 h7 p6 |, {/ N! i34 | 小结 : 动手设计Channel版的EventBus
3 R8 I( K; a1 D& P F' P35 | NIO 与 BIO# e, T- o3 ^9 N
36 | Kotlinx-io 的对象缓存池
1 W' T$ A/ B+ R* W37 | Google 推出 KTX 的目的
. C2 m5 u7 p L3 R% B2 `. P; e1 B38 | KTX 的实现# T. L$ s0 g: s: G- X% a
39 | KTX 小结
5 O/ Z) b+ e0 W ?" A; a第四章 :团队协作篇 (3讲)
/ B, t" |6 {2 g40 | 在团队中使用 Kotlin
/ `- A/ E k. e41 | 用 Kotlin 改写现有工程
) b! r* e8 m: u% e: f2 t42 | 滥用特性的后果:没人懂的代码; j8 r+ y6 |+ B( k& `% M* }
第五章 :Kotlin 跨平台篇 (8讲)
1 j. A2 H" q0 Q2 Q' ~8 g$ p: U43 | Kotlin 服务端开发框架5 Q# [+ U! T; P. [
44 | Http Servlet 创建 Kotlin 版 Web 应用0 Y4 p5 _2 R3 ~
45 | Spring Boot 创建 RESTful Web 服务
3 ]; L; m. w s46 | Kotlin 开发 Web 前端. p( w" L9 h5 C: i
47 | Kotlin Native 开发% X9 b4 l/ I: Z+ ~
48 | 创建 Kotlin Native 基础库* L- V# G3 J v1 E
49 | 如何用 Kotlin 实现 Android MVP1 g5 l( o8 J! J V' r! S/ s
50 | Android MVP 的 Kotlin 代码. [1 y" g( B# ~, K! o4 a
4 j& x/ i1 M' O% D' M! N p& ]
! A5 k! c" {* U7 \- n2 b5 s
9 o5 k! n& p- i" ?& o$ C) j
|
|