原创

2017 年 Android 领域大事件回顾

2017 对于 Android 来说是了不起的一年。在这一年中,Android 发布了很多重大的公告,包括支持 Kotlin 这一领人振奋的新语言,以及使用 Neural 网络 API 和 ARCore 构建智能交互式应用等。

让我们以 Android 开发者的视角来快速回顾一下 2017 年中所有值得注意的 Android 公告。

2017 年 Android 领域大事件回顾

Kotlin  —  有趣的新语言

2017 年 Android 领域大事件回顾

Android 开发者早就已经对 Java 语言样板化的代码厌倦了,而几年之前,少有公司和开发者会去寻找其它可供构建 Android 应用的选择,直到他们遇上了 Kotlin。

自此这种富有魅力的语言就不断地开疆扩土,很快在5月17日 Google 就宣布了 Kotlin 为 Android 开发的官方语言。

至于后面发生了什么,地球人都知道 ;) Kotlin 万岁!

有趣的事实: Android Studio 3.0 中有超过 17% 的项目使用的是 Kotlin

2017 年 Android 领域大事件回顾

Kotlin 语言风格指南

随着 Kotlin 的发展渐成燎原之势,JetBrains 的 Google 和 Kotlin 团队发布了包含了在使用 Kotlin 构建 Android 应用时可以遵循的一系列规则。

在 Android 上开发 Kotlin 代码的官方指南

Android 架构组件

2017 年 Android 领域大事件回顾

之前,Google 从来都没有就哪种架构适合用来构建 Android 应用发表观点,或者给出推荐做法。

不过在 2017 年他们终于决定用《架构组件与指南》来告诉大家他们推荐使用什么架构。

架构指南

架构指南》是一系列的指导意见,定义可以来构建稳定,可维护和测试的 Android 应用的实际架构和最佳实践。

架构组件

架构组件是一堆被设计用来帮助我们遵循架构指南构建应用的库。这些库是模块化的,因此并没有必要把它们都使用起来。

它们是在 17 年的 Google I/O 大会上推出的,已经趋于稳定,因此如果你已经没有入手,现在就是入手的好时机了。

我已经纂写了一个系列的文章来解释架构组件,还有一个使用了它们的示例应用。

Android 架构组件

谈话视频:

探索 Android 架构组件

免责声明: 这一个视频是由我来录的。Google 的那个你如果想要的话,可以自己找找。

示例应用:

AkshayChordiya/android-arch-news-sample

有趣的事实: 还有更多的库 (它们都将会称为架构组件的一部分) 很快就会有了。

Android Oreo  —  最甜的 Android

2017 年 Android 领域大事件回顾

2017 年我们可以从 Android Oreo 获得许多的功能特性。Oreo 设置了一个持续运行并消耗内存后台服务。

那有什么新东西呢?

  • 后台限制(Background Limit)

  • 通知频道(Notification Channel)

  • 自动填充 API(Auto-fill API)

  • 画中画(Picture-in-picture)

  • 自适应图标(Adaptive icons)

  • 字体(Fonts)和可下载字体(downloadable fonts)

  • 自动调整大小的 TextView(Auto-sizing TextView)

你可以从如下地址了解到更多有关的 API 变化:

Android 8.0 功能特性和 API | Android Developers

Android Studio 3.0

Android Studio 3.0 发布了许多新功能,像是对 Kotlin 的支持, 新的应用模拟工具套件对开发者更加友好,而且可以帮助快速地修复性能问题。

重要的提升:

  • 更加快速

  • 支持 Kotlin

  • 新的应用模拟工具

  • APK 分析器(APK Analyzer)

  • 支持开发中应用实时运行(Instant app)

  • 支持 Android things

  • 自适应图标,可下载字体已经更多新功能

从下面的地址你还可以了解到更多:

Android Studio 3.0

尽管 Android Studio 3.0 已趋于稳定,不过此外的 Android Studio 3.1 已经在试用频道发布了,而它带来了更多的像是新的 DEX 编译器这样的魔性技术。

实时运行应用(Instant App) — 无需安装即可运行

Android 实时运行应用是一种无需安装就能运行 Android 应用的新方法。它是一种让用户使用 Android 应用的全新方式。

Instant apps 是借助一个 URL 来触发的,无需安装就会打开一个应用。这像技术是通过将应用分解成功能然后让每一项功能映射到 URL 来实现的,当 Google Play 接收到对特定 URL 的请求时,就会去获取到应用的那个功能的代码,再去运行这个应用。

对一个实时运行应用进行解析

实时运行应用是由多个基于一个基础功能的功能组合而成的 ——  基础功能包含了所有功能的通用逻辑。

2017 年 Android 领域大事件回顾

开发实时运行应用可以帮助我们依据应用的功能特性让项目模块化(如果不是已经模块化的话),也能帮助我们裁减 APK 的大小。

开始构建你的实时运行应用的不错的方法:

Android Instant Apps | Android Developers

Project Treble

Android 版本的碎片化是 Android 生态系统最大的问题之一。终端收到最新的 Android 更新要等上好多个月,而大多数终端甚至都不会收到更新。

有了 Project Treble,Android OS 架构被重新设计,制造商可以更轻松且更快速地将终端更新上新版本的 Android,而且代价也更少。

现在有了 Treble,终端制造商只需要将 Android OS 框架更新到最新就可以了,而无需担忧供应商的实现会导致延迟更新。

2017 年 Android 领域大事件回顾

Project Treble 要展现其神力尚需时日。我真心希望它能发扬光大,然后彻底解决调 Android 碎片化的问题。

Treble 来了: 为 Android 准备的模块化基础

有趣的事实: Google Pixel 2 在推出时承诺将持续更新 Android OS 三年。这其实是 Project Treble 将会给 Android 碎片化问题带来转机的很好证明。

Android Go —为入门级终端提供强大体验

2017 年 Android 领域大事件回顾

Android Go是 Google 推出的一项举措,旨在为全球数十亿的在线用户优化 Android 的使用体验。

它是 Android 的一个优化版本,被设置用来在入门级也能很好的运行。

Android Go 起步于 Android 8.1 也就是 Android Oreo (Go 版) ,而它进行了如下配置:

内存优化: 根据平台来提升内存的使用,以确应用能在只有 1GB 或者更小 RAM 的终端上高效运行。

Google Play: Google Play 商店将会对那些使用《为数十亿用户构建应用指南》进行了优化,以为数十亿人提供良好体验的应用进行推荐并且给予更多的可见性。也就是说其它的应用将可以从商店看到并且进行安装。

功能特性

  • Android Go 设备将可以有两倍甚至更多存储应用;

  • 它们会与 Google 应用的 “Go 版”一起运行。

  • 应用平均会快上 15%

Android Go 是 Solve for India 小组于十二月份发布的,而部署了 Android Go 的设备将会在 2018 到来:

介绍跟随 Android 8.1 一起发布的的 Android Oreo (Go 版)

ARCore

2017 年 Android 领域大事件回顾

2017 年增强现实技术(AR)随着 ARCore 来到 Android 中,ARCore 已成为在 Android 上构建增强现实应用程序的平台。

它被设计工作于运行 Android 7.1 (Nougat)及以上版本的 Android 设备中,但现在因为它处于开发者预览阶段,所以只支持 Pixel 和一些三星的设备。

它支持三种开发环境:

  • JAVA

  • Unity

  • Unreal

而且可能还有更多的渠道(指开发环境),你可以使用它们中的任一个(环境)构建你的 ARCore 应用。

它仍然在开发者预览版中,现在是折腾它的好时机。

去吧,开始折腾 AR 玩吧。

ARCore - Google Developer | ARCore | Google Developers

谷歌 Pixel 2 的 AR Stickers 就是 Android ARCore 的一个例子。

Neural Net API

Android 神经网络 API 是一种 Android C API ,旨在运行计算密集型操作的设备级的机器学习。

它为像 TensorFlow Lite 等更高级别的机器学习框架提供了一个基础抽象层。可在支持的设备上进行硬件加速推理操作,以快速执行先前训练过的机器学习模型。

它将主要辅助:

  • 降低网络成本和延迟

  • 提供隐私

它在 Android 8.1(奥利奥)及以上版本上可用。

阅读更多:

Neural Networks API | Android Developers

TensorFlow Lite

机器学习正在兴起,TensorFlow是 GitHub 上机器学习和深度学习的顶级开源框架之一。

TensorFlow Lite 是 TensorFlow 专门针对移动设备的优化版本

这是为移动和嵌入式设备提供的轻量级解决方案。它能够实现具有低延迟和小二进制大小的设备上的机器学习推理。它还支持 Android 8.1 中引入的新的Android Neural Networks API的硬件加速。

特性

  • 轻量级: 能够实现具有小二进制大小和快速初始化/启动的设备上机器学习模型。

  • 跨平台: 被设计成可在 Android 和 iOS 上运行。

  • 快速: 有多个针对移动设备的优化,包括显着改善的模型加载时间,并支持硬件加速。

更多阅读:

TensorFlow Lite 简介 | TensorFlow

总结

我觉得有那么多令人惊异的公告的  2017 年,是 Android 最激动人心的一年。使用 Kotlin 和架构组件—指南,谷歌正让 Android 开发者的生活变得轻松。

Android Oreo 的发布使 Android 更快,更安全,更贴心。并且试图用 Project Treble 来解决碎片的问题和推出 Android Go 用于入门级的设备。

在新的神经网络 API 和 ARCore 的帮助下,通过将机器学习和增强现实技术引入 Android ,使设备更加智能和有趣。

简而言之,我看到了 Android、Kotlin 和 Android 开发者们的一个非常明亮的未来,我觉得将会有更多让人兴奋的事情出现在 2018 年。

关于作者:

Akshay Chordiya -- Android 爱好者,caster.io(一个教育网站)的老师。《Kotlin Blueprints book》的合著者,谷歌认证的 Android 开发者。

正文到此结束
Loading...