對(duì)於大部分Web開發人員,HTML、CSS和 Java是他們熟練的開(kāi)發技能。然而,開發一個原生的移動app,對他們來說卻是完全陌生的(de)領域。因為開發androids,ioses 或 Windows phones上的原(yuán)生app,需要掌握(wò)完全不(bú)同的開發語言( androids使用Java,ioses app使(shǐ)用Objective-C或Swift,而Windows phones則使用(yòng).NET),除此之外,你還需要使用(yòng)完全不同的開發環境、IDE,並且(qiě)掌握(wò)不同的開發框架(jià),這(zhè)些(xiē)都成了人員開發移動app的巨大障礙。
但隨著技術的發(fā)展,我們已經看到許多(duō)基於Web技術的移動開(kāi)發框架,現在你隻需要牢固掌握HTML、CSS和Java技術就可以開發出一個移動app來。通過像phonesGap這樣的編譯工具能夠將你開發的Web應用轉換為不同平台上的(de)app,從而(ér)帶(dài)來了極大的(de)便攜性。
1.jQuery mobiles
是一個(gè)非常健壯的跨平台開發app框架。它能夠支持很(hěn)多不同的平台(tái),包括桌麵(miàn)應用、智能手機、平(píng)板(bǎn)、以及電(diàn)子閱(yuè)讀器 如 Nook 或 Kindle。與它的同胞(bāo) jQuery UI 類似,jQuery mobiles也包含了一組UI組件,開發人員(yuán)可以非常方便地使(shǐ)用它們來開發UI界麵。而且,這些UI組件都已經為移動端進行了優化,能夠為應用提供更好(hǎo)的性能。
2.Cordova/ phonesGap phonesGap
Cordova/phonesGap提供了一組Java API,能(néng)夠連接設備的底層功能,比如攝像、定位(wèi)、通訊錄、指南針等等。Cordova/phonesGap使我們不需要使用任何原生程序語言,而直接利用像jQuery mobiles這樣的開(kāi)發框架進行移動應用的開發。較後,通過調用它的SDK將你的應(yīng)用編(biān)譯為不同平台上的(de)app。這些平台包括 ioses,androids,Windows phones,Blackberry和Web OS。
3.Sencha Touch Sencha Touch
是一個基於HTML5和(hé)CSS3的移動(dòng)開發框架。同時它提供了一組(zǔ)能夠支持不同移動平台的組件以及動效特性。Sencha Touch支(zhī)持Cordova和phonesGap.你能將你(nǐ)的(de)應用編譯成支持不同平(píng)台的app。除此(cǐ)之外,Sencha Touch還提供了一組主題,可以應用到ioses、androids、Blackberry、Windows phones、Tizen 等平台中,讓用戶感覺它很像原生app.
4.Ratchet Ratchet
早是Twitter內部用於製作移動app原型的工(gōng)具,後來Twitter將它開源並(bìng)發布出來。Ratchet自帶了(le)一組用戶界麵組件和Java插件,可以用來(lái)創建一些簡單的移動app。在2.0版本中,Ratche還自帶了兩套適用於ioses和Andriod平台的UI主題。
5.Ionic
如果你對(duì)app的性能很關注的話,Ionic會是一個合適的框架。Ionic是一個基於HTML5的app開發框架,它不需要任何第三方Java庫(kù),他能與Angular.js組合在一起使用,開發(fā)出高性能、交(jiāo)互型的app。和Ratchet類似,Ionic也自帶了一組優秀的font圖標——Ionicons和可複用的HTML Classes來構建移動應用UI。
6.Lungo Lungo
是一個基於HTML5和CSS3的輕量級移動開發框架。它的(de)默(mò)認樣式非常漂亮,你可以直接使用在你的app中。除了包含一組UI組件之外,Lungo還提供了很(hěn)多Java API,你可以利用這些接口來控製你的(de)app。Lungo支持下麵這(zhè)些平台:ioses,androids,Blackberry和Firefox OS。
7.jQT
jQT的前身是就Qtouch,是一個很酷且高性能的Zepto/jQuery插件用來開發移動Web應用。它主要是為開發基於WebKit瀏覽器的應用而設計的。jQT非常容易被定製和擴展,它自帶了一套UI主題,你可(kě)以通過修改Sass/Compass來對界麵進(jìn)行定(dìng)製,你也(yě)可以使用CSS3的特性來渲染很酷的(de)3D動(dòng)畫(huà)。
8.Junior Junior
和(hé)jQT一樣,也是一個Zepto插件,但Junior依賴一些其他的第三方庫來提供(gòng)額外的功能,比如Backbone.js,Flickable.js和Ratchet。
9.Jo Jo
這個框架可用於開發支持HTML5的移動設備應用,如ioses,weboses, androids和Chrome OS等平台(tái)。它擁有標準,類原生的UI元素比如用於屏幕登錄的Web表單控件,還有彈出小部件可用於在用戶點擊界麵時提(tí)供一些額外的信息。
10.Famo.us Famo.us
提供了一個強有力的Java框(kuàng)架和大量的開發者工具,這些框架和工具被用來構建功能豐富、反應快(kuài)速的Web應用程序。Famo為開發者提供視覺、布(bù)局、框架、用戶界麵、和用戶體驗的部件、主題、字體、和(hé)Java語言插件等功能,使網頁開(kāi)發者能進行多種設備(bèi)應用的開發。其創造出來的動效和畫麵看上去非常輕快(kuài)、自然。此外(wài),框架所具備的較大優勢在於(yú)能夠嚴格維護模塊(kuài)化以保持畫麵動作的靈活性。較後,配合量(liàng)身定製的服務端技術,開發者就能創建出高質量的app來。