|
|
本课程分为三部分。
: c! n' p M& F! I8 P 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
$ k! o! v, N8 H' X; M4 e 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。2 B# U+ H+ m1 A: e
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
( @' S4 {- l$ w9 h/ J: h+ r0 w1 r课程目录:) i6 A$ J& T! z
第一章:快速上手篇 (12讲)
5 u* u/ Q, v& s! y! c01 | 讲给你的 Kotlin 快速上手课程7 G% \6 [; I) C. _3 N3 |
02 | Kotlin 最基础语法
1 v# ]" L4 c* E! ?03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
: X/ K: f9 \$ _2 C2 \) u0 G04 | 新手使用 Kotlin 常碰到的问题
2 ]# I6 r1 {8 S! G) l+ g05 | 函数也能嵌套?这个特性要注意 G$ G6 R' I- o8 i& L; M
06 | 用扩展函数简化代码调用; X, y! I3 J% F2 O4 N1 f2 d9 o
07 | DSL的基础 : Lambda闭包的语法$ N( ?- D7 {9 a) N3 V
08 | 函数的参数是函数 : 高阶函数的注意事项
) \! o) r. `+ o/ e! T2 ~09 | 创建对象的关键 : Kotlin的构造函数
$ ]1 Q) A$ |% e: |1 E# \10 | 伴生对象 : Kotlin 特有的单例对象5 l+ o7 J/ ^4 l( g
11 | by关键字的使用" ~1 e, E# r2 |6 _ Q: S
12 | Kotlin 独有的特殊类3 ]- }' q% w, Y. \& h
第二章 :深入学习篇 (13讲)
2 l0 ^( ]8 P/ ?" D) e% d13 | 解构 : 特殊的数据拆箱方式
$ p o, Y& D2 B* g# V1 }# m6 w14 | Kotlin 的循环语法
. x! |* |: q2 B9 i- f1 f: C15 | Kotlin海量的集合操作符
# p; W0 o! S: {7 |" }0 a$ b# @16 | 作用域函数 : 你会爱上的自带函数
% {( Z6 B' [' H4 s17 | 运算符与中缀 : 定义你的专有运算符
, K/ Q& t* |5 P0 A7 t2 H7 ^2 e18 | 神奇的符号 : Kotlin 的反引号! a6 r0 @3 O1 e& }* D
19 | DSL 是什么,原来早就用过了% A' e3 i" ]- | B- ` e) H
20 | 构建 DSL 的常用方式: \* [9 k& g: O2 Y: Y& t- P
21 | 定义自己的 DSL
0 u0 ]/ I$ _+ G( V9 X- k; K0 B+ |5 z) r22 | 理解 Kotlin 中的常量与只读5 R Y. t5 k/ t: Z' s7 M/ N
23 | Kotlin 的空安全是如何实现的
8 J* P" O9 t' E# R# e7 t8 B24 | Kotlin 内联 : noinline与crossinline
% e, T+ [+ _. T' F25 | Kotlin 的真泛型与实现方式2 H# X9 W5 ^) l& c* a
第三章 :扩展库篇 (14讲)
; l* b; Q) \# b% p26 | 协程 : 提升性能的利器
, h8 {, ~ @* ~ X. p1 \! o27 | 在Kotlin 中使用协程
! Q3 G% M' U e0 K" {28 | 协程的启动参数
: _9 @1 U) S L7 P: [29 | 协程的语法糖- ^5 v. |) X+ o8 e. D1 j- S
30 | suspend : 知其然知其所以然
7 j, ]) ~6 x* w: @) Z' C31 | 协程的内部实现原理$ `. p [3 {2 J5 s3 D* o- Z. X
32 | 动手设计Kotlin 协程的yield8 A( Q) P) R4 ]. d$ {! h" B" ?7 ?
33 | 协程通信:Channel的使用9 `3 z; ~8 h }( a* r
34 | 小结 : 动手设计Channel版的EventBus( e8 G, o4 {: }- p, d; B
35 | NIO 与 BIO4 e# V9 k" Q; o3 z
36 | Kotlinx-io 的对象缓存池
; j3 c1 `8 h3 E3 s8 q6 s37 | Google 推出 KTX 的目的
" H2 w# ] v9 j& J38 | KTX 的实现
* |* J5 _$ t* Z39 | KTX 小结% z6 D1 q% e* {
第四章 :团队协作篇 (3讲)+ _% f: X& X( i: Q3 n% Z; S8 A! T* Y
40 | 在团队中使用 Kotlin$ s7 s6 o0 ]' A% z, H
41 | 用 Kotlin 改写现有工程
- J5 z X. k( {% [- v0 @42 | 滥用特性的后果:没人懂的代码
6 V. z% j8 u' O/ r- l# N/ E第五章 :Kotlin 跨平台篇 (8讲)! X, d) L# g. l3 a' Z
43 | Kotlin 服务端开发框架# O3 t# E% g) f1 |0 u
44 | Http Servlet 创建 Kotlin 版 Web 应用" E8 c8 G' ^# o5 l% X: Q a8 Q
45 | Spring Boot 创建 RESTful Web 服务' }. Z8 u: k0 K! I$ G) }
46 | Kotlin 开发 Web 前端
5 A: f e( q- ~' S3 A/ q7 L47 | Kotlin Native 开发) p- \- _% N& J7 R0 f
48 | 创建 Kotlin Native 基础库. W9 G- I! b# ^3 a
49 | 如何用 Kotlin 实现 Android MVP
8 A E5 q4 S& u k9 j0 S50 | Android MVP 的 Kotlin 代码& ]: S! p/ v, ?( ?9 c& {. a
) f; `, T8 B- c* m! U$ i
( B+ l% ?. p9 S j9 G% p9 M5 X
0 `' C$ J' U0 w% d
|
|