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