第一章:hybrid app開發之技術選型


伴隨着移動互聯網的興起,越來越多的企業將部分資源投入其中,想在互聯網+的大潮中分一杯羹,並期望着站在風口上,成為時代的弄潮兒。

現在不會做一個app都不好意思說是搞互聯網的,那么開發一個app的方式有哪些呢?基於目前市面上比較流行的app都是基於android和ios的,所以我們只針對這兩種平台談app;雖然也有其他平台,但鑒於市場占有率,不納入本系列的范圍。

 

第一種方式:native app

IOS:基於XCode開發工具,使用Swift或者OC開發語言,來進行原生態的IOS應用的開發。

Android:基於Eclipse或者Android Studio開發工具,使用Java開發語言,來進行原生態的Android應用的開發。

優點:

  1. 原生態的功能和性能體驗,可以完全控制所有的功能。
  2. 完善的API文檔和demo。

缺點:

  1. 學習曲線較陡峭。
  2. 開發成本較大。
  3. 部署審核時間較長。

 

第二種方式:hybrid app,基於開源的framework,使用HTML+CSS+JS編程語言,通過編寫web應用,並且轉化成native app的方式來進行開發,下面列舉的framework都基於開源的Cordova內核。

Sencha:使用Ext JS框架進行web開發,並通過Cordova提供的API來進行Device層面的交互。開發的應用能夠在多個平台上面運行,目前的流行度比較低,原因是因為框架太大、運行速度太慢。

JQuery Mobile:使用JQuery框架進行web開發,口頭禪是“write less,do more”。開發的應用能夠在多個平台上面運行,開發人員比較多,主要是是基於JQuery的。

Ionic:使用AngularJS進行web開發。ionic是目前為止流行度最高的hybrid應用開發框架,ionic生態圈比較好,有一堆豐富的工具和插件。但是頁面的切換及動畫效果不是很理想。

Ionic 2:ionic的下一個主要版本。

OnsenUI:使用AngularJS或者JQuery進行web開發,OnsenUI是ionic的主要競爭對手,其總是比ionic領先一步,擁有更好的performance。但是使用的人不是很多。

OnsenUI 2:OnsenUI的下一各主要版本,可以基於任何的Javascript語言,並不局限於AngularJS或者JQuery。對最近比較火爆的ReactJS有非常好的支持。

優點:

  1. Write once,run anywhere!
  2. 學習曲線比較平滑,web思維,開發簡單。
  3. 開源,有大量的社區支持以及豐富的案例。
  4. 可以在線部署,免去部署審核時間。
  5. 開發成本較小。

缺點:

  1. Web不能解決一切問題。
  2. 不適合高質量交互及動畫類應用,性能相比native app有一定的差距。

 

第三種方式:基於跨平台的開發工具,來進行原生態應用的開發。

Xamarin:基於VS開發工具,使用C#開發語言,進行native app的開發。隨着微軟產品的開源,相信Xamarin會有越來越多的人使用。需要針對不同的平台進行不同的編碼。

Titanium:使用Javascript語言,通過提供跨平台的Javascript運行時和mobile api來進行native app的開發。需要針對不同的平台進行不同的編碼。

React Native:使用Javascript語言,通過JavascriptCore與Native API進行通信來進行native app的開發,由Facebook開源。

優點:

  1. Lean once,write anywhere!
  2. 擁有native app的性能。
  3. 擁有web開發的效率。

缺點:

  1. 入門門檻比較高。
  2. 需要自己為不同的平台定制UI組件。

 

結論:

每種方式各有其優缺點,我們應該根據實際的應用場景、團隊成員的技術儲備來選擇合適的技術。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM