偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

移動(dòng)Web開發(fā)13個(gè)重要的開發(fā)工具

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

隨著這種需求的日益增長(zhǎng),越來越多的開發(fā)者開始關(guān)注移動(dòng)開發(fā)工具和開發(fā)庫(kù)的開發(fā)了,他們?cè)噲D幫助移動(dòng)開發(fā)者掃平實(shí)現(xiàn)夢(mèng)想的障礙。

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

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

其次,程序開發(fā)人員能夠獲得100%的收益。當(dāng)然,這也意味著必須找到一種新的獲得收益的方式,這一點(diǎn)并不簡(jiǎ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是比較容易遷移到其他平臺(tái)上的。雖然可能還沒簡(jiǎn)單到按下一個(gè)按鈕就完成平臺(tái)的遷移,但是起碼和Objective C轉(zhuǎn)換為Java的工作比起來,還是簡(jiǎn)單許多的。

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

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

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

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

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

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

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

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

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

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

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

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

sleep(1000); doNext();

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

這兩個(gè)庫(kù)最大的優(yōu)勢(shì)就是節(jié)省空間。Zepto目前的版本只占2,300個(gè)字節(jié),僅是jQuery的十分之一。而XUI則稍微大一點(diǎn)。與jQuery對(duì)比是合適的,因?yàn)樗鼈兲峁┑墓δ苁窍喈?dāng)?shù)摹@?,XUI不能在BlackBerry或是IE mobile上兼容。如果你想讓它在這些設(shè)備上兼容,那么你需要一個(gè)更加大的庫(kù)。

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

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

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

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

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

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

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

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

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

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

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

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

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

51CTO專題報(bào)道: 跨平臺(tái)移動(dòng)web中間件PhoneGap開發(fā)入門

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

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

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

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

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

2012-04-09 17:32:44

移動(dòng)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

2014-03-06 11:25:12

開發(fā)工具移動(dòng)開發(fā)

2010-09-29 14:06:09

Visual Basi

2015-07-27 10:55:13

JavaScriptWeb開發(fā)工具

2017-09-13 16:54:38

web

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

2018-05-05 15:09:19

移動(dòng)APP開發(fā)APP

2013-12-06 09:51:56

Web apps開發(fā)工具Android
點(diǎn)贊
收藏

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