|
|
本课程分为三部分。: _- G7 Y! ?: |
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
# Q% }) f3 a: S1 C' Y" a 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
1 i$ |9 A3 }& P( Z0 n: w4 M 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。6 ~. t9 q$ M" T3 ~- s% o
课程目录:
5 |) X- T5 \5 @第一章:快速上手篇 (12讲)- r/ q' _. w4 P
01 | 讲给你的 Kotlin 快速上手课程
S& j7 R" [- w" n% ~; Z% Z02 | Kotlin 最基础语法
* e M" d: D! T3 W. a& O) R03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?6 p6 a0 g( @) N( I( M, V
04 | 新手使用 Kotlin 常碰到的问题$ I+ Y2 R9 Q5 S6 x
05 | 函数也能嵌套?这个特性要注意
2 d5 ]6 w9 l: T* H' N: e8 g1 R8 K06 | 用扩展函数简化代码调用: o z7 V% d4 k. }
07 | DSL的基础 : Lambda闭包的语法
8 L4 I/ e! V, d/ Y6 ~/ h3 Q/ x1 X( A08 | 函数的参数是函数 : 高阶函数的注意事项# t9 c3 o8 q7 D* i$ u' l0 E' d
09 | 创建对象的关键 : Kotlin的构造函数
- y6 S; ~( q' |% s- a10 | 伴生对象 : Kotlin 特有的单例对象' l7 A3 {& L, X& h* ?
11 | by关键字的使用2 ?7 C: s0 g1 d
12 | Kotlin 独有的特殊类
; L$ D0 h0 l! S5 ^! N( X第二章 :深入学习篇 (13讲)
2 m- d' h' Y; ]0 }, f, s& G6 {13 | 解构 : 特殊的数据拆箱方式0 Z* L1 G: W* C
14 | Kotlin 的循环语法
, j0 B3 B, S! ]6 Z% J15 | Kotlin海量的集合操作符
. J6 I/ T3 A$ J# O16 | 作用域函数 : 你会爱上的自带函数
$ d" O$ _0 N$ i* o& E1 t17 | 运算符与中缀 : 定义你的专有运算符2 e% Y3 |/ n' A# _; k
18 | 神奇的符号 : Kotlin 的反引号5 m9 Q/ }+ s( a* D; P3 p, i
19 | DSL 是什么,原来早就用过了
2 _; T3 p: A+ c7 A20 | 构建 DSL 的常用方式. a: K' e, x7 h' D9 t
21 | 定义自己的 DSL
: J7 Z9 I4 a. |7 i# o7 D22 | 理解 Kotlin 中的常量与只读, v ]: n5 k; w4 F+ j, [
23 | Kotlin 的空安全是如何实现的
5 } t% I8 u+ C+ [24 | Kotlin 内联 : noinline与crossinline) T8 B4 f3 P* |* \0 y
25 | Kotlin 的真泛型与实现方式
* z; N o" \+ T8 n第三章 :扩展库篇 (14讲)
, I2 c0 v5 k8 ?- j% p+ G0 |26 | 协程 : 提升性能的利器
) }/ |5 V1 d9 x' O- ~27 | 在Kotlin 中使用协程
) h0 t; R" d3 m' i0 K28 | 协程的启动参数
9 J J H$ y3 |9 V3 x29 | 协程的语法糖
( I) E9 b# m. L" ?30 | suspend : 知其然知其所以然( \/ u! `& n) {5 }, }" s
31 | 协程的内部实现原理
& q, _1 h3 q0 Z( s' p32 | 动手设计Kotlin 协程的yield4 I* s2 Y% u! |- N% d5 J
33 | 协程通信:Channel的使用
3 A1 ~( k- N! o. k34 | 小结 : 动手设计Channel版的EventBus9 N- R0 ?, C. X" s; S% g$ ?6 y, f
35 | NIO 与 BIO
( a8 U2 Y2 t# ]# j. n$ E36 | Kotlinx-io 的对象缓存池
8 T9 K: e: U& W5 N$ A37 | Google 推出 KTX 的目的) K! r. D% h9 `2 E/ r: D% |
38 | KTX 的实现
% }* K7 I# [- ~39 | KTX 小结/ S9 t# Z: L/ @0 u; r7 y
第四章 :团队协作篇 (3讲): N8 g$ l" L* M! C, m/ f4 ^
40 | 在团队中使用 Kotlin
# ^0 G( T# w5 C" O41 | 用 Kotlin 改写现有工程/ A& H. M$ N8 q; w! s6 z) [; L
42 | 滥用特性的后果:没人懂的代码. u: \2 m9 M B6 C
第五章 :Kotlin 跨平台篇 (8讲)2 L6 p+ \; S/ u( V* k- H( s- V
43 | Kotlin 服务端开发框架
) b4 U& d+ L( q8 E R: R9 Y44 | Http Servlet 创建 Kotlin 版 Web 应用, I3 j q D f0 b+ _ G
45 | Spring Boot 创建 RESTful Web 服务' e0 v% f |( B3 i! z9 f
46 | Kotlin 开发 Web 前端
% F( ]/ }) D* C" y47 | Kotlin Native 开发- z+ N! X6 Y- A
48 | 创建 Kotlin Native 基础库1 _/ X6 J: q, t* `# r5 H
49 | 如何用 Kotlin 实现 Android MVP. r! B5 C$ f n$ b1 K3 z
50 | Android MVP 的 Kotlin 代码
0 c) }9 N" P" z( g5 n
. M; ?. |/ [2 v$ l, H
5 `* J$ y5 _& J
$ G* ^1 V- L- l) Q# V0 b
|
|