|
本课程分为三部分。, V4 ~+ n3 p# P' Z1 q) p
第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。
( [1 ?" t; u. k2 x3 Y) ]# v9 Y 第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。8 [) J% r0 a: M6 I; \ I0 u
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。9 n- r& C" c' N. T9 b
课程目录:
4 L% A3 T, v6 W9 i1 Y第一章:快速上手篇 (12讲)
$ m& x, F6 T7 N- K01 | 讲给你的 Kotlin 快速上手课程7 c# G7 s2 a# m/ _
02 | Kotlin 最基础语法
/ H: p" ?5 K8 s' X5 `! O4 E$ \' l03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
8 w( b; Z' |: Q04 | 新手使用 Kotlin 常碰到的问题
+ |1 I1 P7 [0 Y% {0 \+ b05 | 函数也能嵌套?这个特性要注意
; _' D5 w, P) F4 o" E- w1 M06 | 用扩展函数简化代码调用. F" h- e7 O7 o+ w) @& m
07 | DSL的基础 : Lambda闭包的语法
( x( n5 z( R; n08 | 函数的参数是函数 : 高阶函数的注意事项: _2 d% i2 o0 i, v( t
09 | 创建对象的关键 : Kotlin的构造函数
6 C( l$ ~# b' R% @10 | 伴生对象 : Kotlin 特有的单例对象
6 k2 L A* ~& p' L4 H11 | by关键字的使用% J- X4 C1 f/ r5 B
12 | Kotlin 独有的特殊类
5 ]0 ~& n& n3 `5 S( @: O, m% |第二章 :深入学习篇 (13讲)
D6 y" p V5 r6 [13 | 解构 : 特殊的数据拆箱方式
# O1 v$ N1 [$ m/ I14 | Kotlin 的循环语法/ W# R1 l* X( x( `- |, e* N' k
15 | Kotlin海量的集合操作符" I" ?/ {3 N: O, q8 _0 X
16 | 作用域函数 : 你会爱上的自带函数& T% `( U+ a, F) ~) D
17 | 运算符与中缀 : 定义你的专有运算符
) i7 W; v$ I4 L' L' X3 |9 i r18 | 神奇的符号 : Kotlin 的反引号
7 _# ^4 N" O$ P19 | DSL 是什么,原来早就用过了
3 ?# ]9 P0 u0 O+ A% n+ o20 | 构建 DSL 的常用方式
& y/ w( A# h6 H21 | 定义自己的 DSL/ u0 b$ X/ B) e* w' s/ S' u" P' B
22 | 理解 Kotlin 中的常量与只读
7 u, {0 N3 v6 S7 f23 | Kotlin 的空安全是如何实现的& e9 p" q) k$ t* k# D0 r
24 | Kotlin 内联 : noinline与crossinline
) W7 {3 @- O# V& A25 | Kotlin 的真泛型与实现方式5 v0 W) d: r/ U; X7 A0 ^0 p# s- [% E
第三章 :扩展库篇 (14讲)
2 ^7 h* B, N2 p$ b+ I4 @26 | 协程 : 提升性能的利器7 r2 q; S6 T7 b$ Z$ B
27 | 在Kotlin 中使用协程' T8 e$ ]! }0 J, g: N1 ]5 F: A, X
28 | 协程的启动参数
! f5 x7 u8 ?$ Z! v' _* |; u% Z29 | 协程的语法糖
6 _' s7 m7 V) l; F4 i/ D30 | suspend : 知其然知其所以然
- w6 a9 }& l& Z u) |31 | 协程的内部实现原理
* n: }6 Z6 u! H32 | 动手设计Kotlin 协程的yield
6 c7 ?9 u8 i1 i' f- a5 g4 D33 | 协程通信:Channel的使用$ W& U/ N! ?- o' ]. ^1 T* Z
34 | 小结 : 动手设计Channel版的EventBus8 b6 N$ L# `& Q
35 | NIO 与 BIO* ^; g: W# |4 q6 J% [* q+ ^2 n `
36 | Kotlinx-io 的对象缓存池! V" T" B8 l% m8 d% {7 x/ C) O& B
37 | Google 推出 KTX 的目的
7 B- ?4 O5 \, A7 f% e. D7 u38 | KTX 的实现
& R- t9 L: r$ K39 | KTX 小结
/ K4 T# W% @2 a0 l; I第四章 :团队协作篇 (3讲)* h7 ?: O' T0 G' ^
40 | 在团队中使用 Kotlin/ [. S' P+ M9 `. a
41 | 用 Kotlin 改写现有工程
1 Z$ V9 u7 G3 r% N; o42 | 滥用特性的后果:没人懂的代码+ Q: E0 @- j5 s- C
第五章 :Kotlin 跨平台篇 (8讲)1 l9 b) N; v5 y0 g1 c! x
43 | Kotlin 服务端开发框架% X3 T" L( V) H8 R) C
44 | Http Servlet 创建 Kotlin 版 Web 应用
( a0 r5 }9 j( h1 O. R45 | Spring Boot 创建 RESTful Web 服务6 @- a6 D- H2 w, v( d1 |. T
46 | Kotlin 开发 Web 前端2 [5 t4 l4 J' x' G! S2 @& W
47 | Kotlin Native 开发
) g6 ^) r6 x* |8 x0 j* G48 | 创建 Kotlin Native 基础库. A |# r* K6 a# S2 Z7 C
49 | 如何用 Kotlin 实现 Android MVP
1 J$ |; @! Y+ e; c50 | Android MVP 的 Kotlin 代码
# I$ }7 E2 M. S$ y+ V4 Z
$ s8 H3 i7 G/ e4 [9 C) q% |, l" [& u
: [) y" i' o+ h7 r& L, a, v8 h- ^, @6 V5 I3 {) F( S
|
|