構建混合移動應用的流行框架優缺點對比

jopen 10年前發布 | 62K 次閱讀 移動應用

僅僅幾年前,使用 JavaScript 開發移動應用程序還只是古怪的實驗,無需使用 Java 和 Object C 就可創建 iOS 和 Android 應用程序的想法似乎吸引著很多 web 開發者。現在出現了大量的框架,使我們只使用 web 技術就可以創建移動應用,并且用戶體驗和以往用原生語言開發的應用差不多。

構建混合移動應用的流行框架優缺點對比

什么是混合移動應用程序?

混 合應用程序只是一個普通的移動優化的網站,用CSS,HTML和JavaScript編寫,在webview上顯示(它基本上是一個精簡的Web瀏覽 器)。這樣做的好處是,只需要寫一個應用程序,在大多數情況下,不用修改就可以在 Android,iOS 和 Windows Phone 上運行。本文列出的大多數框架都是用Cordova PhoneGap 實現的,它們架起了由 JavaScript 通往設備 API 的橋梁。

本文將對用于構建混合和原生移動應用程序的最流行的 JavaScript 框架進行比較。滾動本文的最后可以看到結果。

1. Ionic

構建混合移動應用的流行框架優缺點對比

Ionic

Ionic 在我們列出來的這些框架里面是最流行的,可能對很多開發者來說是首選。你可以用框架中的CSS 實現有 native 風格的設計,不過相對于使用完整的 Ionic,更建議搭配 AngularJS 一起開發。使用 Ionic 的一大好處是命令行的交互界面,有很多迷人的功能,包括集成的仿真器金額基于Cordova 的 app 打包器。

正面:

  • 預置的組件

  • 強大的社區

  • 命令行交行界面,有著很多有用的功能

負面:

  • 復雜的開發需要了解AngularJS

2. Onsen UI

構建混合移動應用的流行框架優缺點對比Onsen UI

 這 是一個開源的框架,可以通過組合 native 風格的組件來開發 app。它用起來非常簡單,可以用AngularJS 一起開發,也可以不用。有著完善的文檔,包含了大量例子和布局,覆蓋了最常見的 app 類型。Onsen UI 的一個不足是目前只發布了一個 iOS 主題,不過下一個版本承諾會推出 Material Design(谷歌推出的一種設計風格)的支持。

正面:

  • 預置的組件

  • 優秀的文檔,包含大量例子

負面:

  • 未包含PhoneGap/Cordova工具,不過可以支持

  • 暫不支持Material Design風格

3. Framework 7

構建混合移動應用的流行框架優缺點對比

 Framework 7

 Framework 7比較酷的地方在于它完全是框架無關的(沒有像Angular或者React那樣的外部依賴),但是確依然可以讓app在組件和動畫方面有著native 的風格和體驗。開發者只需要會HTML, CSS和JavaScript就可以開發應用,而不用把代碼搞得很復雜。Framework 7并不包含任何用于仿真或者打包的工具,,所以你需要將其與Cordova或者PhoneGap一起使用。

正面:

  • 簡單易用,只依賴HTML, CSS和JavaScript

  • 性能不錯

  • 可以和任意JavaScript框架結合使用

負面:

  • 未包含PhoneGap/Cordova工具,不過可以支持

4. React Native

構建混合移動應用的流行框架優缺點對比

React Native

正 如項目的名稱表露的那樣,React Native的目的是構建真正native的應用。而不是構建在Webview里運行的混合模式的應用。開發完全由JavaScript和React來完 成。這個框架不太適合web開發的新手,不過其背后有一個龐大的社區,在各個方面都可以為你提供支持。最近這個框架還發布了Android版,這樣你就可 以真正實現跨平臺的應用開發了。

正面:

  • Native級別的性能

  • 龐大的社區支持

負面:

  • 陡峭的學習曲線

  • 目前開發工具只支持OS X

5. jQuery Mobile

構建混合移動應用的流行框架優缺點對比

jQuery Mobile

它 是所有移動框架的爺爺, jQuery Mobile 的目的不是讓 apps 的外觀像 Android 或 iOS。而是為了幫助開發可以在所有移動瀏覽器(包括老舊的 Windows Phone,Blackberry 和 Symbian)上良好運行的 web apps。因此,它是非常輕量級的,只依賴 jQuery,很容易學會,同時還提供了良好的觸摸識別和對 PhoneGap/Cordova 的支持。

優點:

  • 支持廣泛的移動瀏覽器

  • 簡單易用

缺點:

  • 樣式陳舊,既不像 iOS 也不像 Android

  • 不包含 PhoneGap/Cordova builder,但支持

6. Native Script

構建混合移動應用的流行框架優缺點對比

NativeScript

Native script 的最大特點是,用 TypeScript 語言編寫 app 的功能,只需要編寫一次,然后它可以針對不同的操作系統(包括 Android,iOS 和 Windows Phone)產生對應的可執行代碼,打包后,應用是按原生程序的方式運行的,并沒有打開和運行瀏覽器。使用該框架確實需要一些編程技巧,但它詳盡深入的文 檔彌補了這方面的不足。

優點:

  • “編寫一次,到處使用” 的方式

  • 強大的文檔

Cons:

  •  陡峭的學習曲線

  •  較小的社區

7. Famous

構建混合移動應用的流行框架優缺點對比

Famous

Famous切入web和移動開發的方式有點與眾不同。它使用WebGL把你的HTML的DOM樹組合在一起,把所有的內容在一個canvas里顯示,有 點類似HTML游戲引擎做的那樣。這種獨特的技術可以讓框架在60 fps的速度下運行app,這已經和大部分native的app一樣流暢了。可惜的是,這個項目現在不再活躍了,也沒有合適的文檔可供參考。

正面:

  • Native的性能

反面:

  • 開發基本停滯

  • 文檔不全

  • 社區不健全

匯總數據

框架 Native體驗 依賴 社區 文檔 工具
Ionic 7/10 AngularJS (可選) 9/10 8/10 強大的 CLI, Ionic SDK
Onsen UI 6/10 AngularJS (可選) 4/10 9/10 Monaca Cloud IDE (有免費方案)
Framework 7 8/10 只需HTML, CSS 和JS 6/10 8/10
React Native 8/10 React 8/10 5/10

Chrom的擴展工具React Developer Tools

jQuery Mobile 3/10 jQuery 8/10 5/10
Native Script 8/10 TypeScript 5/10 9/10 免費的 CLI, 其他的付費可選
Famous 7/10 WebGL, AngularJS 3/10 5/10

總結

沒有真正完美的框架 – 每個都有自己的優點和缺點,用哪個取決于你要用他們干什么。

我們希望這個快速的比較能對你有幫助!如果你對列表里的或者類似的框架有一些經驗,不妨給我們留言,分享你對混合應用開發的看法!

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!