今年Android新版本7.0的出现要比往年早一些,在IO大会前两个月就发布了开发者预览版,与此同时还推出了Android测试版计划,学习微软的Windows Insider,让用户也能提前体验最新版系统。新系统最受欢迎的新功能包括Doze模式和增强的通知中心。
与Android相关的平台今年也获得更新,包括Android Wear 2.0,能够独立运行App;Android Auto,支持在手机上运行,将手机变成车载智能系统;Android Things,由之前的物联网平台Brillo更名而来,。
与开发者相关的新特性包括:
在IO大会上还同时发布了Android Studio 2.2,它带来的新特性包括:
在中国市场方面,Google前不久刚在国内举办了两场规模盛大的开发者大会。发布了新的中文版开发者官网和开发者博客。不过,他们对于Google搜索、Play市场等何时返回国内仍然讳莫如深,从2016年年初就传言Google返华,然而整个2016年进展也并不大。
Android平台2017年预测
从今年的更新可以看到,Android的发展也逐渐步入平缓阶段,人们的目光更多的被Google发布的其它新奇有趣的产品所吸引,比如VR平台DayDream、智能助手和智能IM应用。有人甚至认为Android逐渐被边缘化,有可能被新系统所取代,比如前阵子传言的Andromeda。
不过我想说这种担心是多余的,Android仍然是Google最重要的产品之一,并且是其衍生品Android Wear、Android Auto等系统的基石,所以在近期不太可能有很大的改变。但是我们可以期待底层和工具上的大的创新,如ART运行时、Jack编译器。
另一个在明年可能带来很大改变的技术是Instant Apps,但是因为它很可能必须依赖GMS,在国内不太可能使用。但根据国内在这方面的技术积累,我相信打造相同技术规格、完全兼容的中国版Instant Apps不是难事,说不定明年国内手机厂商会将它作为重点功能进行宣讲呢。
最后,根据Android新版本的普及速度,明年Android 7.0才会逐步在国内推广开,于是开发者们终于可以开始学习Android 7.0的新技术了。
2016对于Android开发来说是非常精彩的一年,黑科技频发,我们可以确定的说在Android应用层开发方面我们已经走在了世界前面。然而,其实很多黑科技都是形势所逼,并且其中一些和Google的官方政策相违背,这是目前热火的表象下的隐忧。
插件化
从去年下半年开始,Android插件化开始进入人们的视野,到今年,开源和分享开始爆发,插件化可以说是Android开发高级技术的集大成者,要掌握它需要对Android系统框架、App运行机制等足够了解,因此成为很多开发者追求的目标。
但是回过头来想一下,插件化的适用场景其实有限,多用于头部的超级应用,一般的中小型App没有必要适用,所以也没有必要盲目追求新技术。
插件化发展到后来,基本都开始追求免安装运行App,也就是沙盒/双开,在这方面我们也有一些商业应用出现,以及开源项目。
这里就推荐一些开源项目:
热补丁
插件化并不是所有应用都需要,但是热修复却基本是正式的项目都想要的。热补丁与插件化的不同点在于,热补丁的关注点在对应用进行方法级的替换以达成修复。2016年Android的热修复取得了非常大的进展,不但有多家公司分享、开源了自己的热修复项目,而且还催生了商业服务。
这里就为大家盘点一下今年都出现了哪些热修复项目:
RxJava
RxJava是JVM上的响应式编程框架,可以简化异步操作的代码,是Rx系列的一部分,去年年底国内社区开始有人布道,也有很多人分享,RxJava与Retrofit结合可以大幅简化网络操作的复杂性,因此也被人们广泛使用。
推荐文章如下:
Android组件化
Android里的组件化是相对于插件化来说的,插件化追求插件直接完全独立,甚至插件本身是可独立运行的APK,组件化则是在组件独立开发,在编译时仍合成为完整App。
Android组件化的实践的代表是淘宝的Atlas,该项目将于2017年初开源。
Kotlin
Kotlin是老牌开发工具厂商JetBrains推出的一门JVM语言,也非常适合在Android项目中使用,今年推出了1.0版本,并在国内举办了一场线下开发者日活动。
Kotlin被视为Android平台的Swift,可以刷时髦值,从实际开发体验上来说,与JetBrains的IDE结合(Android Studio亦可)也非常不错。国内有些团队和个人已经开始尝试。但由于Java本身很完备,更换语言目前来说只是基于个人喜好。因此要想Kotlin流行,就像苹果推广Swift一样,我们也需要谷歌的推动才会让更多人有兴趣学习和使用。
2017年展望
数一数将于明年开源的一些项目,明年Android开发该讨论我们也心里有数。
不只是今年,跨平台技术一直在移动开发领域火热非常,毕竟Android、iOS都不是可以轻易舍弃的平台。今年的跨平台技术,相比往年的Xamarin、Titanium等,更实际,更接地气,这也导致了跨平台技术今年讨论的热度更高,都快刷屏了。
今年大家所讨论的跨平台技术,无论是React Native、Weex还是微信小程序,从技术实现来说都是处于Native和Web之间,还是使用Web技术开发,从Hybrid过渡过来是很自然的事情,因此国内不少公司在React Native推出不久就开始使用。
RN及类似技术最光明的未来可能是:类RN首先取代当前App中的WebView,之后会取代一部分Native界面,长期上来说,一些性能要求高的本地库也会提供对它们的支持,如Realm就提供了RN版本,原生开发会被进一步压缩。原生开发,未来可能专注于一些专项研发,如音视频,或公共组件接入和维护。
当然,这种未来不一定到来,但移动开发者要做好心理准备。
React Native
React Native如今的地位毋庸置疑,Facebook没有在国内专门宣讲过,但我已经见识到了它的一些国内铁粉,并且有些公司如携程更是不遗余力的对它进行支持和布道,这种情况下RN发展想不好都不行。
但这样也出现了一些问题,一个是本地化的支持,第二个是有些公司自己对React Native做了优化,但没有反馈给RN项目,这样最终只是做了一个分支版本,他踩的坑别人还是要踩一遍,这样不环保,长远来看还有维护难的问题。
今年在RN上有实践并分享出来的团队的分享如下:
Weex
Weex是阿里手淘团队推出的跨平台开发框架,于今年6月份开源。阿里对该框架非常重视,在全集团推广,并且在今年双十一会场大规模应用,取得了成功。在9月份的JSConf上他们邀请Vue.js作者加入团队担任技术顾问,刚刚发布的0.9版也正式支持Vue 2.0语法特性了。最近它还加入了Apache基金会的孵化器,力争打造成功的开源社区。
相比于React Native,Weex略显年轻,不过由于后发优势,在一些地方优化做的比RN好。至于用哪个,就要开发者自己去探索哪个更适合自己了。
微信小程序
今年下半年,对移动开发最具冲击的可能要数微信小程序了,它的颠覆性不在于技术,而在于对整个移动互联网生态的影响。大部分的产品经理也许不知道RN或者Weex,但他们一定知道微信小程序,也一定在考虑要不要做一个,这就是微信小程序的影响力。
其实,在IM里做平台微信不是第一个,在6月份的WWDC上苹果展示的iMessages,就支持集成其它应用,发红包不在话下,甚至还能打车。可惜iMessages这个应用实在不接地气,在国内也没有什么影响力。而另一个国人同样不怎么了解的IM应用,Facebook Messenger在向微信学习,在今年3月举行的F8开发者大会上,Messenger平台化服务正式对外推出。扎克伯格宣布已有40多项服务接入到Messenger平台。最近它还推出了Instant Games,你可以在FB Messenger里玩游戏了。
这些现象体现的趋势是基于IM的应用分发可能是下一件大事,而这个能参与的只有现有的超级IM。
所以虽然现在微信小程序看上去能做的还很有限,对于移动App没有替代作用,但将来就说不好了,保持关注吧。
PWA
PWA是Google今年力推的一项移动Web技术,在支持Service Worker和Fetch API的浏览器上可以得到完整体验,在不支持的浏览器可以得到降级体验。
我不是很看好PWA,因为它的能力和性能还是有限,国内目前是超级App当道,对于性能都是精益求精,几乎不可能去采用这个方案,更何况它在iOS上的体验是降级的,不支持服务器推送,就这一条也会被Pass掉。而苹果何时支持Service Worker等新特性是说不好的。
对于页面元素少、交互简单的应用可以尝试一下。
2016年还有些“移动+”的领域十分火热,这里指的就是直播和VR/AR,它们除了技术,还有趋势上的问题。
直播
直播是2016年的年度标志事件,其火热程度不用多说,因此也有很多泡沫,在数字上弄虚作假已经是人人皆知的事实。但是要看到,直播的兴起的前提是我们软硬件达到了要求,同时直播是对某些陈旧事物的替代,因此即使泡沫破灭,也可以预见剩下的几家会活得很好。
同时,直播开始作为一个功能模块进入很多App,和其它行业结合,如淘宝、天猫上的直播就给网络购物带来了很好的效果。因此,作为年度热点技术,每个移动开发者都有必要去了解和学习。
直播技术本身涉及到前后端,最有挑战的部分其实不在客户端而是在后端,客户端的部分大多数有了最佳实践,同时在秒开优化上有了很多创新。
VR/AR
与直播相比,VR/AR则是从得意到失意的典型,年初VR还被认为是年度技术,到年底某些做VR设备的厂商传出裁员、倒闭,高端头显设备如HTC vive的销售量也并不大,一下子大家都不看好了,这个领域似乎被资本所抛弃。
但与此同时,使用VR/AR技术的产品屡屡成为互联网的爆点,如Pokemon Go、阿里双十一VR、支付宝AR红包,说明VR/AR在用户体验和交互模式上还是很有潜力,只是我们要找到正确的使用方法。目前来看,基于LBS+AR的游戏是可行的点,VR则在营销上有用武之地。
另外,虽然VR/AR被资本不看好,但互联网巨头仍然重金投入,如Google、Facebook、Microsoft都将VR/AR作为自己的战略发展目标。Google的Daydream更是非常接地气,期待明年当支持设备增多后,给我们更加完善的体验。
总之,VR/AR目前来看并不会死,但现在投入风险很高,建议可以再等等。
技术不会停下脚步,学习永无止境。让我们期待2017年的移动技术吧~