|
本课程分为三部分。
7 G/ I. t/ e6 L' s0 g4 V 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。( F$ H& _8 M% S7 m
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。 ?4 V& N, v9 I& ?, x8 l# e
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
& d* H \' h* Q% O5 M' j课程目录:& ^9 P! O8 _& w: W# o# y
第一章:快速上手篇 (12讲)+ b1 O0 _4 V( K* E5 R6 a: O% A
01 | 讲给你的 Kotlin 快速上手课程
$ m4 O$ A, c _( _) Y, y. t9 ]02 | Kotlin 最基础语法! R0 S0 S" N* m. F3 T3 T" t+ i
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?7 w6 ?# T9 c: A; n; W2 A$ l9 q
04 | 新手使用 Kotlin 常碰到的问题3 s1 [2 z& n- V# I! p5 A' |
05 | 函数也能嵌套?这个特性要注意
4 ~* y8 q! _3 s6 B k. [% h06 | 用扩展函数简化代码调用
' I+ m& e" z, @7 f9 ?- P( a1 D) `. R07 | DSL的基础 : Lambda闭包的语法- X ~/ f- ^$ q! f
08 | 函数的参数是函数 : 高阶函数的注意事项
4 L$ F9 J$ i4 N9 ^09 | 创建对象的关键 : Kotlin的构造函数, Q- i' P. ?# v& D) o
10 | 伴生对象 : Kotlin 特有的单例对象
2 y0 p6 ]# V/ _6 n9 w11 | by关键字的使用
) ~* T# t2 b6 h" B& ], _ e3 _0 o+ q12 | Kotlin 独有的特殊类* j# d) e9 D+ P, M8 x# z
第二章 :深入学习篇 (13讲)1 D- b/ E: {# O; K/ E
13 | 解构 : 特殊的数据拆箱方式
; b9 b9 b$ L* F14 | Kotlin 的循环语法% |( [ j7 a3 [8 M% O! n
15 | Kotlin海量的集合操作符
+ B% I* C$ |9 c; B L- W0 O2 V16 | 作用域函数 : 你会爱上的自带函数. ?: n& T8 x5 q8 K! u
17 | 运算符与中缀 : 定义你的专有运算符
! _4 T5 j7 W. P" I% u5 l18 | 神奇的符号 : Kotlin 的反引号" Y; d, { b4 D/ R* A3 D/ H
19 | DSL 是什么,原来早就用过了9 o9 K0 `# U: |4 u
20 | 构建 DSL 的常用方式
# R* a6 t% D' d" k1 s21 | 定义自己的 DSL
' x4 A) C1 L- |& N; p22 | 理解 Kotlin 中的常量与只读. h0 Q1 D" D3 K: }3 N4 l* e/ H1 Z
23 | Kotlin 的空安全是如何实现的
% _; O- o! p) x' ^2 w, K24 | Kotlin 内联 : noinline与crossinline$ ~; m @/ v8 N1 T- H
25 | Kotlin 的真泛型与实现方式& `8 x4 N0 c1 ^! M C2 @1 r1 @9 d. s
第三章 :扩展库篇 (14讲)
" _& A' A/ ?9 {! G26 | 协程 : 提升性能的利器; q$ q: Y5 x. ^
27 | 在Kotlin 中使用协程
8 e0 c' H& o7 P3 _! h28 | 协程的启动参数
7 a2 l1 A2 i' a. C* P# P29 | 协程的语法糖$ C# x1 x, B8 `1 |
30 | suspend : 知其然知其所以然
6 d. y6 L3 j& v" A+ |8 |31 | 协程的内部实现原理
7 ^% o7 H9 t; g9 n b, j32 | 动手设计Kotlin 协程的yield
* V" S( u0 V1 e( M33 | 协程通信:Channel的使用
% a/ z) f k1 r i1 [1 ]! P6 ]$ d) N34 | 小结 : 动手设计Channel版的EventBus
" e9 \! }, E3 f \7 f35 | NIO 与 BIO
3 ~8 p& ]5 n. t* i36 | Kotlinx-io 的对象缓存池
8 s, n8 b: o3 ?. t* c; M1 ^1 @% f37 | Google 推出 KTX 的目的
0 J% H6 D4 ]: C B9 m' w38 | KTX 的实现
/ L& R7 z4 m: `- J; i5 i3 P. [39 | KTX 小结
1 e1 ^% o6 ~' r$ e% A x7 G5 r第四章 :团队协作篇 (3讲)) \, M8 s* |) Q/ d
40 | 在团队中使用 Kotlin0 d7 y. Z. f: C
41 | 用 Kotlin 改写现有工程
% G5 w5 G2 O! o( ]" Y0 R Q42 | 滥用特性的后果:没人懂的代码) o( l- h* h" u- C1 Z! c L! H
第五章 :Kotlin 跨平台篇 (8讲)
6 m( D }4 [& A5 _: H43 | Kotlin 服务端开发框架
5 g) b B8 V$ X) G/ T( F& R. d! u44 | Http Servlet 创建 Kotlin 版 Web 应用$ y/ a. T; E5 v. F
45 | Spring Boot 创建 RESTful Web 服务
8 S6 f3 Q' m4 U, `, }- x46 | Kotlin 开发 Web 前端
4 {; ?4 G* H7 O! w' [. P( Z47 | Kotlin Native 开发) R# G4 H2 R5 |' k9 o
48 | 创建 Kotlin Native 基础库' p% l' e# S2 n" ]* }
49 | 如何用 Kotlin 实现 Android MVP3 U8 c! |+ T) q* W4 V1 ?$ X- B F
50 | Android MVP 的 Kotlin 代码
1 Q3 B% a% ^. Q! P* A 6 f0 q i0 N9 y, L5 ~
& ^6 _& f4 H% u2 c4 u* d$ j
8 z0 C4 C0 i' s( }/ K! o
|
|