2015年 移動開發都有哪些熱點?

infoq發表於2015-03-22

  自2007年賈伯斯釋出第一代iPhone開啟移動時代,到現在已經8年了。在過去的幾年中,移動網際網路以驚人的速度快速發展,移動開發這個從無到有的行業,也一直處於快速的演變當中。回顧過去的一年,Swift語言、Material Design、Win10等等的釋出激動人心,HTML5標準的確定也讓人對Mobile 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年肯定還會湧現出新的移動開發技術,也會出現新的熱點,作為開發者需要學會擁抱變化,也需要在變化中掌握那些不變的技能,願新的一年裡大家都能在技術上更上一層樓,在移動開發行業實現自己的夢想。

相關文章