简要介绍
了解为何现在是掌握 Kotlin 的绝佳时机,学习这门编程语言的原因,本课程适合哪些人,以及你将在课程中学习到的内容。
什么是 Kotlin?
Kotlin 是一种开源的静态类型编程语言。它可以编译为 Java 字节码,在 Java 虚拟机(JVM)或 Android 上运行。有趣的是,它还可以编译为 JavaScript 代码或原生字节码,因此你可以用它开发几乎任何类型的应用程序,从网页应用到 iOS 应用,再到嵌入式设备等。本课程专注于 Kotlin 在 JVM 平台上的应用。
注意:“编译”(transpile)指的是将一段代码从一种语言或表示形式转换为另一种。例如,将 Kotlin 代码编译为 Java 字节码,意味着将 Kotlin 语法的代码转换为其对应的 Java 字节码表示形式。因此,语法发生变化,但语义保持不变。
Kotlin 由 JetBrains 开发,该公司也是 IntelliJ IDE 及其他开发工具的背后团队。他们设计 Kotlin 的目标是与 Java 完全互操作,这意味着你可以在 Kotlin 中使用任何 Java 库和框架,反之亦然。 请记住这一点,因为我们在整个课程中都会利用这种互操作性。
我可以用 Kotlin 做什么?
如前所述,你可以在任何平台上使用 Kotlin。目前,它在 Android 应用开发领域最为突出。然而,它在 JVM 平台上的服务器端应用开发中的使用也在不断增长。
此外,通过将其编译为 JavaScript,Kotlin 也可以用于编写网页应用。此时,你可以使用 React、VueJS 等流行的库和框架。
了解以下相关子项目有助于你在实际中识别它们:
- Kotlin/JVM:通过编译为 Java 字节码来编写 JVM 应用程序(例如,Android 开发、Spring 服务、桌面应用程序)
- Kotlin/JS:通过编译为 JavaScript 来编写网页应用(例如,React 应用、原生 JavaScript 应用)
- Kotlin/Native:用于没有 JVM 的平台上的应用开发,如嵌入式设备或 iOS(例如,iOS 应用、微控制器编程)
顺便提一下,Kotlin 支持多平台应用开发,这使得你可以在不同平台的应用之间共享代码。最明显的应用场景是,在你的 Kotlin Android 应用和 Kotlin iOS 应用之间共享核心功能。
哪些公司在使用 Kotlin?
截至目前,使用 Kotlin 的大型公司数量众多,无法一一列举。但为了让你相信 Kotlin 已被全球顶尖科技公司广泛应用于生产环境,这里列出一些代表性企业:
- Netflix
- Uber
- Slack
- Udacity
- Evernote
- Trello
- Lyft
- ...
这些公司不仅在 Android 平台上使用 Kotlin,也在后端和其他平台积极采用。
为什么要学习 Kotlin?
我个人学习 Kotlin 的经历让我对编程语言设计有了更深入的理解,也让我意识到之前未曾注意到的 Java 的一些局限性。那是在 2015 年,Kotlin 1.0 版本发布之前。因此,学习 Kotlin 是掌握现代编程语言特性的绝佳途径,这些特性也会出现在 TypeScript、Scala、Go 或 Rust 等其他语言中。
除此之外,许多公司正在积极寻找 Kotlin 开发者,尤其是在 Android 开发领域。因此,掌握 Kotlin 可以让你在求职面试中更具优势。
即使你没有打算从事 Kotlin 开发工作,学习这门语言及其核心概念也能帮助你更快地掌握其他现代语言,如 TypeScript、Scala 和 Swift,因为它们共享许多相似的语言理念。
本课程涵盖的内容
本课程涵盖 Kotlin 语言的基础知识:
- 变量与数据类型,包括类型推断,以及我最喜欢的 Kotlin 特性之一:可空类型
- 使用
if和when进行条件判断,解释为什么when比其他语言中的switch更强大,以及如何将条件表达式作为表达式使用 - 列表、集合、映射(以及数组)等集合类型,并强调不可变性的意义
- 循环结构,用于控制迭代流程,以及 Kotlin 的
for循环与你可能熟悉的其他语言中的for循环有何不同 - 函数,包括 Kotlin 对简单函数的简洁写法,如何使用默认参数和命名参数,扩展函数的使用方法,以及如何通过中缀函数和自定义运算符提升代码可读性
每节课末尾都配有测验,帮助你回顾重点内容,并至少包含一个动手编程练习。完成这些练习是本课程最重要的部分,因为它们能为你带来最大的学习价值,帮助你真正掌握 Kotlin。
总结
Kotlin 是一门现代化语言,近年来逐渐进入主流视野,Google I/O 2017 大会是推动其发展的重要节点。
- 它可以通过编译为 Java 字节码、JavaScript 或原生字节码,在任何平台上运行
- 大型公司广泛使用 Kotlin,并持续获得良好体验,证明它已具备大规模采用的成熟度
- 学习 Kotlin 有助于找到工作,并能加速掌握其他现代语言
- 本课程是你 Kotlin 学习之旅的起点,教你编写第一个简单应用所需的一切知识
在下一课中,你将学习 Kotlin 的设计原则与目标,以及它们如何指导语言的设计。