你将获得
- 系统高效的 Kotlin 学习路径
- 对比 Java,剖析 Kotlin 核心知识点
- 一套独创的协程思维模型
- 5 大实战项目,搞懂 Kotlin 特性的应用场景
课程介绍
自从被 Google 点名宣布成为 Android 的官方开发语言之后,Kotlin 不仅关注度日益上升,其应用范围也已从 Android 开发扩展至后端、跨平台等技术领域,发展前景和“钱景”都十分广阔。
除此之外,Kotlin 最吸引目光的地方就在于它与 Java100%互操作,它知道开发者喜欢什么、讨厌什么,它甚至知道开发者容易犯什么样的错误,从而在语言设计的层面就规避错误。这也是很多程序员表示,“Kotlin 用过了就回不去”的原因。
但是,当你深入了解了 Kotlin 之后,会发现这是一门易学难精的语言。
Kotlin 的语法非常简洁,确实极其容易入门;但同时,它又拥有许多的新特性,比如协程,比如函数式编程,并不容易掌握。所以这样就会导致,你在学习时很容易浮于语法表面,却体会不到 Kotlin 设计的美感,悟不出 Kotlin 特性的应用场景,看不到 Kotlin 底层的实现原理,也很难能写出优雅的 Kotlin 代码。
所以,我们邀请了 Google 官方认证的 Android & Kotlin 领域开发者专家(GDE)朱涛老师,他是国内第一批探索 Kotlin 的 Android 开发者,他会根据自己多年的学习、实践和研究 Kotlin 编程的经验,从基础知识、协程思维、源码解读、实战项目等不同维度,来帮你快速掌握 Kotlin 的核心知识点,理解 Kotlin 的编程思想,让你最终可以用漂亮的 Kotlin 代码,来解决工作中的问题。
课程模块设计
课程主要分为四大模块。
基础篇:这个模块会帮你集中精力攻克 Kotlin 的核心语法,包括基础语法、面向对象、高阶函数、扩展、委托、泛型、注解和反射。并且,每学习三到四个语法,就会通过一个实战项目将这些知识点串联起来,从而达到学以致用的目的。
协程篇:协程,是 Kotlin 当中极其重要的特性,同时也是 Kotlin 当中极其难学的特性。这个模块会深入讲解协程当中的各个概念,并且会给你介绍协程的思维模型,帮助你完成“线程思维”到“协程思维”的转换。当然,在这个过程中也会结合实战项目,让你能上手体验协程的魅力。
源码篇:在理解了前两个模块的内容之后,你就算是初步掌握 Kotlin 这门语言了。不过,对于任何知识,不仅要知其然,还要知其所以然。Kotlin 官方的源代码其实是一座宝库,里面充满了 Kotlin 的最佳实践。通过研究 Kotlin 的源代码,你可以进一步加深对 Kotlin 理解,同时,也可以去探究它底层的原理。
Android 项目篇:目前来说,Kotlin 最主要的应用还是在 Android 领域。因此,在学完前几个模块以后,会再带你来看看 Kotlin 在 Android 领域到底能做什么。Kotlin 凭什么能被 Google 指定为“官方语言”?如何使用 Kotlin 来提升开发效率?如何将 Kotlin 的特性融入到 Android 的架构设计中?最后,也会带你一起来用 Kotlin 写一个简单的 Android App。
除此之外,课程在更新过程中还会不定期进行加餐,给你分享 Kotlin 在各个领域的一些知识,来进一步扩展你的 Kotlin 知识面。比如,Kotlin 协程在后端、Android 端的应用、Kotlin Multiplatform 在跨平台当中的应用,以及 Compose 在 UI 领域的应用。
课程目录
开篇词|入门Kotlin有多容易,精通Kotlin就有多难
基础篇
01 Kotlin基础语法:正式开启学习之旅
02面向对象:理解Kotlin设计者的良苦用心
03 Kotin原理:编译器在幕后干了哪些“好事”?
04实战:构建一个Kotlin版本的四则运算计算器
05 object关键字:你到底有几种用法?
06扩展:你的能力边界到底在哪里?
07高阶函数:为什么说函数是Kotlin的“一等公民”?
08实战:用Kotlin写一个英语词频统计程序
加餐一|初识Kotlin函数式编程
09委托:为何你总被低估?
10泛型:逆变or协变,傻傻分不清?
11注解与反射:进阶必备技能
12实战:用Kotlin实现一个网络请求框架KtHttp
加餐二|什么是“表达式思维”?
加餐三|什么是“不变性思维”?
加餐四|什么是“空安全思维”?
春节特别放送
春节刷题计划(一)|当Kotlin遇上LeetCode
春节刷题计划
(二)|一题三解,搞定版本号判断
春节刷题计划(三)|一题双解,搞定求解方程
春节刷题计划(四)|一题三解,搞定分式加减法
协程篇
13什么是“协程思维模型”?
14如何启动协程?
15挂起函数:Kotlin协程的核心
16Job:协程也有生命周期吗?
17 Context:万物皆为Context?
18实战:让KtHttp支持挂起函数
期中考试|用Kotlin实现图片处理程序
题目解析|期中考试版本参考实现
19Channel:为什么说Channel是“热”的?
20Flow:为什么说Flow是“冷”的?
21 Select:到底是在选择什么?
22并发:协程不需要处理同步吗?
23异常:try-catch居然会不起作用?坑!
24实战:让KtHttp支持Flow
源码篇
25集合操作符:你也会“看完就忘”吗?
26协程源码的地图:如何读源码才不会迷失?
27图解挂起函数:原来你就是个状态机?
加餐五|深入理解协程基础元素
28 launch的背后到底发生了什么?
29 Dispatchers是如何工作的?
30 CoroutineScope是如何管理协程的?
31图解Channel:如何理解它的CSP通信模型?
32图解Flow:原来你是只纸老虎?
Android项目篇
33 Java Android开发者还会有未来吗?
34 Kotlin 与Jetpack简直是天生一对!
35用Kotin写一个GitHub Trending App
答疑篇
答疑|Java和Kotlin到底谁好谁坏?
结束语|是终点,更是起点
讲师介绍
朱涛,中国区第 2 位 Kotlin、Android 领域的谷歌开发者专家(Google Developer Expert),前陌陌内部创新业务的 Android 负责人。朱涛痴迷于 Kotlin、协程等技术的研究,从 2017 年开始,他就将 Kotlin 应用到实际工作当中,为团队开发效率带来了极大提升的同时,也改善了数百万 Android 用户的使用体验。5 年时间里,朱涛在 Kotlin 协程、Kotlin 函数式编程、Kotlin DSL、Jetpack 等方面积累了很多实践经验。
朱涛执着于用“简单的方式”解释“复杂的概念”。他从 2018 年开始就活跃在 Kotlin、Android 的技术社区,分享他的 Kotlin 学习经验,在技术大会等场合发表了超过 10 场 Kotlin 方面的技术演讲,他的技术博客“Kotlin Jetpack 实战”也影响和帮助了数万名 Kotlin、Android 开发者。