|
|
本课程分为三部分。4 j* P( c |6 w. D) s
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
W: c* w! F, |3 b* r( C1 y 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。+ R) k- ]: i/ a1 l5 s
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。
4 ~2 c' b# e" u8 t: L课程目录:) l# M) u: d% V8 `9 ~; k5 F
第一章:快速上手篇 (12讲)
2 U( e: \, @* q% X* O8 @/ k# S01 | 讲给你的 Kotlin 快速上手课程
- E4 A1 r5 u: m# I) }02 | Kotlin 最基础语法* h* K6 |7 t4 b9 I* T
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
T. ?' \) }2 J$ g) r. b Q2 p+ f04 | 新手使用 Kotlin 常碰到的问题9 w8 y* L3 v( p) P
05 | 函数也能嵌套?这个特性要注意
3 x5 Z; e0 W9 G) t7 D9 a7 q3 |06 | 用扩展函数简化代码调用4 s, a6 e y( g8 [) g1 G& @: F0 [
07 | DSL的基础 : Lambda闭包的语法
7 U, z' j# G7 O2 A: w08 | 函数的参数是函数 : 高阶函数的注意事项
" g1 [/ k4 H: [. ?' z09 | 创建对象的关键 : Kotlin的构造函数, `2 r0 R$ e, e
10 | 伴生对象 : Kotlin 特有的单例对象
- ^' D6 K6 W. h( a, r* G11 | by关键字的使用
9 ^2 p$ u9 d5 b2 S12 | Kotlin 独有的特殊类, [, N* {$ `% }3 s9 m9 c- k
第二章 :深入学习篇 (13讲)
' f4 p6 p, \9 N `13 | 解构 : 特殊的数据拆箱方式% j" z* N: ^% \& [/ U
14 | Kotlin 的循环语法5 C) c K& w; C+ j2 S( k
15 | Kotlin海量的集合操作符
' b7 {' J8 [+ P1 u. u% y16 | 作用域函数 : 你会爱上的自带函数0 x" P% P _; g. Q3 b5 U7 h
17 | 运算符与中缀 : 定义你的专有运算符
# q( d E/ H V$ v1 y* Q j18 | 神奇的符号 : Kotlin 的反引号8 z( E7 |1 X- q. E; F5 |5 s+ @
19 | DSL 是什么,原来早就用过了, t0 b: D- c: k. C) C( v
20 | 构建 DSL 的常用方式! z# m% Y7 T( D8 X
21 | 定义自己的 DSL
# ?" g2 U s/ s( f22 | 理解 Kotlin 中的常量与只读
. x* w. W' r& j. ^7 k23 | Kotlin 的空安全是如何实现的; _5 S+ p; d9 W6 x! ^" H) r
24 | Kotlin 内联 : noinline与crossinline& U- g; ^! `1 o( t5 R! L5 P
25 | Kotlin 的真泛型与实现方式
+ O1 {4 o& @5 g第三章 :扩展库篇 (14讲); D: Z2 U% o' M m7 i' v
26 | 协程 : 提升性能的利器
; L( G9 Y& ^1 ^( q$ l7 w27 | 在Kotlin 中使用协程/ I% y3 _: R _8 B% V! {
28 | 协程的启动参数$ I; B- T& K6 V; F( H% `; V; c
29 | 协程的语法糖
2 j1 r& e! B, O6 _; f30 | suspend : 知其然知其所以然+ x7 l8 q; G2 k, [- g
31 | 协程的内部实现原理$ ^2 ?7 }5 d" b; H8 M: v, }
32 | 动手设计Kotlin 协程的yield7 y7 C( V6 f0 C1 _5 W/ ^
33 | 协程通信:Channel的使用
7 W& X0 b. `! Z8 f) S% [; _34 | 小结 : 动手设计Channel版的EventBus* X$ i" v+ h) h9 {: h& i
35 | NIO 与 BIO
* r& |) P, p, I36 | Kotlinx-io 的对象缓存池
# `0 i4 E# \5 d2 P& G, O5 O37 | Google 推出 KTX 的目的
" Y+ T' b; ~% |6 d" D4 G' A38 | KTX 的实现
( w" {& u" Y8 p39 | KTX 小结
! d; c4 s# W* s1 o6 y第四章 :团队协作篇 (3讲)4 g; W+ Y7 d8 X0 s
40 | 在团队中使用 Kotlin
. `- l: H" F' R0 w# r41 | 用 Kotlin 改写现有工程8 Y" S1 l+ R# Z/ ^* `" s
42 | 滥用特性的后果:没人懂的代码/ p2 N4 c: o; ~) d8 ?8 n2 A2 ], I; A
第五章 :Kotlin 跨平台篇 (8讲)
4 L- u/ }8 T9 \9 p0 _43 | Kotlin 服务端开发框架' d4 g8 V [* f# p
44 | Http Servlet 创建 Kotlin 版 Web 应用
, g4 P. T, J$ T45 | Spring Boot 创建 RESTful Web 服务
2 Z; H8 O* n: e) ?5 {4 j2 ~. L46 | Kotlin 开发 Web 前端
5 n0 F$ t" ?' g9 A, d, v0 b. M47 | Kotlin Native 开发" S) v' w6 x: ~6 }* E# X4 ^6 ^
48 | 创建 Kotlin Native 基础库( r% a- |! x4 C: L, i) m7 S+ R
49 | 如何用 Kotlin 实现 Android MVP; C2 ~: {) D) Y6 R7 q
50 | Android MVP 的 Kotlin 代码
* [7 C, u) h( q: R' u
6 @! a4 h- \" ?6 L) \
# |: w) W1 m1 {) B0 a" n" ~6 ^3 U8 M3 F0 p8 ?- f1 A! q+ R: N% A6 T: k
|
|