|
|
本课程分为三部分。. |* y* `3 A6 U* @3 n, N
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。) ]: h4 [& J7 P ?4 c2 p) S
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
( R l* N8 Q# N+ k" p" p 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。& x) X" |& P8 V
课程目录:
6 M9 f, `& C; a# g- u* z4 c第一章:快速上手篇 (12讲)* r% T& A7 \6 r9 b/ `/ M
01 | 讲给你的 Kotlin 快速上手课程
a$ @1 H6 n! M02 | Kotlin 最基础语法
5 k$ i* u0 R. o0 j03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?2 |/ r/ Q1 ]* q
04 | 新手使用 Kotlin 常碰到的问题" M) x# e7 e* o9 G. e
05 | 函数也能嵌套?这个特性要注意2 }6 V: F4 D* G0 Q) p& c
06 | 用扩展函数简化代码调用( }% m7 R+ i6 r W' z: U
07 | DSL的基础 : Lambda闭包的语法4 @) a ?( M+ T. r2 p: ?7 o$ E
08 | 函数的参数是函数 : 高阶函数的注意事项- z" J6 @8 N ?7 L0 s0 b) ?
09 | 创建对象的关键 : Kotlin的构造函数
( o, g2 v8 m9 }2 e Z. h8 b10 | 伴生对象 : Kotlin 特有的单例对象1 a* k/ U: B1 V! \
11 | by关键字的使用
; f) c0 R5 F" G P! i# H12 | Kotlin 独有的特殊类$ x6 N- X$ p* M6 V7 `
第二章 :深入学习篇 (13讲)
. e2 C' z F- V. l: ^ {13 | 解构 : 特殊的数据拆箱方式
5 ~ W; O' \& B9 j* u) l14 | Kotlin 的循环语法% |4 J9 m0 m. n8 Q$ Y7 w* i0 b7 v, ]
15 | Kotlin海量的集合操作符/ m5 a* P$ G# Q# U( L8 I
16 | 作用域函数 : 你会爱上的自带函数
- @" G- U ]7 _( X& C$ Z17 | 运算符与中缀 : 定义你的专有运算符! S: u8 Q* L ?! r: H6 S# [
18 | 神奇的符号 : Kotlin 的反引号2 n: E" T, u9 x5 n; [! P7 N
19 | DSL 是什么,原来早就用过了% F2 e, Q( \% ~( R1 Z
20 | 构建 DSL 的常用方式
7 l ~* z. o$ e! R+ f21 | 定义自己的 DSL
% F6 v8 I3 @: D* a& j7 |; Z22 | 理解 Kotlin 中的常量与只读
8 Y3 F+ v: H3 ]: z" y23 | Kotlin 的空安全是如何实现的6 l- c3 n5 r: R1 j1 E& p& D
24 | Kotlin 内联 : noinline与crossinline
# G3 H- B( m8 n" b1 G3 q" h8 D25 | Kotlin 的真泛型与实现方式& J1 u2 _" q- s1 \ L: Q5 q
第三章 :扩展库篇 (14讲)$ N/ t2 q7 P) @* C8 k2 q- J' J3 Q
26 | 协程 : 提升性能的利器
/ q4 O) I) B5 w$ r; V. n) I4 B27 | 在Kotlin 中使用协程6 S2 K& ~2 w% f
28 | 协程的启动参数
) @2 Z! l3 X. _4 y& b29 | 协程的语法糖
8 r6 i/ A# S7 T" y7 \, }" X8 f1 l# p30 | suspend : 知其然知其所以然, Y, C: M* [. z }- |2 p+ D
31 | 协程的内部实现原理
( @5 N$ ?0 q% N# M3 Q2 q32 | 动手设计Kotlin 协程的yield9 _& X* }9 ]1 m
33 | 协程通信:Channel的使用
- r: V9 U L0 j; T: q34 | 小结 : 动手设计Channel版的EventBus
9 ]# U- `& [5 U& r6 \35 | NIO 与 BIO
, M; o8 O1 R1 }/ j5 n; `' _36 | Kotlinx-io 的对象缓存池
8 _) `& F3 A8 `1 P7 m37 | Google 推出 KTX 的目的
0 f Y3 r; y! i$ r. {) [6 H38 | KTX 的实现- D7 O% H, s" v/ ~; H' b7 R# E5 _
39 | KTX 小结; l' t! u) l: ^! R, r
第四章 :团队协作篇 (3讲)% {# p( Z- I! M0 D- {. @0 Y/ r
40 | 在团队中使用 Kotlin
5 X: l$ E/ K0 q41 | 用 Kotlin 改写现有工程
, P/ c% Q; `9 e% p) g, I4 L F( f8 Y- j42 | 滥用特性的后果:没人懂的代码
( f4 g' R1 n: u. U' @第五章 :Kotlin 跨平台篇 (8讲)8 R6 y! s$ h& r" K1 R) E
43 | Kotlin 服务端开发框架2 y+ c3 A" T6 X+ `, s
44 | Http Servlet 创建 Kotlin 版 Web 应用
9 }7 }2 j. |* R9 D: q2 m* _5 d45 | Spring Boot 创建 RESTful Web 服务9 i+ r) P+ z0 I# H( @
46 | Kotlin 开发 Web 前端
: B( I# v# {! d* w+ x! t47 | Kotlin Native 开发
; M- t9 Y2 [. h: t* t48 | 创建 Kotlin Native 基础库, ^; g' K5 A+ q/ N) \2 b# E
49 | 如何用 Kotlin 实现 Android MVP
9 b: i' y9 Y' d0 O50 | Android MVP 的 Kotlin 代码 X1 P7 I% [/ W5 b# O( p" V
$ m* t% V; `4 m
( s% C9 _: T: K. m5 H' S
/ h+ Y' o7 z; m9 V& e* V! Q |
|