2017年已经过了大半个月,2017年移动端经历了哪些大事件呢,现在总结如下。
Android 技术动态
在今年 Google I/O 大会上,谷歌 CEO Sundar Pichai 宣布谷歌的正在从“移动为首位”转变为“AI 高于一切”,所以与往年的开发者大会相比,今年会议的大部分内容都围绕 AI 展开,如 Google 将开放 Tensor Flow、TPU 等软硬件工具给开发者,还发布了一系列人工智能产品如:Google Lens、Google Asistant、Google Home 等,并提出了 Google.ai 计划,相比之下,Android 的内容就少了很多,这也意味着谷歌正在 Android 的基础上逐渐构建自己的人工智能生态系统。在本次大会上,谷歌宣布 Android 的活跃设备数达到了 20 亿,这意味着 Android 系统已成移动行业的霸主。
1. Android 8.0 发布
今年最受 Android 开发者期待的莫过于 Android 8.0 了,在经过 4 个开发者预览版的洗礼后,北京时间 8 月 22 日谷歌发布了 Android 8.0 的正式版,取名 Android Oreo(奥利奥),简称 Android O,“奥利奥”的名字沿袭了谷歌以甜品取名操作系统的传统。相对上一代版本,Android 8.0 的功能、流畅性和安全性都有了很大地提升,主要表现在以下几个方面:
功能:
画中画:支持将手机的电影屏幕缩小成悬浮窗口,在看电影的同时可进行其他应用程序的操作;
Notification Dots:App 在接收通知后,将在图标的右上角生成一个圆形的小点,长安圆点即可显示该 App最近通知,滑动即可清除,无需经过通知栏;
即时应用:这个与微信小程序类似,App 无需安装也可通过点击网址打开 App,不过前提是访问的这个 App 支持这个功能,由于Android Instant Apps 是基于 Google Play 服务构建的,所以国内的 Android 用户暂时无法享用此功能;
智能文字选取:能检测出选取的文字是地址还是电话号码,并会根据选取的文字类型打开对应的应用,如地图或拨号功能。
流畅性:
据谷歌透露,Pixel 在 Android 8.0 下的开机速度比上一代系统快了 2 倍;而且针对各种流氓 App 采取严格的控制,不常用的 App 会被强制停止,节省手机耗电量和提高手机流畅性;
安全性:
谷歌在 Android 8.0 中内置了 Play Protect 服务,能够自动扫描手机中潜在的恶意 App。
2. Android studio 3.0 发布
10 月 25 日,Android Studio 3.0 正式版发布,此版本将支持 Kotlin 编程语言、支持 Java 8 语言功能、支持 XML 字体预览、支持 Instant App、支持配置和调试 APK 等。其中,开发人员不再需要通过 Android Studio 的插件就可直接在 Android Studio 3.0 中使用 Kotlin,包括重构、自动完成、lint、调试等操作。
3. ARCore 发布
8 月 29 日,Google 了发布构建 AR 应用平台 ARCore,这个项目被看做是 Google 与苹果在 AR 领域上的较量,因为苹果 6 月也推出了 AR 框架 -ARKit,所以 ARKit 也被认定为 ARCore 的对标。而在此之前,谷歌也曾研发过一个 AR 平台 Tango,但由于 Tango 对硬件设备有限制,各方面的性能也比不上 ARCore。在今年 12 月 15 日,谷歌宣布将从 2018 年 3 月 1 日起停止对旗下 AR 平台 Tango 的支持,以后将专注于 ARCore 平台的研究,在 AR 上大展拳脚,不知道将来在 AR 领域的 ARCore 与 ARKit 会不会像现在的 Android 和 iOS 一样各占半壁江山,让我们拭目以待吧。
4. Kotlin 成为 Android 开发一级编程语言
由于 Kotlin 比 Java 更安全——能够静态检测常见的缺陷、更简洁,而且能兼容 Java 等优点,使它能够短短几年在众多竞争中脱颖而出,成为开发者们的香饽饽。尤其是在今年的 Google 在大会上,谷歌宣布 Kotlin 成为 Android 开发的一级编程语言后,江湖上就开始流传 Java 将被 Kotlin 取代的说法,各大论坛的 Java 与 Kotlin 大战由此展开,各类站队的文章也层出不穷,好不热闹。
11 月初,第一届 Kotlin 的专题会议 KotlinConf 在旧金山开幕,会议上 Kotlin 首席设计师 Andrey Breslav 宣布 Kotlin 将要支持 iOS 和 Web 开发,这也被称做 kotlin 与 Swift 在支持全栈开发上的较量,此消息一出,引发了不少开发者的热议,有开发者表示,kotlin 要想拿下 iOS 估计不是那么容易的事情,毕竟苹果对自己的生态有严格的把控,苹果是不会轻易地给 Swift 的竞争对手机会的,也有人认为 Kotlin 应该先把 Android 的坑填完再去扩张,跨步太大容易摔跤。
但是,不管将来 Kotlin 将来能否统一江湖,但是从目前来看,Kotlin 有了谷歌这座靠山,它的前景还是值得期待的!
5. 国内安卓统一推送联盟成立
2017 年 10 月 16 日,安卓统一推送联盟大会在京举办,此次大会由中国工信部旗下的中国信息通信研究院泰尔终端实验室主办,多个互联网企业和手机制造企业出席,并宣布百度、阿里、腾讯、华为、小米、OPPO、vivo、个推为联盟的副理事长单位。
“安卓统一推送联盟”的正式成立标志着安卓手机 App 自启和应用间相互唤醒的毛病将得到改善,国内安卓生态的混乱状态将得到有效解决。未来,安卓手机推送消息时,不必唤醒手机应用,从而保证 App 在未被使用时处于休眠状态,节省手机的内存和电量,安卓用户的体验将更加贴近 iOS。
iOS 技术动态
苹果 WWDC2017 大会何于 6 月 6 日在圣何塞 McEnery 会议中心召开,苹果发布了四大系统 WatchOS 4、macOS High Sierra、tvOS、iOS 11 的更新,每个系统相较上一个版本都有很大的提升。
1. iOS 11 发布
iOS 11 于 9 月 13 日凌晨正式发布,9 月 20 日全球正式开放下载,iOS 11 相对上一个版本主要有以下更新:
iMessage: 新的 iMessage 集成了 iCloud 功能,所有的信息都能通过 iCloud同步,可删除本地信息,仅存于云端,优化手机本地内存;
Apple Pay: 支持点对点支付,可直接给对方付款,就像微信支付一样方便;
Siri:Siri 的发音将更加自然,并加入了男声,Siri 在 iOS 11中已经内置翻译功能,可以将英语翻译成汉语、法语、德语、意大利语以及西班牙语。除了语音之外,在 iOS 11 系统中,用户还可以通过打字跟 Siri 进行沟通;
支持 AR:在 iOS 11 中,还有一个令人期待的功能 AR,iOS 11 带来了 ARKit,这是苹果全新的 AR应用平台,开发者可以使用内置的摄像机、传感器和处理器在 iOS 设备上开发 AR 体验的应用。
此次除了功能上的更新外,根据苹果最新的规定,从 2018 年 1 月 1 日起,iOS 11 将全面停止 32 位应用程序,意味着从 2018 年开始,升级 iOS 11 正式版的系统后,目前 App Store 里的 18.7 万款 32 位的应用将无法搜到或无法打开,而对消费者而言,iPhone 5 和其他仅支持 32 位系统苹果手机将会面临淘汰。
其实早在今年 6 月份,苹果就开始透露了这个消息,而在更早的 2015 年,苹果就向开发者传递了 64 位应用的优势,也暗示着让开发者开发 64 位的应用程序来适配 iPhone 5s 之后的新系统,所以就目前来讲,很多应用基本上都已经有了 64 位的版本,很多仍停留在 32 位的大多都是比较冷门的应用,对用户来说也不是必备的,所以总的来说,影响不会太大。
2. Swift 4.0 发布
Swift 4.0 在 2017 年 9 月 19 日正式发布,最新的版本主要针对语言本身以及标准库的大量改动和更新,最重要的变化包括新增的 String 功能、扩展集合、归档和序列化等。关于Swift 4.0的相关知识,可以查看如下的链接:Swift 4.0中文版
3. 苹果“热修复”门事件
今年苹果在移动法规上最大的新闻估计就是“热修复”门事件了,今年三月,苹果向所有开发者推送警告邮件,宣布将禁用 App 内部的“动态分发”功能,并要求开发者在自家 App 中删除 JSPatch、Rollout 等相关框架,否则 App 将面临下架或禁止在 App Store 上架。
这一动作,意味着苹果对“热更新”判了死刑,对用户而言,未来更新应用都需重新下载完整的新版数据包。对国外的开发者影响不大,因为国外的开发流程很规范,再者,国外的 Google Play 也一直是禁止热修复的, 基本不会用热修复进行迭代,基本都是一次性交付。
但对国内的开发者而言,这却是致命的打击,由于之前的“热修复”可以直接通过服务器推送并进行下载迭代,可以避开苹果的“二次审核”,App 就能早日上线盈利,但从今以后,这样的“福利”再也没有了。
从根本上来说,还是因为“热更新”破坏了 iOS 生态的“安全性”与“可控性”,这对苹果来说,是无法容忍的。
移动开发热门话题 TOP5
2017年移动最热门的话题莫过于:移动 AI、性能优化、移动架构、Kotlin、AR/VR。
移动 AI
今年毫无疑问是 AI 年,各种其它领域都羡慕嫉妒恨的想跟 AI 扯上关系,移动也不例外。语音交互的成熟催生了 CUI,另外端上的 AI 也的确是一个趋势,因此有了很多与此相关的分享。
移动电商中的图像算法应用
用人工智能来高效测试 App
利用 CNN 实现无需联网的智能图像处理
对话式交互:从开端到成长
基于卷积神经网络在手机端实现文档检测
App 如何与 AI 共舞 ---AI 为 App 开发赋能
深度学习在手机端的应用
移动端设备上的深度学习:Android 设备上 TensorFlow 应用与实现
安卓车载系统创新功能
轻量级 DNN 网络在 Android 上的视觉应用
人工智能技术及在移动端应用
足球游戏的 AI 实现
深度学习在移动端的应用
使用 TensorFlow 搭建智能开发系统,自动生成 App UI 代码
移动端全机型传感器的自适应计步算法设计
性能分析与优化:
性能优化在移动开发中是一个长盛不衰的话题,移动架构一复杂起来,必然出现性能瓶颈,这时就要去做分析和优化。而在性能分析这一块,APM 越来越受到重视,不少公司都自建了 APM 系统。
iOS App 内存专项实践:封闭系统下的大自由
手淘 iOS 性能优化探索
Android 系统开机时间优化
优化 Android 应用程序的桌面体验
360 手机卫士性能提升攻略
移动端性能监控方案 Hertz
从无到有实现一个性能监控平台是怎样一种体验?
移动网络性能优化
Android 启动优化 - 异步 dex 加载
滴滴出行 iOS 端瘦身实践
移动架构
17 年以来,移动架构很少有大的革新,连 Rx 和函数式的分享都少了不少,感觉架构更加像是一个拓荒的工作,一旦稳定,事情就比较少了。不过架构还是很重要的,选错型的话只能流泪跪着走完了。
共享代码衍生多款应用的定制框架之经验分享
58 同城 Android 客户端 Walle 框架演进与实践之路
豌豆荚的反作弊技术架构与设计
美团点评移动端底层架构实践
Android DataBinding:MVVM 架构基石,数据驱动 APP 运转
美团客户端架构演进之路
Atlas: 手机淘宝 Android 架构实践
AOP 技术在 APP 架构上的应用
一个 5800 行文件的重构历程
Kotlin
今年也是 Kotlin 年,在 Google IO 之后 Kotlin 着实风光了一把,开发者对于效率的追求是 Kotlin 如此受欢迎的最大原因,而它的势头也很不错,跨平台的野心让更多人有了使用它的理由,如今看起来,它甚至比 Swift 更有前途。
Kotlin from zero to how can it help me?
Kotlin 在 Android 开发中最佳实践探讨
开发效率的抉择:将 Kotlin 投入 Android 生产环境中
Kotlin 跨平台,还有 Native
从 Java 到 Kotlin,当机器人不再喝咖啡后
用 Kotlin 定制自己的 DSL
Android 开发从 Java 到 100% Kotlin 项目实战总结
AR/VR
随着 AI 的落地和苹果谷歌的力推,AR 逐渐来到了我们的身边,最常见的就是各种美颜、直播 App 里的贴纸、表情、试妆等,都是 AR 的应用。AR 作为垂直领域已经值得投入了。
AR/VR 的未来技术趋势
Introduction to Google ARCore
移动互联网时代的 VR 技术之路
从 2D 到 3D,AR 发展中的关键技术
如何利用 CPU 计算能力实现更沉浸的 VR 体验
虚拟现实产业中 Android 的现状、未来和挑战
2017 年移动开发的公开分享明显减少了,原因这里不多说,对于移动开发者来说,真是听一个少一个,向每一个分享者致敬!
在新的一年里,移动开发前线仍会持续关注移动技术动态,也欢迎开发者继续关注移动开发前线。想知道过去一年国内代表性公司在移动开发上都做了哪些工作,以及 2018 年值得你关注的移动技术有哪些?请见下回分解~
原文作者:code_xzh