|
|
本课程分为三部分。
0 A9 I1 b2 ]/ s# a- C; m0 G 第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。6 G% {7 u) B% J& P. M' U- L. H
第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。- B2 }2 p" h7 h6 _1 g
第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。- T9 g! ?6 T. r7 m- S* j( t
课程目录:+ c" h. Q- h' F6 ]& x9 C
第一章:快速上手篇 (12讲)5 N/ t7 r4 ^4 |4 i# W. ~
01 | 讲给你的 Kotlin 快速上手课程
/ J7 l9 l: H9 N k02 | Kotlin 最基础语法
, | p; y6 ^: J. p6 G$ y03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗? z' F. B; y9 {( V
04 | 新手使用 Kotlin 常碰到的问题: k3 [+ W/ i3 C, z% e/ d6 ]
05 | 函数也能嵌套?这个特性要注意
' W( K$ _/ }+ J/ Z! E06 | 用扩展函数简化代码调用3 }" Y* k. X5 J9 K3 \
07 | DSL的基础 : Lambda闭包的语法
\0 ]& Q$ _; u( U/ r08 | 函数的参数是函数 : 高阶函数的注意事项
o' n3 L, H6 @1 y09 | 创建对象的关键 : Kotlin的构造函数
@, \8 t; i& Z3 O. G1 l4 G10 | 伴生对象 : Kotlin 特有的单例对象7 \6 x" h0 ]1 B& u7 w# s; X
11 | by关键字的使用. X+ \( |3 u8 }( d! _# A1 v
12 | Kotlin 独有的特殊类
( S8 b D7 K, U第二章 :深入学习篇 (13讲). u+ I& x$ Z& N; ]! Q d( s+ ?3 I
13 | 解构 : 特殊的数据拆箱方式& ?. J. L# V5 Y; Q$ b& Y9 Q
14 | Kotlin 的循环语法' d/ C- Q5 B T* Z
15 | Kotlin海量的集合操作符
3 W' b( k$ |# M# V( @16 | 作用域函数 : 你会爱上的自带函数
1 I- Y- x+ a! [3 t17 | 运算符与中缀 : 定义你的专有运算符
5 ~& o X% M. l7 R+ y2 B1 U18 | 神奇的符号 : Kotlin 的反引号+ ~0 Z+ K( S' f* i- f" H
19 | DSL 是什么,原来早就用过了
- u3 m( D0 G, T$ W5 \) x, O20 | 构建 DSL 的常用方式
( Z+ v2 e+ p! p- x' f21 | 定义自己的 DSL6 r8 G6 z* i7 \4 K
22 | 理解 Kotlin 中的常量与只读
. F) c/ x- m4 F4 t1 [& y3 q" G23 | Kotlin 的空安全是如何实现的
5 d. K( N; J0 l24 | Kotlin 内联 : noinline与crossinline
5 q& l U3 W* q2 |25 | Kotlin 的真泛型与实现方式% b$ O: A, p. C' n4 V; o
第三章 :扩展库篇 (14讲)3 l5 U' h$ |! w8 n+ `
26 | 协程 : 提升性能的利器% W, @4 B) R M. i% X1 r
27 | 在Kotlin 中使用协程/ e0 M1 G7 {3 F% _: T
28 | 协程的启动参数
8 ?& h+ a" P" W `' b) L" x29 | 协程的语法糖
1 q: _5 }+ {+ [; T' _30 | suspend : 知其然知其所以然% s! }3 S* X# W( m/ k8 I' P2 g
31 | 协程的内部实现原理# [/ R1 Z$ w) Z; X- G
32 | 动手设计Kotlin 协程的yield
' }* o9 ]4 V- i$ Z0 O8 |& k33 | 协程通信:Channel的使用5 `1 D* m1 I3 x& z* A
34 | 小结 : 动手设计Channel版的EventBus
5 w4 S) N: l q4 V35 | NIO 与 BIO1 @ A6 c% [4 {( p, [7 H5 Z0 }
36 | Kotlinx-io 的对象缓存池: X$ g7 l9 ]0 ~+ T- w
37 | Google 推出 KTX 的目的
8 X5 K7 z( O1 @5 c4 X3 X/ x, Y4 V38 | KTX 的实现3 s1 Z9 O& t( g
39 | KTX 小结
& i! L* s( f1 M, h# C% A. m ^7 v第四章 :团队协作篇 (3讲)
8 B; ^4 @7 d2 N" [7 X P40 | 在团队中使用 Kotlin
; `/ b3 z7 R0 I* Y, T41 | 用 Kotlin 改写现有工程' E0 l: r# c8 K E: Q/ w( ~6 J
42 | 滥用特性的后果:没人懂的代码' \: n: v0 X( c I
第五章 :Kotlin 跨平台篇 (8讲)
9 E4 N8 V( o& c9 y& A+ G43 | Kotlin 服务端开发框架
7 I/ z/ b# Q' N6 |6 s44 | Http Servlet 创建 Kotlin 版 Web 应用* R1 q( o$ w* y4 E
45 | Spring Boot 创建 RESTful Web 服务
' B$ A" R6 c8 X- X/ e46 | Kotlin 开发 Web 前端
. B/ }# u2 S! V7 Y* R47 | Kotlin Native 开发
" d% G/ L( @8 y7 k! \/ V48 | 创建 Kotlin Native 基础库
3 ]7 f/ [0 v/ ~- L49 | 如何用 Kotlin 实现 Android MVP5 q, q. b0 ~# L: Y4 e3 z1 P
50 | Android MVP 的 Kotlin 代码1 P9 r$ c& p6 k% k
7 [6 I8 I9 h$ e }, M, d7 h" z
- f; C' v% i5 A2 q' z# d# t% Q: N* F/ N8 j3 h8 w( U3 I
|
|