【编者按】本文作者为 Chris Ward,主要介绍新一年的谷歌开发者大会为安卓开发者们带来的8条关键讯息。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文。
又是一年的谷歌开发者大会。这次,谷歌发布了一系列公告,包括它进军智能助理领域的消息,同时也发布了好几款古灵精怪的设备和应用。然而谷歌仅给出了少部分细节,也没有开放针对开发者的API权限。因此我们将稍后再做报道。如果你想了解更多,可以查看谷歌开发者大会官方博文。
Android N有很多新功能,其中笔者最喜欢的(以用户为中心的)功能包括:无缝更新(源自ChromeOS的灵感)以及即时(JIT)编译(向“安卓正在更新”说再见吧)。
但是本文将着重探讨此次大会上发布的、与当前开发工作相关的新功能,并告诉你应该如何着手使用。
文章将会涉及很多方面,准备好畅游安卓世界吧!
1. Android Studio 2.2
笔者一直钟爱Android Studio,它即将推出的版本也将带来许多提升安卓开发者体验的新功能。对了,当你下载那些新SDK的时候,你会发现Android Studio终于把它们放在后台下载了。
速度
最新版本的Android Studio已经改进了即时运行功能,但2.2版本宣称会进一步完善,使其效率提升10倍以上。模拟器的速度也更快了,谷歌宣传现在的模拟器速度将快过某些真机。
测试记录器
这个功能棒极了。它可以让你在调试模式下运行应用,并为UI事件自动编写Espresso测试脚本,然后在本地或远程测试实验室运行这些脚本。
我本想给该功能录一段视频。但是在笔者下载的预览版本中,菜单里似乎没有这个选项。这有点扫兴,也可能是我看漏了。
更好的构建
打开你的应用,就进入了一个充满可能性的世界。Android Studio现在支持CMake和NDK-Build工具,并且可以支持Java 8。这也意味着用C++写代码再也不用NDK库了,C++与Java代码的混合将变得更好。这都得归功于来自JetBrains的CLion IDE的新功能。
如果你坚持使用Cradle,这儿有一个新的菜单项File -> Project Structure(需要在preferences中的Experimental窗格中启用),当出现过期的依赖关系时它会提醒你,允许你更新、安装它们,并且帮你写入Gradle文件。
对于那些努力想把自己的应用权限迁移到新的M和N模式的人,只要选中一个旧的权限方式,再选择Refactor -> Convert to Android System Permissions菜单项,就可以实现你的想法。
布局
Android Studio中针对界面设计的工具仍然落后于XCode,但版本2.2有所改进:我们有了更好的拖放功能(特别是菜单),有新的蓝图模式供用户来检查整体布局,有为了设计跨设备界面而准备的限制式布局(类似iOS的AutoLayout),以及新组建检测器,用来显示额外计算的运行时细节。
更好地编码
为了帮助你更好地编写代码,2.2版增加了用于检查API版本、线程处理和其他用途的新注解。 它增加了一个示例浏览器,以帮助用户找到特定符号的方法示例。它还提供了一个APK分析器,用于跟踪内存问题,并根据最终编译应用程序的大小,给出减少文件大小的建议。 你可以通过Build -> Analyze APK菜单项找到这个分析器。
您还可以在APK中看到即时运行功能。
新的manifest合并视图可以告诉你manifest文件中加入了哪些来自其它资源的项目。 例如,在下面这个谷歌地图演示应用中,来自play服务和firebase的资源就被加入到了manifest中:
2. 即时应用
最令人兴奋/好奇/充满疑问的一条发布通知是,将来在某种程度上,安卓用户无需再安装应用,而可以直接打开。用户只需点击相关应用的一条链接,Play商店就会开始下载所需的代码。这是利用了安卓Activity
的概念。KitKat以上的安卓版本都可以支持。真是个有趣的玩意。不知道它会给应用安装带去怎样的改变,而当用户设定了流量限制时,它又将如何遵守这些限制呢?
3. Play与ChromeOS
安卓设备的数亿潜在用户还不足够做你的用户基群吗?谷歌宣称在2016年第一季度已售出通过两百万台基于Chrome的设备(该消息已由国际数据中心确认)。这一销售数据击败了苹果Mac 的销售额,而且Mac上也可以安装Play商店了。
为了达到这一销量,谷歌使用了Linux的命名空间组合,用以分隔安卓和Chrome操作系统,但又在两个系统间共享了一些重要的资源。没有模拟或虚拟化,一个完整的安卓系统都可以在ChromeOS中运行。
大部分功能都可以在ChromeOS中顺利运行,而无需额外的努力。但是,请记住,许多功能并没有必要在Chrome上运行。举例来说,你可不会带着ChromeBook去跑步。
4. 虚拟现实白日梦
Cardboard是谷歌进军虚拟现实(VR)市场的首次尝试,反响相当成功,这主要归功于它的简单。但你我都知道,要让VR与安卓更加成功,还需要更多东西。
“Daydream”(白日梦)将成为Android N的一部分(请不要与“daydream模式”相混淆),但需要可用daydream设备的支持,这会限制用户数量。不过谷歌宣称将有“数亿”用户使用这一平台。建议配套使用的新耳机和控制器也还处在概念设计阶段。但Cardboard仍然可以使用。
Daydream的首页很有意思:具有未来感的、能带给用户沉浸式体验的界面,供用户选择各式内容与媒体服务,包括Netflix、Hulu、YouTube和纽约时报(有点奇怪吧)的专门应用。
由于开发过程需要一个Nexus 6P设备,因此笔者暂时无法亲自测试。如果你有一台这个设备的话,点击这里开始安装吧。还有支持Unity和iOS的SDK版本。
5. Android Wear 2.0
安卓可穿戴设备的新版本将于今年晚些时候发布,并会引入许多新的功能,下面这些是笔者最喜欢的:
- 表面内容可完全自定义。任何第三方应用的数据都可显示在表面上。
- 神奇的是,该操作系统具有手写识别功能,并提供一个使用IMF的键盘。
- 支持单机模式,即应用程序可以在可穿戴设备上独立运行,无需配对设备。
- 针对Android Wear,现在已有官方版本的Material Design设计指导可供查看。
详细信息请看这里 ,如果你热切地想要开始为Wear 2.0开发应用,点这里预览。
6. Android Auto
将爱车与一台安卓设备绑定使用似乎已经越来越可行了。尽管并没有许多吸引眼球的大公告,但有一些小更新也许会让开发者们感兴趣。如果你从未尝试过为Android Auto开发任何应用,SitePoint最近刚发布了一篇文章,告诉你应如何开始。
- Waze插件:有新的地图数据,但开发者们可做的少之又少。但如果你熟悉(并且正在使用)Waze API,它会是你工作的另一个平台。
- 你并不需要一个兼容的车载:这么多年以来,我们一直试图让车载面板向手机界面靠拢,但今年下半年更新之后,你甚至都不再需要一辆车了。你可以将手机转换到“汽车模式”,接着就可以在手机上直接享用这个巨大的、易操作的(语音操控)界面了。
7. Firebase 加入大家庭
谷歌于2014年收购了Firebase,它很好地补充了谷歌的核心业务,两家公司都从对方的经验及产品阵容中获益不少。随着Facebook宣布关闭Parse服务,Firebase似乎遇到了一个千载难逢的、可以填补市场空白的好机会,而谷歌似乎也很乐于这样做。
此次,大多数改进都涉及到了各个Firebase工具的整合,以及让他们更好地融入谷歌的生态系统中。
这些改进及工具包括应用分析、崩溃报告、信息框架、用户增长工具等等。最重要的是,Android Studio 2.2会默认启用这些工具,这样,你可以更方便地使用插件配置你的应用程序及代码,或者你也可以自己拖动代码片段。
基于现有的谷歌服务,最有用的改进之一是,利用AdMob平台,可以将Firebase数据导入BigQuery进行分析,并且将账单转入谷歌的中央云计费平台,这样一来,财会就变得更加容易。希望在此基础上,谷歌和Firebase未来的联系会更加紧密。
8. 由你来“命名”
谷歌宣称,他们正在努力为N版本起个名字,他们已经邀请大众参与其中。我想人们可能会认为这是一个蹩脚的宣传噱头,大多数提交的名字都会被忽略。但笔者相信总有人会脱颖而出,取出一个谷歌认可的名字。
谷歌带来的挑战
呵! 真是一场盛事!看到这么多新功能的发布,笔者兴奋不已;看到有更多的、更加完善的工具来实现这些功能,看到安卓/谷歌生态系统的不断成熟与巩固,笔者更是激动。
眼看距离苹果开发者大会的时间不到一个月了,苹果现在面临着很大的压力,如何给开发者和消费者一个类似的满意答案。笔者怀疑苹果是否可以做到。
本文转自 OneAPM 官方博客
原文链接:https://www.sitepoint.com/8-key-announcements-for-android-developers-at-google-io/