|
|
本课程分为三部分。
3 v5 M n( x6 G. ? 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。, N6 I8 f3 O8 n Z' I" y
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
$ y" i' v: |1 \* L U! y: ] 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。+ u$ ^ Y' t9 g) i
课程目录:! U2 i4 {# E, r- Z7 C% w Q) k" j
第一章:快速上手篇 (12讲)
$ ?8 E3 N1 h3 O/ M$ m; l! f01 | 讲给你的 Kotlin 快速上手课程$ Z8 u+ x$ w& Y
02 | Kotlin 最基础语法) J6 ~0 y1 l( y7 i7 V7 n6 R
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?' [9 B8 m- T3 b
04 | 新手使用 Kotlin 常碰到的问题
+ N7 d% P5 t( p5 \, G: G8 U3 _05 | 函数也能嵌套?这个特性要注意( |$ A: ]. q: M, E
06 | 用扩展函数简化代码调用3 S3 \8 A6 `/ k2 H! i6 H- ~1 c! n" e
07 | DSL的基础 : Lambda闭包的语法
" T& c( s: O j# o+ X08 | 函数的参数是函数 : 高阶函数的注意事项0 K: n) w9 ]5 Z4 D7 T: q
09 | 创建对象的关键 : Kotlin的构造函数
' A: @+ z* D) S$ c2 Q, G9 e10 | 伴生对象 : Kotlin 特有的单例对象' ? B: T) z* u5 S+ D2 W$ e
11 | by关键字的使用3 _* }9 k' P( b5 H) y/ j$ m
12 | Kotlin 独有的特殊类
; l- J3 F: l1 |第二章 :深入学习篇 (13讲)! t }- F- p) _! \( C# B$ N. |
13 | 解构 : 特殊的数据拆箱方式
9 I) x: D" h& H# P4 j6 h) D* ]14 | Kotlin 的循环语法' g; w: N) b+ \& g
15 | Kotlin海量的集合操作符/ M4 w5 u5 _- {
16 | 作用域函数 : 你会爱上的自带函数! y8 Q. o4 J# a% \1 E8 u) |1 j
17 | 运算符与中缀 : 定义你的专有运算符
$ v. w( o9 f! r18 | 神奇的符号 : Kotlin 的反引号; K7 y& t; \; w: c* B ~
19 | DSL 是什么,原来早就用过了' h1 b/ c0 \" V: B: U6 e
20 | 构建 DSL 的常用方式- ?2 z+ z8 j- O7 |4 I
21 | 定义自己的 DSL
' X' i# v8 p4 Q22 | 理解 Kotlin 中的常量与只读
0 X z8 f; i" f# ~+ z! [23 | Kotlin 的空安全是如何实现的2 v/ S: I6 Q. ?2 ^. Q4 f( j
24 | Kotlin 内联 : noinline与crossinline& `# w8 ]& z3 s a" s2 u% @
25 | Kotlin 的真泛型与实现方式# G* {, Z, _! K# O' j+ R* r! A
第三章 :扩展库篇 (14讲)0 u$ T7 `0 `/ T1 f
26 | 协程 : 提升性能的利器
D- L- n$ w+ V" ], S! z4 ^27 | 在Kotlin 中使用协程5 u: i \! N) i$ m) h! O6 D
28 | 协程的启动参数
: D. M7 M6 q8 R, |. e, F5 z29 | 协程的语法糖
7 k4 u' | A* ?1 y% h6 `30 | suspend : 知其然知其所以然: G4 H! M/ Y) F$ m: i! K/ Z
31 | 协程的内部实现原理
# A r( O( J. L$ U" a0 M32 | 动手设计Kotlin 协程的yield
9 ^6 K1 F" d' ?. ~) t2 `$ ^33 | 协程通信:Channel的使用4 D3 w5 c& Q) k d% G/ A
34 | 小结 : 动手设计Channel版的EventBus) Q4 u3 \6 i7 z
35 | NIO 与 BIO
+ R3 G4 q3 q# C) ?! f36 | Kotlinx-io 的对象缓存池
1 x. ]1 A) U4 [- f37 | Google 推出 KTX 的目的
3 j7 S6 K8 h) T6 h# P! j38 | KTX 的实现
% Q; W9 U% y% |39 | KTX 小结
, T" B/ T/ S2 F, Z" O第四章 :团队协作篇 (3讲)
3 E, c2 m! ~/ s8 ]4 Z4 @5 [40 | 在团队中使用 Kotlin7 E/ H) \" a2 j, }/ O
41 | 用 Kotlin 改写现有工程
& v) c. Y! N% P3 x42 | 滥用特性的后果:没人懂的代码
0 v5 }0 h: d/ F* s* ~第五章 :Kotlin 跨平台篇 (8讲)
! C! N1 L, [2 H- K- A43 | Kotlin 服务端开发框架
0 B, a6 ~& W ?% D* _. w/ T7 f44 | Http Servlet 创建 Kotlin 版 Web 应用$ r3 o7 f( _" U8 ^" s; |
45 | Spring Boot 创建 RESTful Web 服务& R& z) X1 m2 ~3 O. _! x
46 | Kotlin 开发 Web 前端/ S4 @9 U* s W7 Y
47 | Kotlin Native 开发
4 z' H! ^" g u48 | 创建 Kotlin Native 基础库
4 H; W1 b3 \2 L$ [1 S6 _49 | 如何用 Kotlin 实现 Android MVP
, a: a+ G" Y) Y! g* l50 | Android MVP 的 Kotlin 代码! H7 u. \9 W' U% e3 a& X
9 l) O6 ?/ y3 A' ^0 \$ k
- K: n$ l$ j! C6 }4 c' e
# d2 N' h W) t: _ |
|