自2007年乔布斯发布第一代iPhone开启移动时代,到如今已经8年了。在过去的几年中,移动互联网以惊人的速度快速发展,移动开发这个从无到有的行业,也一直处于快速的演变当中。回顾过去的一年,Swift语言、Material Design、Win10等等的发布激动人心,HTML5标准的肯定也让人对Mobile Web App再次燃起热情,对于开发者来讲,这是最好的时代。新的一年里,咱们确定也会迎来更多使人兴奋的变化,移动开发领域将会有哪些值得关注的话题呢?本文就抛砖引玉,为你们盘点一下。web
本文将从平台与技术两方面进行盘点。性能优化
平台app
iOS 9框架
iOS 8的发布被称为“前所未有”,它开放了超过4000个API,以及App Extensions、HealthKit、HomeKit等诸多新特性,为iOS App的表现力增添了更多可能性。不过相对的,这样的大幅更新带来了软件质量问题。有报道称,将于15年夏季到来的iOS 9更新幅度不大,将专一于提高软件质量。另外在刚刚过去的春季发布会上,苹果正式发布了Apple Watch,引发了热烈的反响,能够说今年将是智能手表之年。工具
对于iOS开发者来讲,通过了一段时间的学习以及iOS 8份额的逐渐巩固,2015年将是iOS 8新特性添加到应用当中的时候。另外咱们能够预见,围绕着HealthKit、Apple Watch等会涌现出大批创新型的App,它们也将是新的一年iOS开发的热点。对于中国的iOS开发者来讲,Apple Pay可能于2015年进入中国,能够想见,这也将是另外一个热点。布局
固然,还有最重要的,Swift语言。不久前苹果发布了Swift 1.2版本,解决了以前存在的许多问题,语言总体更加趋于完善。对于iOS开发者来讲,Swift语言已经不是想不想学,而是何时学习的问题。虽然短期内Swift没法完全替代Objective-C,但因为二者良好的兼容性,咱们能够逐渐将现有的Objective-C App迁移到Swift。关于Swift的语言特性研究、性能优化、第三方库开发等,也必将是2015年整年的热点。性能
Android学习
2014年的Android发展也颇为可圈可点,它不只稳固了自家市场老大的地位,提高了设计和性能,还开始向更广阔的物联网进军,Android的将来无可限量。优化
对于开发者来讲比较重大的变化,除了Android 5.x的发布以及Material Design设计语言外,还有Android Studio 1.0正式版的发布,这标志着Android开发者终于有了官方的正式IDE,而与其配套的Gradle构建工具的使用也成为Android开发者必修课。另外Android Wear、Android TV、Android Auto大大拓宽了Android的应用范围,开发者将有更大的空间来施展本身的才华。在新的一年里,对于物联网和智能硬件,以及基于它们的应用,也将在Android开发者中掀起热潮。动画
Windows 10
过去的一年里微软带给了咱们不少惊喜,特别对于开发者而言,它改变了过去保守封闭的态度,变得更加开放,对开发者也更加友好,这样的态度无疑将帮助微软赢得更多开发者的青睐。
2015年对于微软将相当重要,由于横跨PC、手机、平板的Windows 10将发布正式版,微软在移动领域的成败,将取决于它是否能从新赢回消费者、硬件厂商以及开发者的心。对于开发者来讲,开发基于Win10的Universal App是一个充满吸引力的选择,由于能够一次性的支持多个设备,能够想见它将成为2015年Windows平台开发的热点。
技术
HTML5
2014年10月29日,HTML5标准规范制定完成并正式发布,对于Web的发展来讲意义十分重大,对移动互联网来讲也一样如此。HTML5中的Device API、webSocket、webGL等,大大拓展了web app的应用范围和表现力。另外一方面,iOS 8中新加入了WebKit Framework、Android 5.0可在不更新系统的状况下更新WebView,巨头的鼎力支持也让HTML5在移动设备上的将来更加光明。
不过,虽然在功能上HTML5逐渐接近了原生应用,但交互和动画性能一直是瓶颈,难以作到和原生应用同样绚丽同时又无卡顿。这个问题若是解决了,HTML5在移动设备上的应用将更加普遍。所以它也是目前你们关注的一个热点。下面这些技术致力于解决这个问题,相信它们在新的一年里会有更大的发展:
Canvas UI:目前Web App的问题是它基于DOM,而DOM是很慢的,若是页面内容不少,渲染和交互起来就会形成卡顿,另外DOM还存在单线程、没法利用GPU的缺陷。Canvas是HTML5的一个标签,将内容用位图的形式输出,所以可以利用GPU加速。Flipboard最近发表的一篇《60fps On The Mobile Web》就利用了Canvas来展现内容,从而克服卡顿。这种技术固然存在一些限制,好比它上面内容的可访问性不佳。但若是使用适当的话,Mobile Web App将再也不是卡顿的代名词。
Famo.us:这是一个使用本身的JS渲染引擎和3D物理引擎来加速UI渲染的JS框架,以达到接近原生应用的性能。它能够方便的与Angular.js、backbone、Meteor、React.js等集成,它支持跨平台,而且是开源的。
HTML5+:这是国内Dcloud公司推出的技术,包括从开发到部署的一整套解决方案,其中最重要的是5+ Runtime,它包括基本的HTML5 API的跨平台封装、将移动系统API映射为JS API的Native.js,以及兼容原生SDK的插件系统。使用它能够用JS调用原生UI,从理论上只比原生应用的交互有些微的性能损失。
NativeScript:这是另外一个使用Javascript来调用原生UI组件的技术,而且支持现有的原生Objective-C、 Java和.NET库。它已经于3月份开源,并将于四月份发布1.0版本。
跨平台开发
现在的移动市场iOS和Android两分天下,而且短期内这个格局都不会有大的改变。iOS有高质量的用户,Android有海量用户,对于开发者来讲二者都是难以放弃的市场。可是,同一个App为两个平台分别开发,其时间和成本都太高。在HTML5暂时还难以保证体验的状况下,“一份代码,多个平台”的跨平台开发势在必行。
基于PhoneGap/Cordova或者相似移动中间件的Hybrid App技术在过去几年里逐渐成熟,最近又出来一个基于React.js技术的Reapp,将React组件绑定到一个跨平台的UI-Kit来建立Hybrid App。能够预计Hybrid App仍将是2015年的开发热点。
另外的一些跨平台技术则是采用生成多个平台的目标代码的作法,最终获得原生App,以解决体验的问题,在这种状况下,通常UI部分仍是须要根据各平台分别编写,而其它部分则能够是公用的。这里介绍一些值得关注的技术:
J2OBJC:这是Google贡献的一个开源项目,用于将Java代码转换为Objective-C,使用它并不能彻底实现代码共用,但有实践代表它能达到70%的代码共用,这已经很不错了。随着Swift的持续火热,不知道新的一年里它是否会进化为J2Swift呢?
Xamarin:它是Mono跨平台项目的一个分支,旨在使用C#与.NET框架开发多平台的app。受到微软将.NET框架核心开源的消息刺激,Xamarin想必在15年能有更好的表现。
React Native:这是Facebook最近公布的一项跨平台开发技术,是基于React.js在移动设备上的实现,目前支持iOS和Android。它并未强调代码共用,而是“Learn Once, Write Everywhere”,使用JS抽象原生UI组件,并提供本身的布局系统,从而拥有Web UI的灵活性和接近原生UI的性能。
总结
技术的变化老是突飞猛进,这个现象在移动行业更加显著。2015年确定还会涌现出新的移动开发技术,也会出现新的热点,做为开发者须要学会拥抱变化,也须要在变化中掌握那些不变的技能,愿新的一年里你们都能在技术上更上一层楼,在移动开发行业实现本身的梦想。