使用 Kotlin 进行 Android 编程
by Pierre-Olivier Laurence, Amanda Hinchman-Dominguez, G. Blake Meike, Mike Dunn
序言
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
JetBrains 创建 Kotlin 有两个原因:没有一种语言能填补使用(传统)Java 库进行 Android 开发的所有空白;一种新语言能让 Android 开发引领潮流,而不仅仅是跟随潮流。
2015 年 2 月,Kotlin 1.0 正式发布。Kotlin 简洁、安全、实用,专注于与 Java 代码的互操作性。它可以用在今天 Java 使用的任何地方:服务器端开发、Android 应用、桌面或便携客户端、物联网设备编程等等。Kotlin 在安卓开发者中迅速流行起来,谷歌决定将 Kotlin 作为安卓开发的官方语言,导致人们对该语言的兴趣急剧上升。根据Android Developers 网站的统计,目前有超过 60% 的专业 Android 开发人员使用 Kotlin。
Android 的学习曲线相当陡峭:诚然,它很难学习,也更难掌握。对许多 Android 开发人员来说,"成长 "的一部分就是长期接触 Android 操作系统与应用程序之间意外的交互。本书旨在通过研究 Android 中的此类问题,为读者带来深入、近距离的接触。我们不仅会讨论 Kotlin 和 Java,还会讨论使用 Android 时出现的并发问题,以及 Kotlin 是如何解决这些问题的。
有时,我们会将 Kotlin 与 Java 进行比较,因为我们相信这样做能提供更好的见解(尤其是大多数读者应该都有 Java 背景)。我们可以通过工作示例来演示如何弥合这种差距,以及大多数 Kotlin 操作的底层概念与 Java 对应概念的相似性。这些任务将按主题组织,为软件工程师提供大量信息的结构化分解,并展示如何使应用程序具有健壮性和可维护性。
此外,熟悉 Java 的用户(包括 Android 开发人员)会发现,当我们同时用 Java 和 Kotlin 介绍每项常见任务时,他们的学习曲线会大大缩短。在适当的地方,我们会讨论其中一种或两种方法的区别和缺陷,但我们希望提供的是 "能用就行 "的任务的少量易消化示例,使读者能够理解和适应现代范式,并立即和本能地意识到更新代码的意义。
虽然 Kotlin 与 Java 完全互通,但其他 Java 应用程序开发(服务器端编程、桌面客户端、中间件等)并没有像 Android 那样流行起来。这在很大程度上是由于 Android 的维护者(谷歌)大力 "鼓励 "用户做出改变。用户正在定期迁移到 Kotlin,但更多的用户仍然在关键任务中使用 Java。我们希望本书能成为 Android 开发人员的救命稻草,让他们放心地使用 Kotlin 所代表的优势和简洁性。
谁应该阅读这本书
六百多万安卓工程师中的任何一位。我们相信,几乎每位 Android 工程师都能从本书中受益。虽然有一小部分人可以流利地使用 Kotlin,但即使是他们也有可能从我们介绍的信息中学到一些东西。但实际上,我们的目标读者是绝大多数尚未过渡到 Kotlin 的人。本书也适用于那些已经涉足但对 Kotlin 的熟悉程度还没有达到在以 Java 为中心的 Android 开发中积累的熟悉程度的人:
- 情景 1
-
一位读者精通 Java,听说了这种新的 Kotlin 语言,想尝试一下。于是,他们阅读了一些在线教程并开始使用,效果很好。很快,他们意识到这不仅仅是一种新语法,其中的习语也不尽相同(如函数式编程、例行程序),一种全新的开发方式已经成为可能。但他们缺乏指南和结构。对于他们来说,这本书正合适。 ...