课程简介

极客时间Kotlin 编程第一课网盘分享,课程资源是以.html、pdf和mp3形式(非视频)发放,本课是一门Kotlin入门到进阶的课程,全面讲解了基础知识、高级进阶技术和底层源码,并结合Android 项目实战,让你快速掌握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 领域的应用。

为什么要学习本课程

相比起 Java 语言,Kotlin 的优势确实非常明显:
第一,极高的生产效率。Kotlin 是一种跨平台的静态类型语言,具有现代简洁的语法,关键特性包括 null 安全性、协程、数据类型、扩展函数等;这让开发者会用得很爽:前期开发效率更高,中期线上问题更少,后期代码更容易维护。而这正是 Java 做不到的。
第二,强大的兼容性。Kotlin 可以与 Java 混合编程(说实话,这点影响很大),我们能够以渐进的方式将项目工程从 Java 迁移到 Kotlin,而不必担心是不是要一次性重写很多代码,从而产生新的问题。
第三,用 Kotlin 编写代码比 Java 更友好、更快捷。Kotlin 吸收了众多编程语言的精髓,它的语法不像 Java 那么复杂,而且允许开发者在不使用冗余类的情况下定义函数和静态对象,这会让代码更容易阅读和调试。

课程目录

开篇词 (1讲)

开篇词 | 入门Kotlin有多容易,精通Kotlin就有多难
基础篇 (16讲)
01 | Kotlin基础语法:正式开启学习之旅
02 | 面向对象:理解Kotlin设计者的良苦用心

03 | Kotlin原理:编译器在幕后干了哪些“好事”?
04 | 实战:构建一个Kotlin版本的四则运算计算器
05 | object关键字:你到底有多少种用法?

06 | 扩展:你的能力边界到底在哪里?
07 | 高阶函数:为什么说函数是Kotlin的“一等公民”?

08 | 实战:用Kotlin写一个英语词频统计程序
加餐一 | 初识Kotlin函数式编程
09 | 委托:你为何总是被低估?
10 | 泛型:逆变or协变,傻傻分不清?
11 | 注解与反射:进阶必备技能
12 | 实战:用Kotlin实现一个网络请求框架KtHttp
加餐二 | 什么是“表达式思维”?
加餐三 | 什么是“不变性思维”?
加餐四 | 什么是“空安全思维”?
春节特别放送 (4讲)
春节刷题计划(一)| 当Kotlin遇上LeetCode
春节刷题计划(二)| 一题三解,搞定版本号判断
春节刷题计划(三)| 一题双解,搞定求解方程

春节刷题计划(四)| 一题三解,搞定分式加减法

协程篇 (12讲)
13 | 什么是“协程思维模型”?
14 | 如何启动协程?
15 | 挂起函数:Kotlin协程的核心
16 | Job:协程也有生命周期吗?
17 | Context:万物皆为Context?
18 | 实战:让KtHttp支持挂起函数
期中考试 | 用Kotlin实现图片处理程序
题目解答 | 期中考试版本参考实现
19 | Channel:为什么说Channel是“热”的?
20 | Flow:为什么说Flow是“冷”的?

21 | Select:到底是在选择什么?
22 | 并发:协程不需要处理同步吗?

发表回复

登录... 后才能评论