自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

移動Web開發(fā)13個重要的開發(fā)工具

移動開發(fā)
移動web的開發(fā)常常給開發(fā)者提出一些艱難的選擇。開發(fā)的應(yīng)用究竟是針對iPhone市場還是針對Android用戶?到底是寫一個native app還是開發(fā)一個移動Web應(yīng)用?開發(fā)一個能夠在所有設(shè)備上兼容的應(yīng)用是所有程序員的夢想,但是各種設(shè)備的差異性打破了大家的這個夢。

隨著這種需求的日益增長,越來越多的開發(fā)者開始關(guān)注移動開發(fā)工具和開發(fā)庫的開發(fā)了,他們試圖幫助移動開發(fā)者掃平實現(xiàn)夢想的障礙。

雖然這套工具的開發(fā)目前尚不成熟,但是HTML5的出現(xiàn)讓大家看到了移動Web開發(fā)的光明前景,它讓用戶擺脫了對native軟件的依賴。

首先,web是完全開放的,它不用受到App Store的協(xié)議限制。

其次,程序開發(fā)人員能夠獲得100%的收益。當(dāng)然,這也意味著必須找到一種新的獲得收益的方式,這一點(diǎn)并不簡單。但是,一旦找到了合適的方法,程序員就不用再將自己30%的收益拱手讓給Apple了。

第三,HTML5變得越來越強(qiáng)大了,功能也變得更加豐富了。最新的HTML5版本已經(jīng)能夠支持客戶端在本地保存數(shù)據(jù)了,目前基本能夠替代native app的功能。換句話說,瀏覽器已經(jīng)基本能夠取代native apps的地位了。

第四點(diǎn),HTML5 apps不與具體設(shè)備綁定。雖然目前大部分的宣傳還是圍繞著Apple的iPhone,但是HTML5 apps是比較容易遷移到其他平臺上的。雖然可能還沒簡單到按下一個按鈕就完成平臺的遷移,但是起碼和Objective C轉(zhuǎn)換為Java的工作比起來,還是簡單許多的。

當(dāng)然,HTML5也不是萬能的。Web apps最大的缺陷就是對網(wǎng)絡(luò)連接的依賴。它確實不如native apps響應(yīng)及時,而native app的開發(fā)者常常在討論微秒級的延遲是否會影響用戶的體驗。游戲開發(fā)者在使用JavaScript編程前需要再三權(quán)衡一下。

目前最大的限制可能就是工具本身的開發(fā)。Apple的開發(fā)工具能夠看到native apps的結(jié)構(gòu),而移動瀏覽器卻很難深入了解上面運(yùn)行的應(yīng)用程序的代碼結(jié)構(gòu)?,F(xiàn)在已經(jīng)有一些開發(fā)工具和開發(fā)庫來幫助程序員簡化web開發(fā)的難度。下面介紹一些移動web開發(fā)中著名的相關(guān)項目。

移動web開發(fā)工具:ChocolateChip-UI(下載

由于移動設(shè)備上的屏幕通常都比較小,因此為移動設(shè)備設(shè)計一個有效的UI顯得尤為重要。Enter Robert Biggs是一個來自Northern California的Web程序員,他開發(fā)的ChocolateChip-UI成為使用HTML開發(fā)移動界面的優(yōu)秀示例。

開發(fā)中使用的WAML(Web Application Markup Language)是基于HTML5封裝的編程語言。使用WAML提供的標(biāo)簽(如<slider>或是<stack>)能夠極大地簡化開發(fā)者的工作??梢栽贘avaScript中使用WAML并在支持HTML5的智能手機(jī)上運(yùn)行。

程序員可以將HTML、CSS、JavaScript和WAML組合起來,只需指定好ChocolateChip-UI的翻譯進(jìn)程即可。

雖然這種做法并不完美,但這已經(jīng)足夠好用了。我之前曾用過其他的移動開發(fā)工具,他們都不能很好地封裝在JavaScript中。

ChocolateChip-UI已經(jīng)基本將所有的WAML提供的組件都封裝好了,效果幾乎與標(biāo)準(zhǔn)的iPhone UI相當(dāng)。它甚至還包括了一個額外的刪除列表,用戶通過點(diǎn)擊鼠標(biāo)就能將組件從UI上刪除。

移動Web開發(fā)工具:Mobl(下載

JavaScript使用起來不算太簡單,而Mobl就是用來簡化JavaScript的開發(fā)的。Mobl是專門用于Webkit瀏覽器上應(yīng)用開發(fā)的框架。它不使用HTML、JavaScript或是CSS編寫程序,而是直接使用Mobl編程,然后通過Mobl編譯器將它轉(zhuǎn)換為適合在移動瀏覽器上運(yùn)行的HTML、JavaScript和CSS語言。

Mobl開發(fā)者使用這種方法彌補(bǔ)了JavaScript的不足。例如,它解決了延遲執(zhí)行的函數(shù)傳遞問題;跟蹤括號的配對問題(程序員對JavaScript的這一缺陷常常感到頭痛,并且容易導(dǎo)致錯誤產(chǎn)生)。

Mobl通過使用大量的申明降低了程序的復(fù)雜度。如果你想傳遞1,000毫秒,你可以寫:

sleep(1000); doNext();

Mobl將這條語句翻譯成JavaScript,通過setTime函數(shù)執(zhí)行時間傳遞,通過回調(diào)函數(shù)執(zhí)行doNext()語句。程序員無需考慮回調(diào)函數(shù)的語法以及函數(shù)的封裝方法,只要將希望發(fā)生的事情列舉出來就可以了。

Mobl提供了幾十種方法幫助程序員編寫指令,并且不需要考慮這些指令是如何轉(zhuǎn)換成JavaScript的。如果你想要編寫一個下拉菜單,這很簡單,只需要將菜單中的選項用關(guān)鍵字表示出即可。

對于已經(jīng)熟悉了Objective-C或是JavaScript的程序員來說,可能覺得Mobl沒有太大意義。畢竟,他們能夠用自己熟悉的語言編寫很好的程序,又何必去學(xué)習(xí)一種新的語言來完成同樣的工作呢?但是,對于編程語言的熱愛者來說,他們能在Mobl上發(fā)現(xiàn)許多好的、有意思的想法,而Mobl確實可以簡化他們的開發(fā)工作。

 

移動開發(fā)工具:jQuery mobile(下載

51CTO專題報道:jQuery Mobile基礎(chǔ)入門教程

基于jQuery框架開發(fā)一個移動平臺并為智能手機(jī)開發(fā)一個簡單的UI工具顯然是迎合大眾需要的。這個項目得到許多主流硬件廠商的支持,也一定能夠在移動設(shè)備上取得成功。

jQuery Mobile中最簡單的部件是HTML-center布局部件。它使用DIVs和其他標(biāo)準(zhǔn)的HTML部件(如<LI>標(biāo)簽)來構(gòu)建頁面。jQuery Mobile通常只需要開發(fā)者添加幾個新的主題或是皮膚,它就能夠非常方便地處理動態(tài)網(wǎng)頁和CMSes了。

使用jQuery意味著,大部分桌面網(wǎng)站上可用的插件在移動網(wǎng)站上也是可用的。也有一些專門為移動網(wǎng)站開發(fā)的插件。jQuery Mobile擁有輕量級架構(gòu)和豐富的資源組件,不難看出它將在未來的移動開發(fā)中占據(jù)重要地位。

移動開發(fā)工具:The-M-Project(下載

如果說jQuery Mobile無法精確地處理網(wǎng)頁中的方法和風(fēng)格的話,那么The-M-Project則為開發(fā)者提供了一組經(jīng)jQuery Mobile對象封裝的部件。使用它能夠更好地控制網(wǎng)頁的設(shè)計細(xì)節(jié),例如可以在某個合適的地方添加一個圖標(biāo),而不僅僅是添加一張大的圖片。

代碼采用Model-View-Controller模式。開發(fā)者創(chuàng)建一個大的JSON結(jié)構(gòu),在上面定義各個不同的頁面以及頁面上用到的各種組件。使用The-M-Project處理頁面的布局信息。

在每個頁面的事件鉤子上定義一組功能函數(shù),用來實現(xiàn)應(yīng)用程序的功能。The-M-Project維護(hù)事件與頁面相應(yīng)位置的對應(yīng)關(guān)系。

工具可以直接使用Node.js,代碼可以在Node.js中運(yùn)行,甚至可以在相同的服務(wù)器上完成測試。開發(fā)出來的應(yīng)用可以在任何Web服務(wù)器上運(yùn)行,也可以進(jìn)一步將它整合到Node.js中。

移動開發(fā)工具:Touchqode(下載

假設(shè)你正坐在巴黎的一家咖啡館,或是在珠穆朗瑪峰的峰頂,你手頭上沒有臺式電腦或是筆記本,如果此時你的腦海中浮現(xiàn)出一個很妙的想法,你是不是只能找張紙粗略地描述一下你的想法,然后等到合適的時候再實現(xiàn)這個想法呢?如果此時你的Android手機(jī)上正好安裝了Touchqode,那么你大可不必這么麻煩了。

這個小小的開發(fā)工具包含的功能豐富得驚人:代碼可以高亮顯示,可以在本地運(yùn)行腳本,甚至可以通過FTP同步新加的代碼。如果你的老板在你旅行的途中讓你修改一下代碼,有了Touchqode,這并不會給你帶來多大的麻煩。我無法想象怎樣使用我的Android手機(jī)編寫很長的代碼程序,但是已經(jīng)有作者使用手機(jī)完成整部小說的創(chuàng)作了,所以,不要低估Touchqode在手機(jī)編程領(lǐng)域的作用。

不管怎么說,Touchqode在緊要關(guān)頭還是非常派得上用場的。

移動開發(fā)工具:LimeJS(下載

Flash游戲之所以如此引人關(guān)注,一個重要的原因就是它有非常豐富的flash庫。Flash庫的開發(fā)者將他們的工作出售給Flash開發(fā)者,從而獲取收益。同樣的,DigitalFruit開發(fā)出了LimeJS,并將它出售給想使用WebGL對象的開發(fā)人員。

LimeJS的早期版本在Webkit瀏覽器上還是非常好用的。代碼使用的是JavaScript,但結(jié)構(gòu)看起來更像是C語言,它調(diào)用了OpenGL的庫。一些OpenGL庫和LimeJS可以自動完成交叉編譯,但通常還是需要手動調(diào)整部分內(nèi)容。

LimeJS提供了一些簡化游戲開發(fā)的功能。它提供了一些場景和一個靈活的事件管理機(jī)制。它還附帶有一些動畫和效果轉(zhuǎn)換機(jī)制。所有這些功能都是游戲開發(fā)人員經(jīng)常使用的功能。

開發(fā)環(huán)境的基本架構(gòu)使用的是Python,最后的開發(fā)包與Google的Closure Compiler綁定,下載速度相當(dāng)不錯。

對于那些使用OpenGL開發(fā)游戲應(yīng)用的程序員來說,LimeJS還是非常有吸引力的。雖然它使用的是JavaScript,但是它并沒有用到JavaScript中復(fù)雜的編程思想。

移動開發(fā)工具:Jdrop(下載

表明上看,Jdrop似乎是由一堆JSON組成的,它常被誤解為一個開源的NoSQL數(shù)據(jù)庫。事實上,Jdrop是用來幫助程序員處理臺式機(jī)和移動設(shè)備上屏幕顯示差異的開發(fā)工具。

為了簡化從移動設(shè)備上提取性能反饋的復(fù)雜性,Jdrop為開發(fā)者提供了Mobile Perf組件,它是一個累積性能的標(biāo)簽,其中包括Firebug Lite, Page Resources, DOM Monster, SpriteMe, CSSess, 和Zoompf。程序員可以使用Jdrop直接在手機(jī)上調(diào)試程序,并能夠自動將結(jié)果上傳到Jdrop云上,方便開發(fā)者在臺式機(jī)上對運(yùn)行的數(shù)據(jù)結(jié)果進(jìn)行進(jìn)一步的分析。它還能用來調(diào)試真實移動設(shè)備上的性能并檢查移動網(wǎng)站的源碼。

 

移動Web開發(fā)工具:XUI(下載),Zepto(下載

大部分框架所做的主要工作就是將一個應(yīng)用程序轉(zhuǎn)換成一個很炫的網(wǎng)頁,通常它們需要使用自己特定的編程語言。而XUI和Zepto則與這些框架不同。它直接使用HTML和CSS,這已經(jīng)使得它能夠顯示開發(fā)者想要呈現(xiàn)的各種效果了,而它只是為開發(fā)者提供了創(chuàng)建和修改DOM的方法。

這些庫并不會重新組合各種部件或是創(chuàng)建任何新的部件。它只提供HTML里面有的部件,開發(fā)者可用使用CSS來控制這些部件。這些庫為開發(fā)者提供了處理DOM的各種方法,如尋找組件、添加類或是豐富事件等等。

這兩個庫最大的優(yōu)勢就是節(jié)省空間。Zepto目前的版本只占2,300個字節(jié),僅是jQuery的十分之一。而XUI則稍微大一點(diǎn)。與jQuery對比是合適的,因為它們提供的功能是相當(dāng)?shù)?。例如,XUI不能在BlackBerry或是IE mobile上兼容。如果你想讓它在這些設(shè)備上兼容,那么你需要一個更加大的庫。

移動Web開發(fā)工具:Jo(下載)和Sencha Touch(下載

51CTO專題報道: Sencha Touch基礎(chǔ)入門教程

Jo和Sencha是兩組部件集合,適用于使用JavaScript開發(fā)的移動設(shè)備。通過JavaScript定義的結(jié)構(gòu)可以調(diào)用這兩個庫的函數(shù),使得屏幕上顯示的頁面更加美觀。這些代碼中通常包含比較復(fù)雜的功能調(diào)用和函數(shù)嵌套。

Sencha Touch是由Sencha公司開發(fā)的,Sencha公司專門為通用Web頁面開發(fā)提供設(shè)計框架。它也出售支撐方案,但是并不對Sencha Touch收取版權(quán)費(fèi)。該公司的研發(fā)團(tuán)隊會解決開發(fā)者的疑問,并且還提供了一個開放的技術(shù)支持論壇。

Jo是一個取得了OpenBSD授權(quán)的開源項目。開發(fā)者可以免費(fèi)使用它,而它的開發(fā)者Dave Balmer還為用戶提供各種幫助。

我已經(jīng)使用Sencha Touch開發(fā)了幾個Web Apps了,我發(fā)現(xiàn)這個工具使用起來相當(dāng)方便,因為它很好地處理了許多常見的布局問題。我曾經(jīng)自己創(chuàng)建了一個新的組件,而Touch框架很好地將這個新組件放置到了頁面中合適的位置上。這些apps能夠很好地在iPad和iPhone上運(yùn)行,盡管二者的屏幕尺寸相差較大。

Jo和Sencha Touch目前的介紹文檔還不完善。目前這方面的工作也正在逐步跟進(jìn)。Sencha的商業(yè)版本有更加全面的介紹文檔。

移動Web開發(fā)工具:jQTouch(下載

jQTouch是移動Web開發(fā)的最好框架之一。雖然他的開發(fā)者David Kaneda已經(jīng)離開了這個項目轉(zhuǎn)而投入Sencha,但Jonathan Stark接手了jQTouch的相關(guān)工作,并且對代碼進(jìn)行了優(yōu)化和補(bǔ)充。

jQTouch開發(fā)的Apps是在DIVs中加入HTML。jQuery為DIVs選擇合適的類,并加入事件處理代碼。

我嘗試用jQTouch開發(fā)了幾個Web Apps,整體感覺jQTouch使用起來還是非常方便的。它可以很方便地與其他Web工具以及服務(wù)器端的框架整合在一起。

有些時候,使用jQTouch的代碼可以達(dá)到native apps的效果。但是它還存在一些奇怪的問題,并且會處理一些沒有意義的轉(zhuǎn)換工作,在某些設(shè)備上的觸摸事件響應(yīng)速度也不夠理想。

移動Web開發(fā)工具:PhoneGap(下載

51CTO專題報道: 跨平臺移動web中間件PhoneGap開發(fā)入門

另一個使用廣泛的開源移動框架就是PhoneGap,PhoneGap可以讓開發(fā)者在智能手機(jī)上使用HTML、JavaScript和CSS編寫各種native app。許多使用JavaScript編寫的apps最后都要與PhoneGap綁定,然后通過App Store推向用戶。

這個框架讓開發(fā)者對HTML有了新的了解。在iOS上,它被稱為UIWebView,而在其他的主流智能手機(jī)上也有類似的部件。它的目標(biāo)就是使得HTML、JavaScript和CSS能夠在所有的主流平臺(如Android、iOS、BlackBerry和WebOS)上運(yùn)行。

通過使用PhoneGap的幾次編程經(jīng)歷看來,PhoneGap的使用方法通常是比較類似的。將一個Web App轉(zhuǎn)變?yōu)橐粋€能夠在iPhone和Android上運(yùn)行的native app,只需花費(fèi)不到一個小時的時間。PhoneGap能夠幫助開發(fā)者完成窗口的建立工作。

但是PhoneGap的解決方案不算完美。用戶還是能夠發(fā)現(xiàn)使用同一套HTML和CSS代碼構(gòu)建的應(yīng)用,在Android和iPhone上的顯示仍存在許多細(xì)微的差別,盡管Android和iPhone都支持同一套Webkit內(nèi)核。雖然沒有在BlackBerry和WebOS做類似的測試,但是不難想象,這兩個設(shè)備顯示的內(nèi)容應(yīng)該也有不少的差異。話雖如此,但是PhoneGap確實能夠幫助開發(fā)者開發(fā)出更加通用,性能更好地Web App。

責(zé)任編輯:佚名 來源: webapptrend
相關(guān)推薦

2012-04-09 17:32:44

移動web

2011-02-22 09:40:05

iOS開發(fā)工具

2012-02-09 16:45:41

2015-07-03 11:36:00

AngularJS 開發(fā)工具

2020-06-24 08:24:09

Web開發(fā)工具

2012-03-07 16:15:22

GWTPhoneGap

2015-07-27 10:55:13

JavaScriptWeb開發(fā)工具

2017-09-13 16:54:38

web

2014-03-06 11:25:12

開發(fā)工具移動開發(fā)

2010-09-29 14:06:09

Visual Basi

2011-03-15 09:43:27

OperaWeb

2011-08-05 14:34:13

2010-05-28 13:38:29

Linux開發(fā)工具

2009-07-10 18:14:58

Web開發(fā)工具Mozilla

2022-11-05 08:14:25

開發(fā)工具瀏覽器

2012-12-24 09:42:11

大數(shù)據(jù)應(yīng)用開發(fā)輔助開發(fā)工具大數(shù)據(jù)

2013-11-22 11:03:45

GoogleWeb開發(fā)工具

2011-11-23 09:59:56

Web

2013-12-06 09:51:56

Web apps開發(fā)工具Android

2018-05-05 15:09:19

移動APP開發(fā)APP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號