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

十一個基本的移動Web編程工具和框架

移動開發(fā)
談到為移動設(shè)備編程時,我們面臨兩難的選擇,你是將目標(biāo)鎖定在有利可圖的iPhone市場,還是著眼于處于上升勢頭的Android?你愿意做本地開發(fā)還是移動Web開發(fā)?一個可以自動適應(yīng)不同平臺,不同設(shè)備的單一代碼堆棧將成為許多開發(fā)人員的夢想,但現(xiàn)實(shí)情況卻不容樂觀,即使是一個基本的任務(wù)也面臨挑戰(zhàn)。

但有挑戰(zhàn)就有機(jī)遇,部分軟件開發(fā)商已經(jīng)將注意力轉(zhuǎn)向構(gòu)建移動工具和庫,旨在建立一個充滿活力的生態(tài)系統(tǒng),以幫助移動開發(fā),特別是移動Web開發(fā)。隨著HTML 5的成熟,也讓許多開發(fā)商看好移動Web的發(fā)展前景。

首先,網(wǎng)站是開放的,產(chǎn)品發(fā)布或升級不需要App Store那樣的審核團(tuán)隊(duì)批準(zhǔn)。

其次,開發(fā)人員可以獲得他們移動應(yīng)用程序100%的收入,當(dāng)然,你必須找到一種收錢的方法,實(shí)施起來可不是那么簡單,蘋果收取的30%收入可以說是一個嚴(yán)重的關(guān)稅。

第三,HTML 5變得越來越強(qiáng)大,功能越來越豐富,最新版本允許你在客戶端保存數(shù)據(jù),可以做本地應(yīng)用程序可以做的大部分事情,可以說,瀏覽器沙盒和本地代碼沙盒的功能幾乎完全一樣。

第四,HTML 5應(yīng)用程序與設(shè)備無關(guān),雖然很多炒作都是圍繞蘋果的iPhone展開的,但HTML 5應(yīng)用程序可以很容易地移植到其它平臺,雖然沒有簡單到按一下按鈕就解決問題的地步,但比從Objective C轉(zhuǎn)換到Java要簡單得多了。

當(dāng)然,限制也是有的,Web應(yīng)用程序可能會陷入連接問題,它們比本地應(yīng)用程序可能要慢一點(diǎn),許多本地應(yīng)用程序開發(fā)人員喜歡用毫秒數(shù)來表示延遲,喜歡談?wù)摱嗌俸撩胧强梢越邮艿?,游戲開發(fā)人員需要加倍思考JavaScript中的代碼響應(yīng)問題。

最大的限制可能是開發(fā)本身,蘋果的工具對開發(fā)本地應(yīng)用程序來說的確很好,但它卻很難深入挖掘運(yùn)行在移動瀏覽器上的代碼結(jié)構(gòu)。隨著人們對移動開發(fā)和移 動Web的興趣與日俱增,催生了大量的庫和工具,借助它們大大簡化了移動應(yīng)用程序的構(gòu)建過程,下面這些優(yōu)秀的項(xiàng)目都很有潛力,未來的移動Web開發(fā)在它們 的幫助下將會更加簡單。

移動web智能

#p#

1、ChocolateChip-UI

ChocolateChip-UI

移動設(shè)備的屏幕通常較小,這是UI設(shè)計(jì)師的一大考驗(yàn),美國北加州一名Web開發(fā)人員Enter Robert Biggs開發(fā)了ChocolateChip-UI,一個使用HTML生成整個程序界面的框架。

從技術(shù)上來講,開發(fā)人員創(chuàng)建的底層代碼是WAML(Web應(yīng)用程序標(biāo)記語言),一個構(gòu)建在HTML 5之上的標(biāo)記語言,大多數(shù)簡單的工作都是用WAML標(biāo)記(如或)實(shí)現(xiàn)的,該框架的JavaScript遍歷WAML,并將其轉(zhuǎn)換成純HTML 5代碼。

你可以將HTML、CSS和JavaScript代碼混入WAML,它指導(dǎo)ChocolateChip-UI順序執(zhí)行轉(zhuǎn)換過程。

雖然這個方法不是完美的,我也能理解為什么Biggs會選擇這條路。

ChocolateChip-UI收集的WAML Widget是相當(dāng)全面的,它們的外觀也和標(biāo)準(zhǔn)的iPhone UI類似,甚至包括刪除列表,讓用戶輕點(diǎn)幾下就可以從列表中消除元素。

下載ChocolateChip-UI:http://www.chocolatechip-ui.com/downloads.html

2、Mobl

Mobl

Web開發(fā)人員對JavaScript有許多不滿,Moble團(tuán)隊(duì)決定做點(diǎn)什么消除這些不滿情緒,于是便誕生了創(chuàng)建可在WebKit瀏覽器中運(yùn)行的 移動應(yīng)用程序框架,不使用HTML、JavaScript和CSS轉(zhuǎn)換你的代碼,相反,你在Moble中編寫代碼,由Moble編譯器將它們轉(zhuǎn)換成移動瀏 覽器支持的HTML、JavaScript和CSS代碼。

這個方法讓Moble團(tuán)隊(duì)一舉解決了JavaScript中一些比較棘手的問題,例如,如何將一個函數(shù)傳遞給其它函數(shù)以便延遲執(zhí)行,跟蹤JavaScript所有必要的嵌套括號,如果靠人工檢查,可能很快就會犯暈,出錯的幾率極具上升。

Moble通過采用更多的聲明性語法擺脫了復(fù)雜性,如果你想暫停1000毫秒,可以這么寫:

  1. sleep(1000); doNext(); 

Moble使用一個setTimeout函數(shù)和一個執(zhí)行doNext()的回調(diào)函數(shù)將其編譯成JavaScript,作為一名開發(fā)人員,你不用思考回調(diào)語法,也不用思考如何封裝到另一個函數(shù)中,你需要做的是寫一個你想看到的事件發(fā)生列表。

Mobl團(tuán)隊(duì)有很多種方法幫你編寫這些代碼,而不必注意JavaScript中的標(biāo)點(diǎn)符號,最終的結(jié)果是一套移動應(yīng)用程序標(biāo)準(zhǔn)語法的集合,想要一個滾動列表?只需要使用group關(guān)鍵字將你的項(xiàng)目清單打包起來即可。

不喜歡這個方法的開發(fā)人員可能是已經(jīng)習(xí)慣了Objective-C或JavaScript,在他們看來,既然最終還是要轉(zhuǎn)換成已經(jīng)明白的語言,何必要去學(xué)習(xí)另一種語言呢?

下載Mobl:http://www.mobl-lang.org/get/#p#

3、jQuery Mobile

jQuery Mobile

當(dāng)jQuery框架背后的開發(fā)團(tuán)隊(duì)決定進(jìn)入移動平臺,為智能手機(jī)構(gòu)建一個簡單的UI工具箱時,注定會引起廣泛的關(guān)注,結(jié)果不出大家意料,jQuery Mobile項(xiàng)目得到了廣大硬件制造商的支持,和許多移動設(shè)備成了捆綁關(guān)系。

jQuery Mobile最簡單的部分是它以HTML為中心的布局,頁面(Page)置于DIV和其它標(biāo)準(zhǔn)HTML組件,因此jQuery Mobile很容易和動態(tài)網(wǎng)站以及CMS集成,因?yàn)樗皇窃黾恿艘粋€新主題或皮膚,如很多Drupal主題和模塊就是圍繞jQuery Mobile創(chuàng)建的。

與jQuery緊密集成意味著許多但不是所有桌面插件也可以在移動網(wǎng)站上運(yùn)行,也有一部分移動插件擴(kuò)展了移動框架,圍繞jQuery Mobile建立的生態(tài)系統(tǒng)將會迅速擴(kuò)大。

下載jQuery Mobile:http://jquerymobile.com/download/#p#

4、The-M-Project

The-M-Project

如果jQuery Mobile的方法和風(fēng)格集還不夠復(fù)雜,The-M-Project提供了一套可以編譯成jQuery Mobile對象的Widget,它處于許多設(shè)計(jì)細(xì)節(jié)問題,如將某個圖標(biāo)放在正確的位置,以便你可以將注意力放在大局觀上。

代碼使用視圖-模型-控制器模式結(jié)構(gòu)化,大部分工作是構(gòu)建一個大型JSON結(jié)構(gòu),定義不同的頁面和位于這些頁面內(nèi)的Widget,布局通過The-M-Project處理。

應(yīng)用程序的行為是通過為每個頁面創(chuàng)建連接到各種事件鉤子的函數(shù)定義的,The-M-Project確保事件抵達(dá)它們的位置。

構(gòu)建和部署過程和Node.js集成,構(gòu)建代碼也運(yùn)行在Node.js中,測試使用相同的服務(wù)器完成,當(dāng)它工作時,你可以攜帶代碼和庫的混合物到任何Web服務(wù)器,你也可以將它和Node.js進(jìn)一步集成。

下載The-M-Project:http://the-m-project.net/#p#

5、Touchqode

Touchqode

當(dāng)你坐在巴黎的咖啡館里慢慢品味咖啡的香味,當(dāng)你登上珠穆朗瑪之巔,或任何未帶筆記本電腦或沒有桌面電腦的情況下,如果突然冒出一個想法,這時你是 用一張廢紙記錄下來,等回到電腦前再錄入,還是拿出你的Android手機(jī),打開Touchqode將這個想法記下來(iPhone版本很快就會到來)?

這個微開發(fā)環(huán)境在一個小小的屏幕上打包了數(shù)量驚人的功能,代碼高亮,腳本可本地運(yùn)行,你可以通過FTP同步你新增或修改的代碼,當(dāng)你在旅途中,上司 打電話要你協(xié)助解決一個問題,這時你只需點(diǎn)擊幾次按鍵可能就會解決問題。我不能想象使用Android手機(jī)編寫很長的代碼會怎么樣,但我知道有寫手在手機(jī) 上完成了他們的長篇小說,因此,使用Touchqode在手機(jī)上修改少量的代碼還是可行的,在緊要關(guān)頭,它的作用就是顯得淋漓盡致。

下載Touchqode:http://www.touchqode.com/download.htm#p#

6、LimeJS

LimeJS

Flash游戲變得如此引人注目的一個原因是,整個生態(tài)系統(tǒng)已經(jīng)非常成熟和完善,DigitalFruit創(chuàng)建LimeJS旨在為開發(fā)人員提供更好的支持,幫助他們更好地使用HTML 5中的WebGL對象。

早期的LimeJS在WebKit瀏覽器中是有效的,它的代碼全部是用JavaScript寫成的,但結(jié)構(gòu)看起來和曾經(jīng)風(fēng)光無限的C類似,只不過它調(diào)用的是OpenGL庫,它應(yīng)該可以自動交叉編譯一些OpenGL到這個庫中,雖然這需要一些手工調(diào)整。

LimeJS為簡化游戲開發(fā)提供了一些有價值的功能,有使用層填充的場景,根據(jù)靈活的調(diào)度觸發(fā)事件的指示器,有跨頁面移動精靈的動畫和過渡,所有這些功能對此前開發(fā)過休閑游戲的人來說是無比熟悉的。

開發(fā)環(huán)境包括多個現(xiàn)代觸摸,基本建筑是用Python處理的,最終包可能會和Google的閉包編譯器綁定在一起,以便提高下載速度。

LimeJS將會吸引那些在其它環(huán)境中使用OpenGL框架開發(fā)游戲的人,雖然最終語法是JavaScript,但它不依賴于讓JavaScript感到討厭的更復(fù)雜的想法,至少要等到閉包編譯器完成它的工作。

下載LimeJS:https://github.com/digitalfruit/limejs#p#

7、Jdrop

[[36886]]

從表面上看,Jdrop似乎是大量JSON的堆積,可能被誤認(rèn)為是一個開放的NoSQL數(shù)據(jù)庫,實(shí)際上,這個Web資源是幫助移動開發(fā)人員管理小屏幕和桌面之間的性能數(shù)據(jù),以便可以得到更好的分析。

為了緩解從移動設(shè)備提取性能數(shù)據(jù)的困難,Jdrop提供了Mobile Perf,一個聚合了一套性能書簽的書簽,包括Firebug Lite,Page Resources,DOM Monster,SpriteMe,CSSess和Zoompf,借助Mobile Perf,你可以在手機(jī)上調(diào)試你的應(yīng)用程序,結(jié)果自動保存到Jdrop云,以便以后從桌面進(jìn)行分析,提供一個有趣的方法調(diào)試真正的移動性能,以及分析你喜 愛的移動網(wǎng)站的HTML源代碼。

下載Jdrop:http://jdrop.org/#p#

8、XUI和Zepto

XUI

Zepto

本文介紹的大多數(shù)框架都有自己的一套語言,而XUI和Zepto不同,它們從一開始就認(rèn)為HTML和CSS在展示頁面內(nèi)容時已經(jīng)夠好,唯一需要提供幫助的是創(chuàng)建和修改DOM。

這些庫不會布置你的Widget,也不會創(chuàng)建任何類型的Widget,你獲得的是HTML能提供的,因此外觀是借助CSS來控制的,這里的庫通過提供查找元素,連接類和篡改事件幫助你操作DOM。

Zepto的最新版本大約2300字節(jié),約jQuery的1/10,XUI稍微大一點(diǎn),和jQuery更易于比較,因?yàn)閮烧叩恼Z法都差不多,例如,XUI產(chǎn)生的代碼可能需要保持兼容BlackBerry或IE Mobile,如果你想要它們,你的庫將會變得更大。

下載XUI:http://xuijs.com/downloads

下載Zepto:http://zeptojs.com/#p#

9、Jo和Sencha Touch

Jo

Sencha Touch

Sencha Touch

Jo 和Sencha Touch是兩套使用JavaScript創(chuàng)建面向卡片式移動應(yīng)用程序的Widget,其結(jié)構(gòu)是由一套創(chuàng)建Widget的JavaScript函數(shù)定義 的,這些Widget按庫排列,因此在屏幕上看起來效果很好,它們的代碼通常包括大量嵌套的組裝部件的函數(shù)調(diào)用,然后調(diào)用其它將小部件組裝成大部件的函 數(shù)。

Sencha Touch是一家名叫Sencha的新興公司創(chuàng)建的,它也為普通Web頁面提供了一個框架,公司靠銷售支持計(jì)劃為生,使用Sencha Touch并不需要為商業(yè)許可付費(fèi),公司的開發(fā)團(tuán)隊(duì)親自回答用戶的問題,維護(hù)一個開放的支持社區(qū)。

Jo是一個開源項(xiàng)目,以O(shè)penBSD許可形式發(fā)布,可以免費(fèi)使用,Jo的開發(fā)者Dave Balmer為那些需要的人提供幫助和支持。

我曾用Sencha Touch創(chuàng)建了幾個Web應(yīng)用程序,發(fā)現(xiàn)整個開發(fā)過程相對容易,因?yàn)榭蚣芴幚砹嗽S多布局問題,在最好的情況下,我只需要創(chuàng)建一個新的Widget對 象,Touch框架自動將它放入頁面合適的位置,看起來還不錯,盡管屏幕大小不一樣,但有些應(yīng)用程序在iPad和iPhone上可以很好地運(yùn)行。

目前,Jo和Sencha Touch的文檔相對較少,在這方面應(yīng)該盡快做好彌補(bǔ),暫時只有Sencha的商業(yè)支持提供深入的文檔。

下載Jo:https://github.com/davebalmer/jo/downloads

下載Sensa Touch:http://www.sencha.com/products/touch/download/#p#

10、jQTouch

jQTouch

jQTouch是移動Web應(yīng)用程序最偉大的框架之一,它的創(chuàng)造者,David Kaneda已經(jīng)離開項(xiàng)目,現(xiàn)在為Sencha工作,但Jonathan Stark接過了大旗,繼續(xù)對代碼做值得做的調(diào)整。

jQTouch應(yīng)用程序是在DIV中插入HTML生成的,jQTouch解析這些DIV,尋找合適的類,然后插入它自己的代碼處理事件。

我用jQTouch創(chuàng)建了幾個Web應(yīng)用程序,發(fā)現(xiàn)它和創(chuàng)建一個Web頁面一樣簡單,它也和動態(tài)Web工具,如JSP,PHP和其它基于服務(wù)器的框架更容易集成。

在正確的情況下,代碼看起來和本地應(yīng)用程序的代碼一樣,但有時我發(fā)現(xiàn)一些奇怪的故障和沒有意義的轉(zhuǎn)換,有些觸摸事件在某些平臺上反應(yīng)也有點(diǎn)慢。

下載jQTouch:http://jqtouch.com/#p#

11、PhoneGap

PhoneGap

另一個最大,最成功的開源移動框架是PhoneGap,一套非常簡單的例行程序集,它允許你使用HTML,JavaScript和CSS代碼為智能 手機(jī)構(gòu)建本地應(yīng)用程序。本文介紹的許多JavaScript框架在發(fā)給App Store之前,都意欲和PhoneGap捆綁在一起。

原理非常簡單:這個框架打開一個解析HTML的視圖。在iOS上被稱為UIWebView,但在所有主流智能手機(jī)開發(fā)堆棧中都有類似的組件,其目標(biāo) 是讓相同的HTML,JavaScript和CSS代碼在所有主流平臺,如Android、iOS、BlackBerry和WebOS上都能工作。

從我使用PhoneGap的經(jīng)驗(yàn)來看,它的方法通??梢栽诓煌脚_上正常工作,我只花了一個小時,就將一個Web應(yīng)用程序轉(zhuǎn)換成iPhone和Android本地應(yīng)用程序,PhoneGap幫我完成了大部分工作。

但它仍然不是完美的,我曾發(fā)現(xiàn),盡管Android和iOS都使用WebKit核心,但相同HTML和CSS在Android和iPhone上的顯 示效果不一樣,雖然我后來沒有創(chuàng)建完整的BlackBerry和WebOS應(yīng)用程序,但出現(xiàn)任何小問題我認(rèn)為都是正常的,不管怎樣,PhoneGap可以 將你的Web應(yīng)用程序從相對簡單變得相對通用,相對快速。

下載PhoneGap:http://www.phonegap.com/

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

2017-06-15 17:50:06

編程機(jī)器學(xué)習(xí)開發(fā)

2021-07-19 13:52:17

分析工具軟件大數(shù)據(jù)

2011-07-14 09:38:13

2010-04-29 14:41:09

SharePoint

2016-08-12 08:24:56

GitLab Flowmastertags版本

2020-10-21 11:34:49

React Hook庫

2011-07-06 13:38:42

Web

2010-09-08 12:55:34

CSS

2011-08-11 13:30:04

云計(jì)算開源

2021-08-13 15:32:09

elementary Linux

2020-07-03 11:29:22

內(nèi)包IT領(lǐng)導(dǎo)者數(shù)字化轉(zhuǎn)型

2022-02-21 13:27:11

接口性能優(yōu)化索引命令

2022-06-07 08:20:49

線程安全多線程

2010-08-11 13:54:41

Windows 7運(yùn)行

2020-03-02 15:54:20

科技公司數(shù)據(jù)信任

2021-12-06 10:40:01

One-Liner代碼前端

2015-09-16 10:48:57

Python

2016-02-16 17:38:40

2021-12-15 21:00:27

人工智能AI文案

2023-06-14 00:21:52

點(diǎn)贊
收藏

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