|
|
本课程分为三部分。
! _2 \3 ?7 K9 _& L0 y5 G 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。4 `! N7 K4 T; T s. n
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。
' }* }9 N7 z4 R; U5 n M; ^7 r7 ] 第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。0 ?! g K8 r( Q% ~2 {
课程目录:2 f8 I7 K0 ?7 ?! a
第一章:快速上手篇 (12讲)
& p2 j; W" A1 @8 F1 a01 | 讲给你的 Kotlin 快速上手课程& L8 m3 W" X: J. v) U+ V
02 | Kotlin 最基础语法
: l4 Z% t5 \8 }' L6 K9 Z* N" n03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?1 j/ _4 J. P$ x: Q4 u1 @5 y- O$ m
04 | 新手使用 Kotlin 常碰到的问题$ j0 _; u9 }8 R0 h0 |
05 | 函数也能嵌套?这个特性要注意
4 E# `% S" j( |' \5 V$ \# r7 G2 g06 | 用扩展函数简化代码调用2 C1 t( u/ ]) m% A/ G; |: X; l
07 | DSL的基础 : Lambda闭包的语法& f+ \) |/ j% r( @" U) z2 [9 a
08 | 函数的参数是函数 : 高阶函数的注意事项& T+ s4 a2 n- G) Y! O- G6 R2 r
09 | 创建对象的关键 : Kotlin的构造函数/ N9 f* C6 q# c0 y6 a+ G
10 | 伴生对象 : Kotlin 特有的单例对象/ z( b( {' a/ G, y. z! l5 g' f
11 | by关键字的使用* v% k. s) Q- h! e) T/ F) |+ }
12 | Kotlin 独有的特殊类1 z& i! t9 L' D8 S' t; H! ?
第二章 :深入学习篇 (13讲)
; m2 d4 Y. @8 r6 G$ S$ L4 A8 d$ @13 | 解构 : 特殊的数据拆箱方式
, m( O, g% I; ]3 w8 a5 t, g14 | Kotlin 的循环语法
9 m$ j; _! a/ r4 l5 |5 [15 | Kotlin海量的集合操作符# o' k$ t9 L1 r+ O4 A5 _* C
16 | 作用域函数 : 你会爱上的自带函数0 N+ A2 s0 e6 b( f4 d( Q
17 | 运算符与中缀 : 定义你的专有运算符% z" a. _& _& P2 k# T
18 | 神奇的符号 : Kotlin 的反引号1 N7 T7 K t3 `$ ^0 [1 Q( I* s( Y
19 | DSL 是什么,原来早就用过了
+ P4 E. A, K" ]/ [! K* w$ r20 | 构建 DSL 的常用方式' K" u0 i8 W/ v, c: `
21 | 定义自己的 DSL0 E9 o4 P, ~# |4 c, S5 p% S
22 | 理解 Kotlin 中的常量与只读8 E" _$ _+ W9 ^3 l" b0 h% @ r5 f
23 | Kotlin 的空安全是如何实现的" K/ K4 B9 X: v* Y
24 | Kotlin 内联 : noinline与crossinline+ t3 _ E" I8 `6 f6 f' E1 ~ m* V+ [
25 | Kotlin 的真泛型与实现方式
7 ?0 [ m' k8 n3 k第三章 :扩展库篇 (14讲)/ `. t$ J. T. |2 l0 Y4 b, @1 O% Q
26 | 协程 : 提升性能的利器
! C" i1 _( C" F- w27 | 在Kotlin 中使用协程. j& Y' h+ G4 z7 s
28 | 协程的启动参数
! z( A! j8 w" i8 Q# J. q1 I4 E29 | 协程的语法糖5 U% Y% ?5 Q/ u, U; x2 [7 k9 n& y
30 | suspend : 知其然知其所以然& k/ t( H* r1 _* s: F5 P3 f
31 | 协程的内部实现原理
T# Y8 e- b& k( l: q4 ~32 | 动手设计Kotlin 协程的yield: {, \, `8 t" e1 I8 @1 s
33 | 协程通信:Channel的使用
1 n, q5 P& T" Y$ V" _: d u% B34 | 小结 : 动手设计Channel版的EventBus \# y/ ?7 v3 z6 K! \
35 | NIO 与 BIO" S: }( q4 t; c: u8 N# E# o. s
36 | Kotlinx-io 的对象缓存池; ^: \- m. K# ^- }2 ~
37 | Google 推出 KTX 的目的! ^; B1 ^) s, z1 i; q4 Y4 f
38 | KTX 的实现' i% q+ ?5 l1 [. Q
39 | KTX 小结+ \6 _( p2 f W1 T0 v1 R% d
第四章 :团队协作篇 (3讲)
* X9 u7 O9 b7 C40 | 在团队中使用 Kotlin
6 f! ~9 r5 v# B' f- T" y* L' I41 | 用 Kotlin 改写现有工程
9 U6 s1 ~. Z4 T42 | 滥用特性的后果:没人懂的代码
1 h0 d8 K# B7 j& H) }第五章 :Kotlin 跨平台篇 (8讲)8 h, j2 A( y( h* O9 K
43 | Kotlin 服务端开发框架9 z% S- y! X7 y( L7 _
44 | Http Servlet 创建 Kotlin 版 Web 应用
2 n: V7 i( `# ?45 | Spring Boot 创建 RESTful Web 服务
7 j; l9 G, a! r, V6 P46 | Kotlin 开发 Web 前端% o7 F$ U; Z) W4 D
47 | Kotlin Native 开发& V k3 g, e1 j
48 | 创建 Kotlin Native 基础库
) C0 ~6 \. A- V49 | 如何用 Kotlin 实现 Android MVP
$ Y8 @. k N0 c4 L! b, U50 | Android MVP 的 Kotlin 代码
# b9 X4 {' P/ G+ J' y/ ` `
. f! L# q; M& `6 l& P3 O
7 h* V ]7 L4 O; s# X$ [
; r/ l2 P. V# a' }, K) ~( b5 @
|
|