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