三大移動Web開發(fā)框架哪個適合你踩娘?

我最近特別關(guān)注JavaScript驅(qū)動的移動應(yīng)用開發(fā)解決方案刮刑,先后撰文介紹了眾多的相關(guān)話題,包括jQuery Mobile养渴、jQTouch雷绢、Sencha Touch和PhoneGap。我得承認(rèn)理卑,要搞清楚這一批前沿技術(shù)并非易事翘紊,于是我這回概述一下這些主要的移動開發(fā)解決方案的主要特性和優(yōu)點(51CTO注:PhoneGap未作介紹,欲了解更多PhoneGap內(nèi)容請移步51CTO專題:跨平臺移動web中間件PhoneGap開發(fā)入門)藐唠。但愿這篇概述多少可以幫你確定哪一種解決方案最適合你項目的具體要求帆疟。

jQuery Mobile適合你嗎?

差不多二十年來,處理跨瀏覽器的HTML和CSS不一致問題一直讓許多開發(fā)人員頗為苦惱宇立。而Ajax的出現(xiàn)更是加劇了這些問題踪宠,因為開發(fā)人員現(xiàn)在要處理新的問題:無數(shù)與JavaScript有關(guān)的瀏覽器不兼容問題和異常現(xiàn)象泄伪。后來出現(xiàn)了jQuery:由于可以對基本的JavaScript任務(wù)進行強大的抽象處理殴蓬,jQuery大大減輕了編寫復(fù)雜的跨瀏覽器代碼方面的壓力。難怪jQuery一下子火了起來。

眼下移動應(yīng)用開發(fā)人員面臨可能更艱巨的挑戰(zhàn)染厅,這不僅是由于要處理各種各樣的移動瀏覽器不兼容問題痘绎,還由于需要設(shè)計合理布局,以便適合移動設(shè)備所固有的各種外觀尺寸和有限資源肖粮。這時候孤页,jQuery Mobile應(yīng)運而生,它自詡是“一種針對觸摸而優(yōu)化的Web框架涩馆,面向智能手機和平板電腦”行施,可以充分發(fā)揮jQuery和jQuery UI(51CTO注:查看jQuery UI實例http://jqueryui.com/)的優(yōu)勢。

雖然jQuery Mobile目前仍是測試版(第二個測試版在去年8月3日宣布發(fā)布)魂那,但已經(jīng)支持?jǐn)?shù)量多得驚人的移動平臺蛾号,包括安卓、黑莓涯雅、iOS和Windows Mobile等其他平臺鲜结。同樣出色的是,它還支持眾多的窗口組件:由于jQuery Mobile對漸進增強(progressive enhancement)很重視活逆,開發(fā)人員可以利用這些窗口組件精刷,輕松創(chuàng)建統(tǒng)一的、跨移動設(shè)備的界面蔗候。務(wù)必將演示程序(51CTO注:查看演示程序地址http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/)裝入到眾多不同的設(shè)備上(包括你的桌面瀏覽器)怒允,領(lǐng)略一下界面是如何變化以適合目標(biāo)設(shè)備的。

此外锈遥,務(wù)必從桌面瀏覽器里面來查看演示程序的源代碼;連剛?cè)腴T的jQuery用戶也會注意到該程序的代碼很注重全面隔離頁面布局和JavaScript驅(qū)動的功能纫事。你會看到,整個應(yīng)用程序都在一個文檔里面迷殿,每個“頁面”及其組成部分使用與自定義屬性有關(guān)的DIV來定義儿礼。比如說:

1.id="home"target="_blank">

2.

WJGilmore,?LLC

3.

4.

5.

Check?back?regularly?for?the?latest?information?about?Jason's?books!

6.

7.

8.

Copyright???2011?W.J.?Gilmore,?LLC

9.

10./div>

jQuery Mobile的主要特性

雖然使用jQuery Mobile的理由有多個,但是下面三個理由顯得尤為突出:

·jQuery開發(fā)人員使用jQuery Mobile時會覺得駕輕就熟庆寺,那是由于兩者使用共享的代碼庫。

·如果目標(biāo)用戶群并不局限于使用某一種設(shè)備诉字,關(guān)注跨平臺兼容性這個優(yōu)點很理想懦尝。

·社區(qū)和企業(yè)的廣泛參與促使像Dreamweaver CS 5.5這些廣受歡迎的開發(fā)產(chǎn)品和像非常出色的Photo Swipe這一批值得關(guān)注的插件內(nèi)置了對jQuery Mobile的支持。

jQTouch適合你嗎?

那邊廂壤圃,jQuery Mobile力求提供在眾多移動設(shè)備上兼容的功能;這邊廂陵霉,jQTouch項目而是將大部分精力投入到了支持基于WebKit的瀏覽器(Chrome和Safari)的設(shè)備上。因而伍绳,jQTouch應(yīng)該與旨在部署到iPhone和安卓設(shè)備上的Web應(yīng)用程序結(jié)合使用踊挠。支持針對WebKit而優(yōu)化的動畫以及旨在與移動設(shè)備的式樣融為一體的多個主題。

要熟悉jQTouch的功能,最容易的辦法就是通過你的移動設(shè)備或WebKit瀏覽器效床,仔細(xì)研究演示網(wǎng)站(51CTO注:演示網(wǎng)站地址http://jqtouch.com/preview/demos/main/#home)睹酌。我尤其建議查看演示程序的源代碼;你會看到,與jQuery Mobile一樣剩檀, jQTouch“頁面”也使用一系列DIV元素和相關(guān)屬性來組裝憋沿,設(shè)計人員對這種方法應(yīng)該會很熟悉。

jQTouch的主要特性

雖然使用jQTouch的理由有多個沪猴,但是下面兩個理由顯得尤為突出:

·雖然jQTouch同樣基于jQuery辐啄,但是其側(cè)重點主要是為基于WebKit的瀏覽器提供經(jīng)過優(yōu)化的支持。因而运嗜,如果你打算一心鎖定使用基于iOS或安卓的設(shè)備的用戶壶辜,那么jQTouch可能比較合適。

·與jQuery Mobile一樣担租,jQTouch也采用了以HTML和CSS為中心的方法來開發(fā)頁面士复,使用JavaScript專門致力于添加事件、動畫及其他功能翩活。如果你在與設(shè)計人員合作阱洪,或者開發(fā)人員不是特別精通JavaScript,在想方設(shè)法逐步熟悉移動Web開發(fā)菠镇,那么這種方法就很吸引人冗荸。

Sencha Touch適合你嗎?

較之與jQuery Mobile和jQTouch,Sencha Touch學(xué)起來難度相對比較復(fù)雜利耍,不過有弊也有利:雖然比較復(fù)雜蚌本,但是帶來了強大的功能。作為Sencha公司的一款雙許可證(商業(yè)版和GPL/FLOSS版)產(chǎn)品隘梨,Sencha Touch采用了與上述的幾種移動開發(fā)框架全然不同的方法程癌,原因在于布局和界面窗口組件是使用出色的JavaScript庫構(gòu)建而成的,而該JavaScript庫恰好擁有豐富的實用特性轴猎,比如離線支持嵌莉、獨特布局和輕松制作主題的功能。

此外捻脖,Sencha Touch采取了從極其全面的角度來應(yīng)對應(yīng)用程序開發(fā)所固有的挑戰(zhàn)锐峭,原因在于它支持可以完全直接開發(fā)MVC驅(qū)動的應(yīng)用程序。為了形象地說明開發(fā)Sencha Touch應(yīng)用程序與開發(fā)jQuery Mobile / jQTouch應(yīng)用程序之間的反差到底有多明顯可婶,不妨將jQuery Mobile/jQTouch演示程序里面的源代碼與用于僅僅創(chuàng)建和啟動視口的下列Sencha Touch代碼作一比較:

1.Ext.regApplication({

2.name:?'App',

3.defaultUrl:?'Index/index',

4.launch:?function()

5.{

6.this.viewport=newApp.views.Viewport();

7.},

8.});

雖然這種方法對相對不熟悉JavaScript的新手來說可能難度很大沿癞,不過我還是建議花點時間嘗試一下Sencha Touch,因為直觀的語法矛渴、編寫清晰的文檔以及眾多的配套實例對于你盡快上手會大有幫助椎扬。

Sencha Touch的主要特性

雖然使用Sencha Touch的理由有多個,但是下面三個理由顯得尤為突出:

·原生的MVC架構(gòu)致力于為面向框架的開發(fā)人員消除緊張,他們可能在為如何合理地組織和管理JavaScript代碼而苦惱蚕涤。

·Sencha開發(fā)人員已付出了很大的努力筐赔,在Sencha網(wǎng)站(51CTO注:Sencha網(wǎng)站地址http://www.sencha.com/)上發(fā)布了眾多的教程和演示應(yīng)用程序。

·對于之前熟悉窗口組件工具包(想一想Swing和GTK+)的開發(fā)人員來說钻趋,窗口組件的布局和組織方面采用JavaScript驅(qū)動的方法自然很熟悉川陆。


更多學(xué)習(xí)分享加群 ? ?105601600

·結(jié)束語

·讀者最后總是問我應(yīng)該選擇哪一種框架÷唬回答總是一樣:這得看情況较沪。毫無疑問,Sencha Touch是這種開發(fā)框架當(dāng)中功能最豐富的失仁,不過有時候?qū)W起來比較困難尸曼。話雖如此,如果你的目的僅僅是為現(xiàn)有的應(yīng)用程序提供對用戶友好的移動界面萄焦,那么jQuery Mobile或jQTouch可能會提供一條阻力最小的道路控轿。如果你給移動應(yīng)用程序設(shè)的目標(biāo)比較高,那么Sencha Touch極有可能完全值得你為此投入時間拂封。不管你最后選擇了什么樣的解決方案茬射,我都很想聽聽你使用后的感受!歡迎留言。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冒签,一起剝皮案震驚了整個濱河市在抛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萧恕,老刑警劉巖刚梭,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異票唆,居然都是意外死亡朴读,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門走趋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衅金,“玉大人,你說我怎么就攤上這事吆视〉涮簦” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵啦吧,是天一觀的道長。 經(jīng)常有香客問我拙寡,道長授滓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮般堆,結(jié)果婚禮上在孝,老公的妹妹穿的比我還像新娘。我一直安慰自己淮摔,他們只是感情好私沮,可當(dāng)我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布蜈七。 她就那樣靜靜地躺著养距,像睡著了一般乏屯。 火紅的嫁衣襯著肌膚如雪崔泵。 梳的紋絲不亂的頭發(fā)上双吆,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天舱污,我揣著相機與錄音蕉拢,去河邊找鬼眯牧。 笑死办斑,一個胖子當(dāng)著我的面吹牛外恕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乡翅,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼鳞疲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蠕蚜?” 一聲冷哼從身側(cè)響起尚洽,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎波势,沒想到半個月后翎朱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡尺铣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年拴曲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凛忿。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡澈灼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出店溢,到底是詐尸還是另有隱情叁熔,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布床牧,位于F島的核電站荣回,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏戈咳。R本人自食惡果不足惜心软,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一壕吹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧删铃,春花似錦耳贬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诫隅,卻和暖如春腐魂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阎肝。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工挤渔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人风题。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓判导,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沛硅。 傳聞我的和親對象是個殘疾皇子眼刃,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容