十大開源安卓應(yīng)用程序的開發(fā)框架
譯文【51CTO.com快譯】除了CSS外,這里每一種應(yīng)用程序開發(fā)框架還支持HTML5或 JavaScript,而且都是開源版本,至少有某個(gè)版本的免費(fèi)程序。
如果你在開發(fā)基于安卓的游戲或者復(fù)雜應(yīng)用程序,又與云全面集成,那么你可能想要原生的應(yīng)用程序開發(fā)工具。這方面的工具多種多樣,有的是面向Java的安卓SDK和安卓開發(fā)工具(ADT)Eclipse插件,有的是像Corona這類面向游戲的引擎,還有像面向云的Monaca工具套件這樣的商用企業(yè)平臺(tái)。
然而,大多數(shù)移動(dòng)應(yīng)用程序都是比較簡單的程序,期限緊、預(yù)算少,需要同時(shí)支持安卓和iOS。對大多數(shù)應(yīng)用開發(fā)人員來說,尤其是將Web應(yīng)用程序移植為移動(dòng)應(yīng)用程序的那些人來說,跨平臺(tái)移動(dòng)應(yīng)用程序框架是一種更好的選擇。而最新的移動(dòng)框架有望帶來一些類似原生的性能和功能,同時(shí)仍恪守基本的“編寫一次,到處運(yùn)行”這個(gè)開發(fā)理念。
要求
下面我簡要介紹了10款與安卓兼容的最佳移動(dòng)應(yīng)用程序框架。為了滿足我的要求,它們必須支持HTML5或JavaScript,不過大多數(shù)同時(shí)支持兩者,另外還支持CSS。它們還得是開源框架,提供至少某個(gè)版本的免費(fèi)應(yīng)用程序。本文介紹的幾乎所有程序是免費(fèi)開源版本,除了Windows及/或OS X外,大多數(shù)還支持Linux桌面。
開源要求排除了一些大有前途的程序包,比如Trigger.IO,也排除了一些主流框架,比如微軟的Xamarin(基于之前的Mono項(xiàng)目)。英特爾的XDK也備受關(guān)注,它并非開源,但是提供了一款功能強(qiáng)大的免費(fèi)版。
我還舍棄了另外幾個(gè)程序,它們不是太不完善,就是太落伍了。然而,如果你青睞的某種開源框架理應(yīng)提到,請告訴我。
這10個(gè)程序包種類繁多,有的是真正“編寫一次,到處運(yùn)行”的程序,比如輕量級(jí)jQuery Mobile,有的是比較類似原生應(yīng)用程序產(chǎn)品,但是很容易在安卓和iOS之間移植和重復(fù)使用代碼。如今,廣泛的跨平臺(tái)支持對大多數(shù)應(yīng)用程序開發(fā)人員來說并非必不可少,他們?nèi)找姘l(fā)覺沒多大理由要支持Windows Phone,更不用說是支持日漸式微的黑莓了。這些程序包大多數(shù)介于“編寫一次”和原生之間,彌補(bǔ)了JavaScript API和包裝器框架之間的差距,同時(shí)支持一些原生功能,比如攝像頭控制功能。
相比早在2012年8月那次介紹的15種移動(dòng)應(yīng)用程序框架,這些程序包已有了大幅改進(jìn),這不足為奇。近些年來,移動(dòng)框架不僅得益于使用更廣泛的HTML5,還得益于大幅改進(jìn)的組件,這些組件提升了原生應(yīng)用程序功能和性能。這批最新框架還讓你可以運(yùn)用現(xiàn)代用戶界面風(fēng)格,比如谷歌的Material Design。
只有四款產(chǎn)品仍然出現(xiàn)在了本文中:jQuery Mobile、Kendo UI、Sencha Touch和Titanium。如今最流行的兩種選擇是新來者:Ionic和Onsen UI。
不像2012年的時(shí)候,今年這次沒有包括Adobe的久負(fù)盛名的PhoneGap,它包含Apache的Cordova渲染程序包。PhoneGap其實(shí)與其說是一種標(biāo)準(zhǔn)的開發(fā)環(huán)境,更不如說是一種包裝器和程序包部署框架。不過,許多這些程序集成了Cordova/PhoneGap,大多數(shù)支持可選的集成。
Ionic基于AngularJS JavaScript MVVM(模型–視圖–視圖模型)框架,該框架在許多其他產(chǎn)品上作為一個(gè)選項(xiàng)而得到支持。另一種流行的可選組件是Bootstrap UI。本文中介紹的一個(gè)程序同時(shí)基于Angular和Bootstrap UI,那就是Mobile Angular UI。
十大開源框架
下面按字母順序列出了十大開源移動(dòng)應(yīng)用程序框架,并附有產(chǎn)品頁面鏈接。除非另有說明,否則軟件只有免費(fèi)開源版本。
1.Framework 7
來自iDangero.us —自版本1.0在一年前發(fā)布以來,F(xiàn)ramework就一直是開發(fā)iOS應(yīng)用程序的最佳選擇之一。由于它提供對安卓的支持,如果你先從iOS入手,但隨后構(gòu)建具有類似iOS外觀感覺的安卓版本,它也是個(gè)不錯(cuò)的選擇。功能特性包括:Material Design用戶界面、原生滾動(dòng)、1:1頁面動(dòng)畫、自定義DOM庫以及XHR緩存和預(yù)裝入。
相關(guān)鏈接:http://www.idangero.us/framework7/#.Vq_yr6jfOJt
2.Ionic
來自Ionic — 這種流行的跨平臺(tái)框架基于Sass CSS擴(kuò)展語言,使用起來相當(dāng)容易,不過它還能集成用于構(gòu)建更高級(jí)應(yīng)用程序的AngularJS。Ionic提供了一個(gè)豐富的庫,包括針對移動(dòng)設(shè)備優(yōu)化的HTML、CSS和JS CSS組件、手勢及工具,可與預(yù)定義的組件協(xié)同工作。命令行接口提供了仿真器、實(shí)時(shí)重裝和日志等功能。還有一個(gè)基于Cordova的應(yīng)用程序包裝器。
相關(guān)鏈接:http://ionicframework.com
3.jQuery Mobile
來自jQuery基金會(huì)— 這種成熟的輕量級(jí)框架基于jQuery,缺少本文中介紹的大多數(shù)程序包具有的許多高級(jí)功能,不過它仍擁有一群龐大的忠實(shí)用戶。雖然它提供了語義標(biāo)記、漸進(jìn)式改進(jìn)、主題化設(shè)計(jì)和PhoneGap/Cordova支持之類的功能,但是在類似原生系統(tǒng)的功能和性能或者高級(jí)用戶界面方面乏善可陳。另一方面,它又很簡單,這意味著“編寫一次,到處運(yùn)行”是常常可以實(shí)現(xiàn)的目標(biāo);對于還需要在Windows Phone和黑莓上運(yùn)行的簡單應(yīng)用程序而言,它也是個(gè)不錯(cuò)的選擇。
相關(guān)鏈接:http://jquerymobile.com
4.Kendo UI
來自Telerik — 這種基于jQuery的HTML5/JavaScript框架既有開源版,又有商業(yè)版。對企業(yè)用戶友好的Kendo UI提供了種類豐富的用戶界面窗口組件和插件。它最廣為人知的地方就是擁有無數(shù)具有Material Design風(fēng)格的預(yù)構(gòu)建主題,另外還有一個(gè)主題構(gòu)建器,可用于構(gòu)建自定義主題。其他功能特性包括:Angular和Bootstrap UI集成以及性能優(yōu)化。
相關(guān)鏈接:http://www.telerik.com/kendo-ui
5.Mobile Angular UI
來自Maurizio Casimirri —這個(gè)開源項(xiàng)目將AngularJS和經(jīng)過修改的推特Bootstrap合并到了一個(gè)移動(dòng)用戶界面框架。據(jù)說它保留了Bootstrap 3的大部分語法,因而更容易實(shí)現(xiàn)從Web應(yīng)用程序向移動(dòng)應(yīng)用程序的移植,同時(shí)增添了Bootstrap缺失的許多組件,比如切開關(guān)、覆蓋、側(cè)邊欄、可滾動(dòng)區(qū)域以及固定位置的導(dǎo)航條。庫包括fastclick.js和overthrow.js。
相關(guān)鏈接:http://mobileangularui.com
6.NativeScript
來自Telerik —顧名思義,NativeScript專注于原生用戶體驗(yàn)開發(fā),但是它提供了跨安卓和iOS的跨平臺(tái)代碼共享支持。該軟件使用現(xiàn)有的原生用戶界面庫,用戶界面由JavaScript、XML或視情況而定的Angular來描述。然而,使用起來,它不如Telerik更傳統(tǒng)的跨平臺(tái)Kendo UI框架來得容易。
相關(guān)鏈接:https://www.nativescript.org
7.Onsen UI
來自Asial Corp. — Onsen基于HTML和CSS而建,旨在與并非預(yù)先集成的PhoneGap和Cordova協(xié)同運(yùn)行。它還可以與Angular和jQuery協(xié)同運(yùn)行。顧名思義,該程序強(qiáng)調(diào)用戶界面開發(fā),并提供了一系列廣泛的基于Web的用戶界面組件和特性,比如表格的雙列視圖。(然而,仍然缺少M(fèi)aterial Design。)這個(gè)文檔完備的程序針對這樣的jQuery Mobile用戶:既需要易于使用,又想要更多的功能、更高的性能和更豐富的用戶界面特性。總部位于東京的Asial正在開發(fā)一種拖放式GUI工具,該公司還開發(fā)和維護(hù)Monaca。
相關(guān)鏈接:https://onsen.io
8.React Native
來自Facebook — React Native是一種開源框架,從Facebook的React JavaScript框架派生而來,眾所周知,JavaScript框架取代了早些時(shí)候的HTML5基礎(chǔ)。顧名思義,這個(gè)面向iOS的高端程序與其說是一種跨平臺(tái)框架,還不如說是原生程序包裝器,但是由于新增了對安卓的支持,它很適合我們的要求,因?yàn)槟銓?shí)際上只要用JavaScript編寫一次代碼,就能移植到這兩個(gè)平臺(tái)。目前,只有OS X桌面得到全面支持,不過也有試驗(yàn)性的Linux和Windows版本面向安卓開發(fā)。
相關(guān)鏈接:http://www.reactnative.com
9.Sencha Touch
來自Sencha — Sencha的成熟的、面向企業(yè)的HTML5/JavaScript框架既有開源版,又有商業(yè)版。Sencha建立于ExtJS的基礎(chǔ)上,能夠獲得類似原生的性能。它為HTML5提供了可視化應(yīng)用程序構(gòu)建器,另外還提供了重復(fù)使用自定義組件的功能。原生包裝器簡化了分發(fā)到Google Play等應(yīng)用程序商店的工作。
相關(guān)鏈接:https://www.sencha.com/products/touch/
10.Titanium
來自Appcelerator —不像那些比較偏向Web的框架,Titanium使用JavaScript來構(gòu)建原生代碼,聲稱有望提升性能。這種基于Node.js的軟件開發(fā)工具包(SDK)為iOS、安卓、Windows、黑莓和HTML5提供了5000多個(gè)API。Titanium更廣為人知的地方是性能和豐富的功能特性,而不是易用性。軟件是開源,不過只要你不發(fā)布你的應(yīng)用程序,功能齊全的免費(fèi)版可以免費(fèi)享用,眼下你每月至少得支付39美元。
相關(guān)鏈接:http://www.appcelerator.com/platform/titanium-sdk
標(biāo)題:Top 10 open source Android app development frameworks,作者:Eric Brown
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】