|
本课程分为三部分。
" h8 `) Q3 d% j4 G+ R 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
, \ Q. B$ r7 L u. w 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。3 P$ C8 i& C; e3 i
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。, R* M8 I, ]8 ~' s
课程目录:+ I7 T) ^0 n4 M, p
第一章:快速上手篇 (12讲)
, u% M7 q. f* W. L01 | 讲给你的 Kotlin 快速上手课程, Q) |8 ?) w$ t6 O7 p
02 | Kotlin 最基础语法9 N' r( o; @3 H; q% {0 I
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗? [1 O/ l& g, P' t0 h. z5 E9 W
04 | 新手使用 Kotlin 常碰到的问题$ Q9 w1 n* o! S1 `
05 | 函数也能嵌套?这个特性要注意
8 C: z4 j% M' M% f# B06 | 用扩展函数简化代码调用$ G3 \9 ] P9 D0 H
07 | DSL的基础 : Lambda闭包的语法
- |" _7 ]( {9 @6 M n) Y08 | 函数的参数是函数 : 高阶函数的注意事项% p6 v/ l- l4 \" }" ^
09 | 创建对象的关键 : Kotlin的构造函数
1 w3 A6 j4 k& \; i ?" H6 `! F10 | 伴生对象 : Kotlin 特有的单例对象
! L5 i1 ~+ `! h% {' `9 t5 c4 K# a11 | by关键字的使用
' t8 ]4 E" h1 `1 A* b1 k12 | Kotlin 独有的特殊类
5 n* L& q4 ~/ L* L第二章 :深入学习篇 (13讲)
% {; u9 Z/ |! H5 b13 | 解构 : 特殊的数据拆箱方式/ e3 v& \3 A! h. M8 F
14 | Kotlin 的循环语法7 t# O3 e( S$ x Y7 {7 P& A" v
15 | Kotlin海量的集合操作符8 p' C) {5 o7 l1 ?
16 | 作用域函数 : 你会爱上的自带函数
2 ^( _6 J5 u5 i" s/ O17 | 运算符与中缀 : 定义你的专有运算符* _5 {. F4 s) X; ^8 N) ^; K F! s' I
18 | 神奇的符号 : Kotlin 的反引号# i; _/ ~+ R2 o
19 | DSL 是什么,原来早就用过了4 {! n5 O8 V+ ?, V3 s
20 | 构建 DSL 的常用方式, Z! s( z1 U( d F
21 | 定义自己的 DSL
6 C) v) N& W" Q. I22 | 理解 Kotlin 中的常量与只读
3 A, f4 D. X' T. I# I23 | Kotlin 的空安全是如何实现的
/ e9 n! E/ T) H2 Y24 | Kotlin 内联 : noinline与crossinline* ~& I, `# [" u: |# C0 d
25 | Kotlin 的真泛型与实现方式
. L( k7 w7 l# t$ s8 y& d# a3 ]第三章 :扩展库篇 (14讲)
0 o6 ]% o1 I, p0 _26 | 协程 : 提升性能的利器
; v7 f; n4 d8 n' v$ e' {3 Y27 | 在Kotlin 中使用协程
& S% Q+ N8 l" L! c- D6 V/ L28 | 协程的启动参数
$ @3 O; M1 ]3 T7 K3 O+ n2 X29 | 协程的语法糖
* K, V7 V. _7 P2 D* b3 d3 J30 | suspend : 知其然知其所以然5 C! i" y, X9 v7 ]8 m/ g0 a2 I
31 | 协程的内部实现原理
9 h. c$ ^7 u3 U# O+ h32 | 动手设计Kotlin 协程的yield: ~6 |% T$ H" m3 D& B9 i8 J* R7 G
33 | 协程通信:Channel的使用
1 U4 A" ~1 P1 y4 G5 X7 e ~34 | 小结 : 动手设计Channel版的EventBus% D, j* R( ~9 f7 V4 Q
35 | NIO 与 BIO, \+ w) B8 F0 X$ [' \
36 | Kotlinx-io 的对象缓存池* _" e& X* M- r/ ^* Y! R0 L! a* x4 Q0 L
37 | Google 推出 KTX 的目的
) |( Q. G& j: p3 ~- h38 | KTX 的实现
, V3 i6 [6 ?6 o* ]8 J8 D/ f) \3 Q39 | KTX 小结 k, _5 A0 o: k# t; `- T( l
第四章 :团队协作篇 (3讲)
+ n3 c0 C+ F3 h3 @2 m- Y40 | 在团队中使用 Kotlin
5 N8 ]0 ~" k: }! s41 | 用 Kotlin 改写现有工程
9 E% i+ ?4 n9 C42 | 滥用特性的后果:没人懂的代码) |1 l; O* N! }2 b0 D: X; c# U
第五章 :Kotlin 跨平台篇 (8讲)
4 u# `. ^& E& y" i! r Q43 | Kotlin 服务端开发框架* E! ^( Z3 i; ]; I( g! n
44 | Http Servlet 创建 Kotlin 版 Web 应用# ^2 T8 O% B8 I/ z, X; y5 s
45 | Spring Boot 创建 RESTful Web 服务
. A' u% G5 q* ~8 D46 | Kotlin 开发 Web 前端! `* f, p0 c1 a" `; P
47 | Kotlin Native 开发$ @( J+ d7 G* A
48 | 创建 Kotlin Native 基础库
$ \' q$ U* h, x9 _; g! }/ k- n8 T* g49 | 如何用 Kotlin 实现 Android MVP: K# P) U6 E. [6 @$ Y0 }
50 | Android MVP 的 Kotlin 代码
5 s1 q, {, d* J9 m " m5 |" V5 Y& i, w
9 X& z" Q8 }# m' F
2 F5 B7 o8 i6 ]. Z4 v* M |
|