十大開源安卓應用程式的開發框架

Eric Brown發表於2016-02-04

除了CSS外,這裡每一種應用程式開發框架還支援HTML5或 JavaScript,而且都是開源版本,至少有某個版本的免費程式。

如果你在開發基於安卓的遊戲或者複雜應用程式,又與雲全面整合,那麼你可能想要原生的應用程式開發工具。這方面的工具多種多樣,有的是面向Java的安卓SDK和安卓開發工具(ADT)Eclipse外掛,有的是像Corona這類面向遊戲的引擎,還有像面向雲的Monaca工具套件這樣的商用企業平臺。

然而,大多數移動應用程式都是比較簡單的程式,期限緊、預算少,需要同時支援安卓和iOS。對大多數應用開發人員來說,尤其是將Web應用程式移植為移動應用程式的那些人來說,跨平臺移動應用程式框架是一種更好的選擇。而最新的移動框架有望帶來一些類似原生的效能和功能,同時仍恪守基本的“編寫一次,到處執行”這個開發理念。

要求

下面我簡要介紹了10款與安卓相容的最佳移動應用程式框架。為了滿足我的要求,它們必須支援HTML5或JavaScript,不過大多數同時支援兩者,另外還支援CSS。它們還得是開源框架,提供至少某個版本的免費應用程式。本文介紹的幾乎所有程式是免費開源版本,除了Windows及/或OS X外,大多數還支援Linux桌面。

開源要求排除了一些大有前途的程式包,比如Trigger.IO,也排除了一些主流框架,比如微軟的Xamarin(基於之前的Mono專案)。英特爾的XDK也備受關注,它並非開源,但是提供了一款功能強大的免費版。

我還捨棄了另外幾個程式,它們不是太不完善,就是太落伍了。然而,如果你青睞的某種開源框架理應提到,請告訴我。

這10個程式包種類繁多,有的是真正“編寫一次,到處執行”的程式,比如輕量級jQuery Mobile,有的是比較類似原生應用程式產品,但是很容易在安卓和iOS之間移植和重複使用程式碼。如今,廣泛的跨平臺支援對大多數應用程式開發人員來說並非必不可少,他們日益發覺沒多大理由要支援Windows Phone,更不用說是支援日漸式微的黑莓了。這些程式包大多數介於“編寫一次”和原生之間,彌補了JavaScript API和包裝器框架之間的差距,同時支援一些原生功能,比如攝像頭控制功能。

相比早在2012年8月那次介紹的15種移動應用程式框架,這些程式包已有了大幅改進,這不足為奇。近些年來,移動框架不僅得益於使用更廣泛的HTML5,還得益於大幅改進的元件,這些元件提升了原生應用程式功能和效能。這批最新框架還讓你可以運用現代使用者介面風格,比如谷歌的Material Design。

只有四款產品仍然出現在了本文中:jQuery Mobile、Kendo UI、Sencha Touch和Titanium。如今最流行的兩種選擇是新來者:Ionic和Onsen UI。

不像2012年的時候,今年這次沒有包括Adobe的久負盛名的PhoneGap,它包含Apache的Cordova渲染程式包。PhoneGap其實與其說是一種標準的開發環境,更不如說是一種包裝器和程式包部署框架。不過,許多這些程式整合了Cordova/PhoneGap,大多數支援可選的整合。

Ionic基於AngularJS JavaScript MVVM(模型–檢視–檢視模型)框架,該框架在許多其他產品上作為一個選項而得到支援。另一種流行的可選元件是Bootstrap UI。本文中介紹的一個程式同時基於Angular和Bootstrap UI,那就是Mobile Angular UI。

十大開源框架

下面按字母順序列出了十大開源移動應用程式框架,並附有產品頁面連結。除非另有說明,否則軟體只有免費開源版本。

1.Framework 7

來自iDangero.us —自版本1.0在一年前釋出以來,Framework就一直是開發iOS應用程式的最佳選擇之一。由於它提供對安卓的支援,如果你先從iOS入手,但隨後構建具有類似iOS外觀感覺的安卓版本,它也是個不錯的選擇。功能特性包括:Material Design使用者介面、原生滾動、1:1頁面動畫、自定義DOM庫以及XHR快取和預裝入。

相關連結:http://www.idangero.us/framework7/#.Vq_yr6jfOJt

2.Ionic

來自Ionic — 這種流行的跨平臺框架基於Sass CSS擴充套件語言,使用起來相當容易,不過它還能整合用於構建更高階應用程式的AngularJS。Ionic提供了一個豐富的庫,包括針對移動裝置最佳化的HTML、CSS和JS CSS元件、手勢及工具,可與預定義的元件協同工作。命令列介面提供了模擬器、實時重灌和日誌等功能。還有一個基於Cordova的應用程式包裝器。

相關連結:http://ionicframework.com

3.jQuery Mobile

來自jQuery基金會— 這種成熟的輕量級框架基於jQuery,缺少本文中介紹的大多數程式包具有的許多高階功能,不過它仍擁有一群龐大的忠實使用者。雖然它提供了語義標記、漸進式改進、主題化設計和PhoneGap/Cordova支援之類的功能,但是在類似原生系統的功能和效能或者高階使用者介面方面乏善可陳。另一方面,它又很簡單,這意味著“編寫一次,到處執行”是常常可以實現的目標;對於還需要在Windows Phone和黑莓上執行的簡單應用程式而言,它也是個不錯的選擇。

相關連結:http://jquerymobile.com

4.Kendo UI

來自Telerik — 這種基於jQuery的HTML5/JavaScript框架既有開源版,又有商業版。對企業使用者友好的Kendo UI提供了種類豐富的使用者介面視窗元件和外掛。它最廣為人知的地方就是擁有無數具有Material Design風格的預構建主題,另外還有一個主題構建器,可用於構建自定義主題。其他功能特性包括:Angular和Bootstrap UI整合以及效能最佳化。

相關連結:http://www.telerik.com/kendo-ui

5.Mobile Angular UI

來自Maurizio Casimirri —這個開源專案將AngularJS和經過修改的推特Bootstrap合併到了一個移動使用者介面框架。據說它保留了Bootstrap 3的大部分語法,因而更容易實現從Web應用程式向移動應用程式的移植,同時增添了Bootstrap缺失的許多元件,比如切開關、覆蓋、側邊欄、可滾動區域以及固定位置的導航條。庫包括fastclick.js和overthrow.js。

相關連結:http://mobileangularui.com

6.NativeScript

來自Telerik —顧名思義,NativeScript專注於原生使用者體驗開發,但是它提供了跨安卓和iOS的跨平臺程式碼共享支援。該軟體使用現有的原生使用者介面庫,使用者介面由JavaScript、XML或視情況而定的Angular來描述。然而,使用起來,它不如Telerik更傳統的跨平臺Kendo UI框架來得容易。

相關連結:https://www.nativescript.org

7.Onsen UI

來自Asial Corp. — Onsen基於HTML和CSS而建,旨在與並非預先整合的PhoneGap和Cordova協同執行。它還可以與Angular和jQuery協同執行。顧名思義,該程式強呼叫戶介面開發,並提供了一系列廣泛的基於Web的使用者介面元件和特性,比如表格的雙列檢視。(然而,仍然缺少Material Design。)這個文件完備的程式針對這樣的jQuery Mobile使用者:既需要易於使用,又想要更多的功能、更高的效能和更豐富的使用者介面特性。總部位於東京的Asial正在開發一種拖放式GUI工具,該公司還開發和維護Monaca。

相關連結:https://onsen.io

8.React Native

來自Facebook — React Native是一種開源框架,從Facebook的React JavaScript框架派生而來,眾所周知,JavaScript框架取代了早些時候的HTML5基礎。顧名思義,這個面向iOS的高階程式與其說是一種跨平臺框架,還不如說是原生程式包裝器,但是由於新增了對安卓的支援,它很適合我們的要求,因為你實際上只要用JavaScript編寫一次程式碼,就能移植到這兩個平臺。目前,只有OS X桌面得到全面支援,不過也有試驗性的Linux和Windows版本面向安卓開發。

相關連結:http://www.reactnative.com

9.Sencha Touch

來自Sencha — Sencha的成熟的、面向企業的HTML5/JavaScript框架既有開源版,又有商業版。Sencha建立於ExtJS的基礎上,能夠獲得類似原生的效能。它為HTML5提供了視覺化應用程式構建器,另外還提供了重複使用自定義元件的功能。原生包裝器簡化了分發到Google Play等應用程式商店的工作。

相關連結:https://www.sencha.com/products/touch/

10.Titanium

來自Appcelerator —不像那些比較偏向Web的框架,Titanium使用JavaScript來構建原生程式碼,聲稱有望提升效能。這種基於Node.js的軟體開發工具包(SDK)為iOS、安卓、Windows、黑莓和HTML5提供了5000多個API。Titanium更廣為人知的地方是效能和豐富的功能特性,而不是易用性。軟體是開源,不過只要你不釋出你的應用程式,功能齊全的免費版可以免費享用,眼下你每月至少得支付39美元。

相關連結:http://www.appcelerator.com/platform/titanium-sdk

相關文章