聚焦 Android 11: 开发语言

聚焦 Android 11: 开发语言

作者 / 产品经理 David Winer

在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份隐私和安全 Android 11 兼容性 ,本期将 聚焦语言 。我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。

现代 Android 开发 (Modern Android Development) 始于出色的语言支持。Kotlin、Java 编程语言和 C++ 共同构成了 Android API 和日常应用开发工具的基础。本期我们将深入探讨 Android 三种核心语言的所有最新资讯: 从 Kotlin 协程到 Android 11 新的 Java API,再到更出色的本地开发工具,最新版本中包含了很多内容。

Kotlin 与协程

Kotlin 是现代 Android 开发与指导性开发库的核心。世界各地的 Android 开发者向我们反馈称,Kotlin 极具表现力,能帮助大家编写更高质量的应用,而且可以轻松在现有的 Java 代码库中使用,因此都对 Kotlin 赞赏有加。在 Play Store 上排名前 1,000 的应用中,有 70% 以上现在使用 Kotlin,而且 SlashData™ 在今年早些时候曾宣布,在过去两年中,Kotlin 一直是增长最快 (按百分比计算) 的语言社区。在 Android 11 测试版中,我们决定正式推荐使用协程 (coroutines) 在 Android 上执行异步操作,以此来进一步拥抱 Kotlin。

借助协程,可以轻松编写、读取和理解异步代码。协程库具有稳定性,且已经与您可能正在使用的许多 Jetpack 库 (包括 RoomLiveData 和 WorkManager) 进行了深度集成。如果您不熟悉协程,请查看 Android ❤️ 协程: 如何使用 Kotlin 管理异步任务、最新的 协程学习途径 以及全新的 协程开发者指南。我们之前也连载过一系列 Kotlin 与协程的相关内容,请移步 Kotlin 专辑深入了解。

Kotlin 入门指南

从 Android Jetpack 中的 Kotlin-first 到与 Android Studio 工具的深度集成,Android 与 Kotlin 已经形成紧密的联系,现在无疑是开始使用 Kotlin 的最佳时机。然而,我们也听到很多反馈,表示说服团队采用 Kotlin 并不那么容易。即使 Kotlin 可与 Java 编程语言实现 100% 的互操作性,但是团队成员可能会有顾虑。花时间学习一种新语言是否值得?相对于我们的其他产品和技术优先事项,应如何确定 Kotlin 的优先级?

近期,我们发布了 Google Home 团队的 一项新案例研究,以帮助解答其中的一些问题。在过去一年中,Google Home 团队将所有新功能开发移至 Kotlin,发现其空指针异常在同一时期内下降了 33%。这与世界各地的 Android 团队 (从 Duolingo 到 Zomato 再到 Cash App) 的反馈一致,Kotlin 不仅能确保生产力,还能提升应用质量,为大大小小的团队创造了巨大的价值。有关 Kotlin 的最新案例分享和数据,请查看全新 Kotlin 案例研究页面

对于初学者,我们已宣布推出新的 Android Basics in Kotlin 课程。如果您刚刚开始学习编程,那么 Android Basics 会教授一些基本的编程概念,例如函数和变量,并将带您进入编程世界,从入门级的 "Hello World" 一直到使用 Kotlin 构建完整的 Android 应用。

Java 编程语言和 C++

三年前,当我们宣布正式支持 Kotlin 时,我们并没有忘记众多的 Java 和 C++ Android 开发者。在 Android 11 中,我们力求不断改进对这两种语言的支持。在 Android 11 Beta 中,我们使用来自 OpenJDK 9、10 和 11 的许多新 API 升级了 Java 库支持。我们还在 Android Studio 4.0 中推出了 Java 库 "脱糖",这样一来,即使在较低版本的 Android 设备上也可以轻松使用许多较新的 Java API。想对那些要求在较低版本的设备上支持 java.time 的开发者说,我们听到了大家强烈的呼声,并且已经实现。有关如何使用这些较新 API 的所有最新信息,请查看 Murat Yener 的演讲 对较新 Java API 的支持 (Support for newer Java APIs)。对于 Android 11,我们还更新了 Android 运行时间 (Android runtime),以通过 I/O 预取 加快应用的启动速度。

C++ 开发者的体验也在不断改善。Android 11 包括对原生工具链的更新,其中包括更出色的 配置文件导向优化 (PGO) 工具以及 对 Android Studio 4.0 中原生依赖性管理的改进

不断改进的工具链

最后,我们将持续改进 Android Studio 中的 D8 和 R8 编译器。Android Studio 内置了对 R8 压缩器 的支持,可帮助您降低应用的内存占用空间,从而提高用户的安装量和留存率。我们最近还开始支持使用 R8 缩小 Kotlin 库和使用 Kotlin 反射的应用。有关更多信息,请查看 Mads Ager 和 Morten Krogh-Jespersen 的 最新文章

更多精彩

您可以查看 #11WeeksOfAndroid 视频内容的 完整播放列表,或点击阅读原文前往官方网站详细 了解更多主题。我们将持续聚焦更多的新领域,敬请留意,也请继续关注我们,期待您的反馈。感谢您与我们相伴前行!

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io WebMaster | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.