|
|
本课程分为三部分。6 _% Q1 h# p# [9 Z% g
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
( F' U2 h$ y/ j5 e3 _) O; Z 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
- s' P* W; M+ `. y* X 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。& B! r' [& _8 B
课程目录:+ Z, {1 r6 g7 [7 G* r
第一章:快速上手篇 (12讲)
: I6 A' K `) J$ z- l" g0 [- {2 U01 | 讲给你的 Kotlin 快速上手课程; |# N& d* ~8 W3 u1 Q
02 | Kotlin 最基础语法
, X3 Q4 ]* o b& S/ D- k' a03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗? S7 V: J5 ^# l, O9 }
04 | 新手使用 Kotlin 常碰到的问题
5 I) e6 ?3 B0 v, I/ u05 | 函数也能嵌套?这个特性要注意
4 R: ^) F# ?# }# l06 | 用扩展函数简化代码调用
/ ] s) U; i; C' j* d07 | DSL的基础 : Lambda闭包的语法6 H6 O1 i4 q2 _, q
08 | 函数的参数是函数 : 高阶函数的注意事项
$ A) ^6 H" U) Z- X09 | 创建对象的关键 : Kotlin的构造函数6 l$ C6 K) k/ s
10 | 伴生对象 : Kotlin 特有的单例对象5 K; D; X0 Y; F0 c2 x
11 | by关键字的使用
2 r5 A! X7 u# |$ d) e& ?/ L12 | Kotlin 独有的特殊类4 p+ l3 p/ b( l9 z5 }
第二章 :深入学习篇 (13讲)7 V% \2 }; B8 V
13 | 解构 : 特殊的数据拆箱方式# X+ h& [8 m- l7 a
14 | Kotlin 的循环语法
) J/ O9 @4 a" L* ^* K( k3 T8 \15 | Kotlin海量的集合操作符
A7 ^: \* Q* ~. j1 B5 \16 | 作用域函数 : 你会爱上的自带函数- M7 }& n6 o% j8 p2 e: J1 L+ U
17 | 运算符与中缀 : 定义你的专有运算符
E( h2 ^8 C) P: e18 | 神奇的符号 : Kotlin 的反引号/ K$ e! k2 ~! E$ R
19 | DSL 是什么,原来早就用过了
6 D5 U8 D5 `. Y5 ]/ J6 W- E1 p' B20 | 构建 DSL 的常用方式9 T7 h. r5 r; L& m# n; n
21 | 定义自己的 DSL
: A. K2 }6 [5 g- p" g& O22 | 理解 Kotlin 中的常量与只读
8 r) H2 \5 N0 ^2 T0 c23 | Kotlin 的空安全是如何实现的. i* z& O0 C/ G+ j# g
24 | Kotlin 内联 : noinline与crossinline6 f* B+ [ G1 s# z' ]
25 | Kotlin 的真泛型与实现方式
6 r$ u! \7 J6 o+ L0 Y& B第三章 :扩展库篇 (14讲)
& `0 n) M# y3 @26 | 协程 : 提升性能的利器- J- P8 S, B5 b" T( q
27 | 在Kotlin 中使用协程
+ t! V0 G1 @6 [28 | 协程的启动参数
# J$ G% |3 h8 |$ S& z; C29 | 协程的语法糖
) ]4 {" x% M7 s' K' t, r30 | suspend : 知其然知其所以然: |+ g- y o2 E* f, k% b9 ]
31 | 协程的内部实现原理
8 T) `1 z& v) x" H/ ^% h9 D# Z32 | 动手设计Kotlin 协程的yield" k$ `0 i; w( ]' L3 C
33 | 协程通信:Channel的使用
# C: Z6 p& G$ P, W* q, k34 | 小结 : 动手设计Channel版的EventBus1 N# q2 ~9 J* ~- J: K: _5 M- C: O
35 | NIO 与 BIO6 C9 \1 _# k: z
36 | Kotlinx-io 的对象缓存池: G9 \" m! s6 x5 N8 ~
37 | Google 推出 KTX 的目的
/ m2 m1 ~$ y- R D38 | KTX 的实现2 z6 t9 ~1 `* [" P- N6 {. q
39 | KTX 小结
" {& L- u+ Q/ a0 U" f% D7 e9 O第四章 :团队协作篇 (3讲)5 m w4 \8 l6 r% d6 _
40 | 在团队中使用 Kotlin
7 ]6 H. T1 e" S9 ?* i, e41 | 用 Kotlin 改写现有工程
3 f d/ v* V8 ]; w42 | 滥用特性的后果:没人懂的代码
) I, h+ x k. w, Y, l8 C# P第五章 :Kotlin 跨平台篇 (8讲)7 \4 l, x# b! t, Z4 B# C3 Z, u
43 | Kotlin 服务端开发框架
+ \ a3 C" w# u5 a3 j9 e44 | Http Servlet 创建 Kotlin 版 Web 应用5 q0 {2 B7 x2 L
45 | Spring Boot 创建 RESTful Web 服务 j0 V$ R; e1 T6 l, t
46 | Kotlin 开发 Web 前端
4 W% U, {. g C47 | Kotlin Native 开发
1 M1 i) s" I) ~ m+ m) b( T. k48 | 创建 Kotlin Native 基础库0 l1 `, Q' m( {8 ^& Y9 p3 ^
49 | 如何用 Kotlin 实现 Android MVP
% X2 M3 f* l. |: m: w3 K+ n50 | Android MVP 的 Kotlin 代码
, U- L0 }. R. G: `/ ~. W7 C1 F' b$ F
5 M" {$ E% C2 e) i2 Z/ u
1 R* X: l! C8 R' @3 _7 |7 K
$ ?7 V1 V3 u/ n {0 D1 A
|
|