自2007年喬布斯發(fā)布第一代iphone開啟移動時代,到現在已經8年了。在過去的幾年中,移動互聯(lián)網以驚人的速度快速發(fā)展,移動開發(fā)這個從無到有的行業(yè),也一直處于快速的演變當中。回顧過去的一年,Swift語言、Material Design、Win10等等的發(fā)布激動人心,HTML5標準的確定也讓人對Mobile Web App再次燃起熱情,對于開發(fā)者來說,這是最好的時代。新的一年里,我們肯定也會迎來更多令人興奮的變化,移動開發(fā)領域將會有哪些值得關注的話題呢?本文就拋磚引玉,為大家盤點一下。
本文將從平臺與技術兩方面進行盤點。
iOS 8的發(fā)布被稱為“史無前例”,它開放了超過4000個API,以及App Extensions、HealthKit、HomeKit等諸多新特性,為iOS App的表現力增添了更多可能性。不過相對的,這樣的大幅更新帶來了軟件質量問題。有報道稱,將于15年夏季到來的iOS 9更新幅度不大,將專注于提升軟件質量。另外在剛剛過去的春季發(fā)布會上,蘋果正式發(fā)布了Apple Watch,引起了熱烈的反響,可以說今年將是智能手表之年。
對于iOS開發(fā)者來說,經過了一段時間的學習以及iOS 8份額的逐漸鞏固,2015年將是iOS 8新特性添加到應用當中的時候。另外我們可以預見,圍繞著HealthKit、Apple Watch等會涌現出大批創(chuàng)新型的App,它們也將是新的一年iOS開發(fā)的熱點。對于中國的iOS開發(fā)者來說,Apple Pay可能于2015年進入中國,可以想見,這也將是另一個熱點。
當然,還有最重要的,Swift語言。不久前蘋果發(fā)布了Swift 1.2版本,解決了之前存在的許多問題,語言整體更加趨于完善。對于iOS開發(fā)者來說,Swift語言已經不是想不想學,而是什么時候學習的問題。雖然短時間內Swift無法徹底替代Objective-C,但由于兩者良好的兼容性,我們可以逐漸將現有的Objective-C App遷移到Swift。關于Swift的語言特性研究、性能優(yōu)化、第三方庫開發(fā)等,也必將是2015年全年的熱點。
2014年的Android發(fā)展也頗為可圈可點,它不僅穩(wěn)固了自家市場老大的地位,提升了設計和性能,還開始向更廣闊的物聯(lián)網進軍,Android的未來無可限量。
對于開發(fā)者來說比較重大的變化,除了Android 5.x的發(fā)布以及Material Design設計語言外,還有Android Studio 1.0正式版的發(fā)布,這標志著Android開發(fā)者終于有了官方的正式IDE,而與其配套的Gradle構建工具的使用也成為Android開發(fā)者必修課。另外Android Wear、Android TV、Android Auto大大拓寬了Android的應用范圍,開發(fā)者將有更大的空間來施展自己的才華。在新的一年里,對于物聯(lián)網和智能硬件,以及基于它們的應用,也將在Android開發(fā)者中掀起熱潮。
過去的一年里微軟帶給了我們很多驚喜,特別對于開發(fā)者而言,它改變了過去保守封閉的態(tài)度,變得更加開放,對開發(fā)者也更加友好,這樣的態(tài)度無疑將幫助微軟贏得更多開發(fā)者的青睞。
2015年對于微軟將至關重要,因為橫跨PC、手機、平板的Windows 10將發(fā)布正式版,微軟在移動領域的成敗,將取決于它是否能重新贏回消費者、硬件廠商以及開發(fā)者的心。對于開發(fā)者來說,開發(fā)基于Win10的Universal App是一個充滿吸引力的選擇,因為可以一次性的支持多個設備,可以想見它將成為2015年Windows平臺開發(fā)的熱點。
2014年10月29日,HTML5標準規(guī)范制定完成并正式發(fā)布,對于Web的發(fā)展來說意義十分重大,對移動互聯(lián)網來說也同樣如此。HTML5中的Device API、webSocket、webGL等,大大拓展了web app的應用范圍和表現力。另一方面,iOS 8中新加入了WebKit Framework、Android 5.0可在不更新系統(tǒng)的情況下更新WebView,巨頭的鼎力支持也讓HTML5在移動設備上的未來更加光明。
不過,雖然在功能上HTML5逐漸接近了原生應用,但交互和動畫性能一直是瓶頸,難以做到和原生應用一樣絢麗同時又無卡頓。這個問題如果解決了,HTML5在移動設備上的應用將更加廣泛。因此它也是目前大家關注的一個熱點。下面這些技術致力于解決這個問題,相信它們在新的一年里會有更大的發(fā)展:
Canvas UI:目前Web App的問題是它基于DOM,而DOM是很慢的,如果頁面內容很多,渲染和交互起來就會造成卡頓,另外DOM還存在單線程、無法利用GPU的缺陷。Canvas是HTML5的一個標簽,將內容用位圖的形式輸出,因此能夠利用GPU加速。Flipboard最近發(fā)表的一篇《60fps On The Mobile Web》就利用了Canvas來展示內容,從而克服卡頓。這種技術當然存在一些限制,比如它上面內容的可訪問性不佳。但如果使用適當的話,Mobile Web App將不再是卡頓的代名詞。
Famo.us:這是一個使用自己的JS渲染引擎和3D物理引擎來加速UI渲染的JS框架,以達到接近原生應用的性能。它可以方便的與Angular.js、backbone、Meteor、React.js等集成,它支持跨平臺,并且是開源的。
HTML5+:這是國內Dcloud公司推出的技術,包括從開發(fā)到部署的一整套解決方案,其中最重要的是5+ Runtime,它包括基本的HTML5 API的跨平臺封裝、將移動系統(tǒng)API映射為JS API的Native.js,以及兼容原生SDK的插件系統(tǒng)。使用它可以用JS調用原生UI,從理論上只比原生應用的交互有些微的性能損失。
NativeScript:這是另一個使用javascript來調用原生UI組件的技術,并且支持現有的原生Objective-C、 Java和.NET庫。它已經于3月份開源,并將于四月份發(fā)布1.0版本。
如今的移動市場iOS和Android兩分天下,并且短時間內這個格局都不會有大的改變。iOS有高質量的用戶,Android有海量用戶,對于開發(fā)者來說兩者都是難以放棄的市場。但是,同一個App為兩個平臺分別開發(fā),其時間和成本都過高。在HTML5暫時還難以保證體驗的情況下,“一份代碼,多個平臺”的跨平臺開發(fā)勢在必行。
基于PhoneGap/Cordova或者類似移動中間件的Hybrid App技術在過去幾年里逐漸成熟,最近又出來一個基于React.js技術的Reapp,將React組件綁定到一個跨平臺的UI-Kit來創(chuàng)建Hybrid App。可以預計Hybrid App仍將是2015年的開發(fā)熱點。
另外的一些跨平臺技術則是采用生成多個平臺的目標代碼的做法,最終得到原生App,以解決體驗的問題,在這種情況下,一般UI部分還是需要根據各平臺分別編寫,而其它部分則可以是公用的。這里介紹一些值得關注的技術:
J2OBJC:這是Google貢獻的一個開源項目,用于將Java代碼轉換為Objective-C,使用它并不能完全實現代碼共用,但有實踐表明它能達到70%的代碼共用,這已經很不錯了。隨著Swift的持續(xù)火熱,不知道新的一年里它是否會進化為J2Swift呢?
Xamarin:它是Mono跨平臺項目的一個分支,旨在使用C#與.NET框架開發(fā)多平臺的app。受到微軟將.NET框架核心開源的消息刺激,Xamarin想必在15年能有更好的表現。
React Native:這是Facebook最近公布的一項跨平臺開發(fā)技術,是基于React.js在移動設備上的實現,目前支持iOS和Android。它并未強調代碼共用,而是“Learn Once, Write Everywhere”,使用JS抽象原生UI組件,并提供自己的布局系統(tǒng),從而擁有Web UI的靈活性和接近原生UI的性能。
技術的變化總是日新月異,這個現象在移動行業(yè)更加顯著。2015年肯定還會涌現出新的移動開發(fā)技術,也會出現新的熱點,作為開發(fā)者需要學會擁抱變化,也需要在變化中掌握那些不變的技能,愿新的一年里大家都能在技術上更上一層樓,在移動開發(fā)行業(yè)實現自己的夢想。
新聞熱點
疑難解答