|
|
本课程分为三部分。4 V! Q1 M1 [; w, n: L2 w& N2 }
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
$ \8 {: [% a" k0 Y W0 q 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。+ `4 R* W% o, E8 m0 _8 {
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
) l: j4 d, p# H$ I/ |& Z课程目录:. @2 C& F: i Q/ v6 p
第一章:快速上手篇 (12讲)
1 r7 L* @2 F) s9 D3 }/ q! g01 | 讲给你的 Kotlin 快速上手课程' _3 K& g+ T h) P
02 | Kotlin 最基础语法
( y, W, i, O2 q5 x0 q v; ^03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
7 M9 X# \) q9 A1 o04 | 新手使用 Kotlin 常碰到的问题# m: J, U" g L
05 | 函数也能嵌套?这个特性要注意# X8 s8 W: i) h! T# r8 e
06 | 用扩展函数简化代码调用
- K" ~6 G( j8 r7 P1 S+ S07 | DSL的基础 : Lambda闭包的语法
! x( P- c* L T$ b: p* I5 Z5 x5 c08 | 函数的参数是函数 : 高阶函数的注意事项% J) m8 g: A. N) F+ Q
09 | 创建对象的关键 : Kotlin的构造函数) A. I8 z" H: I) E- U* j
10 | 伴生对象 : Kotlin 特有的单例对象
5 o5 z i: Q8 x3 _. [11 | by关键字的使用0 @/ U& A- }) M& k$ I
12 | Kotlin 独有的特殊类
! k2 _- @* u. E/ U& _& t第二章 :深入学习篇 (13讲)! N9 k5 f) u- M8 O6 z
13 | 解构 : 特殊的数据拆箱方式! y+ I+ ]' l' E* _$ [
14 | Kotlin 的循环语法0 |6 v! W5 v7 C; f7 _! ^" x
15 | Kotlin海量的集合操作符0 C& J, B4 \+ H2 a3 u
16 | 作用域函数 : 你会爱上的自带函数
- H% L: E5 K8 p! b: ?$ y. L17 | 运算符与中缀 : 定义你的专有运算符
6 F$ y3 U7 |- Q- I( x18 | 神奇的符号 : Kotlin 的反引号
: u+ |4 d3 E9 T3 t19 | DSL 是什么,原来早就用过了/ b. I1 O3 j6 ]$ i' r% {' e
20 | 构建 DSL 的常用方式
/ b& Q4 @8 W& k& S- N21 | 定义自己的 DSL9 o7 `7 X0 w- I |3 ?. m3 z
22 | 理解 Kotlin 中的常量与只读' g) g% v$ H( O1 e6 }
23 | Kotlin 的空安全是如何实现的4 S- {! L8 P6 y+ Z
24 | Kotlin 内联 : noinline与crossinline# A2 R) c8 ^, [. }$ b
25 | Kotlin 的真泛型与实现方式
. f) B7 k2 N9 N6 t第三章 :扩展库篇 (14讲)
: x2 D% Z" O) P2 P5 ~2 l26 | 协程 : 提升性能的利器$ j+ q2 e4 m" q9 p- z
27 | 在Kotlin 中使用协程( H" |8 R# W S ^, X( {
28 | 协程的启动参数8 ]) |$ c/ U+ `
29 | 协程的语法糖
$ Z; ^2 X* a" J30 | suspend : 知其然知其所以然$ I7 [% j2 k9 r t! ^0 [
31 | 协程的内部实现原理. w' A- t( U8 j2 | k2 x: ~; f
32 | 动手设计Kotlin 协程的yield
* h8 I' Q ], }% h3 l/ @33 | 协程通信:Channel的使用# s8 Z' ^* D% b- D T8 F
34 | 小结 : 动手设计Channel版的EventBus1 @6 Q+ m9 o+ L* k
35 | NIO 与 BIO5 P3 U6 w1 }- p
36 | Kotlinx-io 的对象缓存池2 |6 E: R- J( J! i1 T$ M! `" v8 U
37 | Google 推出 KTX 的目的" x5 R: [/ f1 H
38 | KTX 的实现
9 Z( |# E7 M/ v' d" C/ v39 | KTX 小结
+ |* d0 G; [/ P( v' k! {第四章 :团队协作篇 (3讲)
. O8 j% q0 P: V E$ e) I, C40 | 在团队中使用 Kotlin
( ?3 ?$ D, E( w2 j( \41 | 用 Kotlin 改写现有工程
$ |/ D9 H/ {: m$ j( U42 | 滥用特性的后果:没人懂的代码
0 K @" l n$ t: Y [) C" o( \第五章 :Kotlin 跨平台篇 (8讲)+ W6 h( x! {7 ` ~8 A
43 | Kotlin 服务端开发框架
" O1 k, n* L9 H3 O$ S x1 o: F% z/ Y44 | Http Servlet 创建 Kotlin 版 Web 应用: r; n5 j7 J. [, V6 y& T
45 | Spring Boot 创建 RESTful Web 服务7 }& k% U5 X1 S: {" U6 _, c, i
46 | Kotlin 开发 Web 前端+ I0 v# |1 E$ k$ U
47 | Kotlin Native 开发7 N3 [# [. m$ x; k" m
48 | 创建 Kotlin Native 基础库
! O5 Q# [1 z" L% V! I49 | 如何用 Kotlin 实现 Android MVP7 h, }) b. u0 O: a/ Z. m
50 | Android MVP 的 Kotlin 代码# ~) _: A3 f1 @' G+ g/ ^
. S9 n+ Q8 e7 k
' D$ Y7 ]; q) O; P3 g, V) J
$ ^. G/ c6 n7 F1 w9 k& C5 U4 i |
|