|
|
本课程分为三部分。$ z K6 s' N7 I1 x3 ~
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
; T6 y/ Q; |' M6 K1 I% e0 R9 M6 T, q 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。2 @) h" V+ d; X" S6 p9 i: \! D
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
8 A) _* Y. ?' |5 z" l# c7 g1 O课程目录:
; I+ j* r2 {7 [% p. i第一章:快速上手篇 (12讲)
' }6 ]# ~/ S$ i01 | 讲给你的 Kotlin 快速上手课程
1 N5 s) P$ B- ?+ B2 v( O% Q02 | Kotlin 最基础语法% i3 M/ b3 Y Z+ }( M- ?
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
; ]9 D! z/ v* n3 v# E04 | 新手使用 Kotlin 常碰到的问题
( l: ^) C$ E% m4 W05 | 函数也能嵌套?这个特性要注意$ G: @0 \' k( V# n% L. I# M
06 | 用扩展函数简化代码调用
) ~3 R: A8 [, B& ^7 o% p07 | DSL的基础 : Lambda闭包的语法. x$ h$ r2 G/ d7 c
08 | 函数的参数是函数 : 高阶函数的注意事项5 u f, Q& M$ ?' I
09 | 创建对象的关键 : Kotlin的构造函数! d8 I' i H: v
10 | 伴生对象 : Kotlin 特有的单例对象$ `, t4 E, R3 }! i4 I/ ?- q2 m
11 | by关键字的使用
& z% d! s. t3 B) r- z, Y: Q12 | Kotlin 独有的特殊类
2 V, v$ L$ V( D6 j第二章 :深入学习篇 (13讲)
+ r9 w1 D0 p) ~7 K) S& Z9 G13 | 解构 : 特殊的数据拆箱方式
7 S6 n7 c. z0 g7 n5 H; u* a& r6 z14 | Kotlin 的循环语法
7 N4 w* K! J6 o# ?- a* V; D15 | Kotlin海量的集合操作符9 D. [; I5 h: s% _5 e4 |, k
16 | 作用域函数 : 你会爱上的自带函数& Z* o0 J/ n- ^1 x% J9 }
17 | 运算符与中缀 : 定义你的专有运算符
( ]* n8 n( P7 H# Q9 c18 | 神奇的符号 : Kotlin 的反引号* r6 r; l6 b5 w
19 | DSL 是什么,原来早就用过了# I" C; E! D9 S
20 | 构建 DSL 的常用方式
1 Y: V# v$ [" w; X# M21 | 定义自己的 DSL
( y+ o( l6 w" B) x0 n- }22 | 理解 Kotlin 中的常量与只读
0 P4 |. M" K/ i H; V23 | Kotlin 的空安全是如何实现的
* N$ s* j! b; v0 o24 | Kotlin 内联 : noinline与crossinline0 C; \3 _) |/ T& o9 {
25 | Kotlin 的真泛型与实现方式+ l" E1 \3 K2 b8 G
第三章 :扩展库篇 (14讲)
% D5 ?# Z6 u; [) I3 T0 {1 n; d26 | 协程 : 提升性能的利器
+ C# d, l7 C* O( _! [8 `3 S( R27 | 在Kotlin 中使用协程) l p; L" j, ?. Y2 h
28 | 协程的启动参数& `3 n$ B; Q) g1 a" x0 _) r9 H
29 | 协程的语法糖
8 o0 k: K4 v, x30 | suspend : 知其然知其所以然6 ]' k0 @( `) ]! A ` s/ }
31 | 协程的内部实现原理* ]$ H) R' C! l4 b0 l) {" i( u
32 | 动手设计Kotlin 协程的yield
6 `. }% [7 n1 S1 }* G4 o- T4 Q$ Q q8 k33 | 协程通信:Channel的使用) }0 N3 I7 K$ \2 C
34 | 小结 : 动手设计Channel版的EventBus @; h8 r; Y( t2 n3 |0 \; l' a0 D
35 | NIO 与 BIO+ D4 e" t' p$ Z
36 | Kotlinx-io 的对象缓存池
1 l- x/ Q u; B$ L9 d! E37 | Google 推出 KTX 的目的
* e: k8 m1 b, s3 p' p6 N38 | KTX 的实现! P8 c+ F4 k; a
39 | KTX 小结5 m6 s9 a7 P# {
第四章 :团队协作篇 (3讲)' F, A; Y4 b' y
40 | 在团队中使用 Kotlin+ Q4 ?. A0 G$ u6 Y
41 | 用 Kotlin 改写现有工程; ~# n0 T5 V" Q
42 | 滥用特性的后果:没人懂的代码
) g) m5 C" p/ J' ?) h第五章 :Kotlin 跨平台篇 (8讲)
?8 I( J! a# M' f# K% O43 | Kotlin 服务端开发框架 Z# r7 D" ?. g4 B
44 | Http Servlet 创建 Kotlin 版 Web 应用
0 Z" i4 g( k8 C9 f45 | Spring Boot 创建 RESTful Web 服务
i% X* i( s ^+ o: w% {- S% W46 | Kotlin 开发 Web 前端- p2 @1 R' P6 I% F8 U* \
47 | Kotlin Native 开发0 C, P3 j3 U% E
48 | 创建 Kotlin Native 基础库0 F8 r) s) j/ U: I! i
49 | 如何用 Kotlin 实现 Android MVP
. a; T3 C/ ~, W+ Z+ T. p. d3 S! A50 | Android MVP 的 Kotlin 代码
2 Z8 h" p! W: u
2 ?- [0 |0 P, i7 I
/ @1 g* b& T: a: s5 R/ t9 T: \" w) i
|
|