成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

移動(dòng)Web開(kāi)發(fā)簡(jiǎn)介

開(kāi)發(fā) 前端
本章介紹了桌面Web和移動(dòng)Web之間的基本區(qū)別。移動(dòng)設(shè)備一般都外形小巧,而移動(dòng)用戶往往具有目標(biāo)導(dǎo)向性,從而有必要開(kāi)發(fā)面向移動(dòng)設(shè)備和移動(dòng)用戶的專用移動(dòng)標(biāo)記語(yǔ)言。

移動(dòng)設(shè)備是一種全新的媒介。桌面系統(tǒng)中總結(jié)出來(lái)的最佳實(shí)踐在移動(dòng)系統(tǒng)中完全不適用。移動(dòng)設(shè)備、移動(dòng)生態(tài)系統(tǒng)和移動(dòng)用戶具有獨(dú)特的特性,要求采用不同于以往的最佳實(shí)踐進(jìn)行移動(dòng)Web開(kāi)發(fā)。

本文將講述移動(dòng)Web的語(yǔ)法、語(yǔ)義和生態(tài)系統(tǒng)。您將學(xué)習(xí)如何構(gòu)建適應(yīng)性強(qiáng)、響應(yīng)迅速并且符合標(biāo)準(zhǔn)的移動(dòng)Web站點(diǎn),并確保其可以在任意移動(dòng)瀏覽器上運(yùn)行。一些簡(jiǎn)單的開(kāi)發(fā)提示和技巧將改進(jìn)小尺寸屏幕中的Web可用性。您可以進(jìn)一步充實(shí)移動(dòng)Web站點(diǎn),使其適用于高級(jí)智能手機(jī)瀏覽器(具有電子郵件、桌面功能的Web瀏覽等集成Internet功能的高端手機(jī)中的瀏覽器),能夠呈現(xiàn)完整的HTML并實(shí)現(xiàn)專有擴(kuò)展。開(kāi)發(fā)工作完成后,您將了解如何在實(shí)際移動(dòng)設(shè)備上進(jìn)行全方位的測(cè)試,優(yōu)化移動(dòng)Web頁(yè)面以便于網(wǎng)絡(luò)傳輸,以及通過(guò)避免代碼轉(zhuǎn)換保留更多適用于移動(dòng)生態(tài)系統(tǒng)的程序。

移動(dòng)Web好比是西部荒野。一些重量級(jí)人物控制著整個(gè)生態(tài)系統(tǒng),戰(zhàn)爭(zhēng)隨處可見(jiàn)。意志堅(jiān)定的人可以在遙遠(yuǎn)的地方占有財(cái)產(chǎn)、構(gòu)建家園、建立社區(qū)以及與世隔絕的繁華村落。但是,要想生存下來(lái),最好的方式還是全副武裝。而對(duì)于移動(dòng)開(kāi)發(fā)人員來(lái)說(shuō),在這片荒野中生存最有效的武器就是:

◆ 對(duì)移動(dòng)標(biāo)準(zhǔn)和最佳實(shí)踐具有專業(yè)而深入的了解

◆ 批判性思維技能和正確對(duì)待懷疑

◆ 千方百計(jì)找出正確的語(yǔ)法

◆  正確評(píng)價(jià)移動(dòng)用戶的需求

基于標(biāo)準(zhǔn)的移動(dòng)Web開(kāi)發(fā)方法確保在各種移動(dòng)瀏覽器和平臺(tái)之間的兼容性和可用性。要想在移動(dòng)Web開(kāi)發(fā)領(lǐng)域取得成功,必須了解所有規(guī)則,同時(shí)還要了解什么時(shí)候可以忽略規(guī)則。

1.1 移動(dòng)Web和桌面Web

從根本上說(shuō),只有一種Web。Web內(nèi)容是可以使用各種Web瀏覽器查看的標(biāo)準(zhǔn)化標(biāo)記、樣式、腳本和多媒體。在本書中,按照慣例將這種Web稱為桌面Web。我們可以在臺(tái)式計(jì)算機(jī)、筆記本電腦、上網(wǎng)本上通過(guò)Firefox、Opera或Internet Explorer等瀏覽器訪問(wèn)桌面Web,進(jìn)行網(wǎng)上沖浪。

桌面Web由通過(guò)TCP/IP計(jì)算機(jī)網(wǎng)絡(luò)鏈接在一起的大量服務(wù)器構(gòu)成。這種服務(wù)器稱為Web服務(wù)器,很多Web服務(wù)器實(shí)現(xiàn)超文本傳輸協(xié)議(HTTP)共享文檔和文件。Web服務(wù)器通過(guò)統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier,URI)提供對(duì)文本文件、標(biāo)記文檔和二進(jìn)制資源的訪問(wèn)。

在HTTP請(qǐng)求中,客戶端向Web服務(wù)器發(fā)送所需資源的URI以及一組請(qǐng)求頭,其中一個(gè)請(qǐng)求頭包含MIME類型列表,該列表公布客戶端支持的內(nèi)容類型。

在HTTP響應(yīng)中,Web服務(wù)器除了向客戶端發(fā)送請(qǐng)求的文檔(標(biāo)記、文本或二進(jìn)制文件)外,還會(huì)附帶另外一組頭,其中一個(gè)頭包含MIME類型,描述傳輸?shù)娇蛻舳说奈臋n的文件類型。

移動(dòng)Web在桌面Web的基礎(chǔ)上添加了新的MIME類型、標(biāo)記語(yǔ)言、文檔格式和最佳實(shí)踐,為小尺寸屏幕提供優(yōu)化的Web內(nèi)容,并可解決移動(dòng)設(shè)備上的資源限制、Web瀏覽器可用性差等問(wèn)題。

移動(dòng)Web在Web生態(tài)系統(tǒng)中引入了一些新的組件,包括:

◆ 針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化的標(biāo)記語(yǔ)言和樣式

◆ 可區(qū)分移動(dòng)標(biāo)記和桌面HTML的MIME類型

◆ 具有大量功能的瀏覽器客戶端

◆ 使內(nèi)容更適合上述客戶端的網(wǎng)絡(luò)代理

如果將移動(dòng)Web比作西部荒野,桌面Web就可稱得上是世外桃源。桌面Web是一種較好理解的安全開(kāi)發(fā)環(huán)境,采用根據(jù)已制定的標(biāo)準(zhǔn)建立的客戶端技術(shù)。截止到本書編寫時(shí),桌面Web已經(jīng)走過(guò)將近20年的風(fēng)雨歷程了。桌面瀏覽器客戶端是公開(kāi)的、免費(fèi)的、可輕易獲得并且經(jīng)常更新。目前人們使用的主流Web瀏覽器是由少數(shù)軟件供應(yīng)商和開(kāi)放源代碼項(xiàng)目生產(chǎn)的,這樣就降低了跨平臺(tái)Web開(kāi)發(fā)中的測(cè)試難度。在桌面生態(tài)系統(tǒng)中,如果一個(gè)Web頁(yè)面到達(dá)目標(biāo)瀏覽器,則其標(biāo)記在傳輸途中幾乎一直存在,Internet中的中介服務(wù)器不會(huì)更改這些標(biāo)記。網(wǎng)絡(luò)所有者和Internet服務(wù)提供商(Internet Service Provider,ISP)對(duì)于通過(guò)自動(dòng)標(biāo)記適配和內(nèi)容重新打包優(yōu)化和改善網(wǎng)絡(luò)體驗(yàn)沒(méi)有任何興趣(請(qǐng)參閱表1-1,了解定義移動(dòng)Web和桌面Web的特征列表)。

表1-1 移動(dòng)Web和桌面Web的特征

  移 動(dòng) Web 桌 面 Web
平均會(huì)話長(zhǎng)度 2~3分鐘 10 ~15分鐘
最小屏幕尺寸 90×60 800×600
最大屏幕尺寸 對(duì)于常用的設(shè)備為240×400 無(wú)限制
瀏覽器供應(yīng)商 超過(guò)12家并且還在不斷增長(zhǎng) 只有兩家,市場(chǎng)份額超過(guò)5%
瀏覽器故障 經(jīng)常出現(xiàn)故障。除使用可更新操作系統(tǒng)的智能手機(jī)外,其他設(shè)備都無(wú)法修補(bǔ) 很少出現(xiàn)故障并且可以修補(bǔ)
W3C 標(biāo)準(zhǔn) 不規(guī)范。在移動(dòng)行業(yè)中,有時(shí)會(huì)忽略甚至違背這些標(biāo)準(zhǔn) 接受并充分應(yīng)用
標(biāo)記語(yǔ)言 WML
CHTML
XHTML Basic
XHTML-MP
XHTML
HTML
 
XHTML、HTML
JavaScript和AJAX 90%的移動(dòng)設(shè)備都不支持。采用ECMAScript-MP和JavaScript。文檔對(duì)象模型(Document Object Model,DOM)和支持的事件不同。一般都采用專有的API 通常情況下支持
可尋址的客戶 全球30億移動(dòng)訂閱者 總計(jì)10億臺(tái)筆記本電腦、臺(tái)式計(jì)算機(jī)和服務(wù)器

桌面Web過(guò)濾軟件可以阻止查看讓人討厭的網(wǎng)頁(yè),但是,Web過(guò)濾器的工作方式是阻止頁(yè)面訪問(wèn),而不是調(diào)整頁(yè)面語(yǔ)法。

移動(dòng)Web開(kāi)發(fā)是一門全新的學(xué)科,這樣說(shuō)的原因如下:

◆  移動(dòng)Web生態(tài)系統(tǒng)是全新的。移動(dòng)Web使用桌面Web的既有知識(shí),但它也有一些從移動(dòng)設(shè)備獨(dú)有的特性衍生出來(lái)的新的最佳實(shí)踐和疑難問(wèn)題。桌面隱喻并不適用。帶寬占用量是一個(gè)比較關(guān)鍵的問(wèn)題,即使對(duì)智能手機(jī)也是如此。使用JavaScript架構(gòu)以及異步JavaScript和XML (AJAX)等Rich Web 2.0功能時(shí)務(wù)必要謹(jǐn)慎,否則有電池電量耗盡的風(fēng)險(xiǎn)。運(yùn)營(yíng)商經(jīng)常會(huì)控制和阻止移動(dòng)Web站點(diǎn)的流量。在移動(dòng)標(biāo)記傳輸?shù)揭苿?dòng)瀏覽器的途中,代碼轉(zhuǎn)換代理經(jīng)常會(huì)嘗試重置移動(dòng)標(biāo)記的格式。最后,必須編寫一些保護(hù)性的程序,降低代碼轉(zhuǎn)換器暴露以及出現(xiàn)移動(dòng)網(wǎng)絡(luò)問(wèn)題的概率。

◆  移動(dòng)Web用戶是全新的。移動(dòng)Web用戶采用獨(dú)特的使用模式和導(dǎo)航方法。移動(dòng)用戶具有強(qiáng)烈的目標(biāo)導(dǎo)向性和位置感知能力。在影響移動(dòng)用戶的移動(dòng)Web瀏覽體驗(yàn)的主要因素中,即包括在服務(wù)區(qū)內(nèi)外漫游時(shí)的網(wǎng)絡(luò)訪問(wèn)問(wèn)題。實(shí)際上,對(duì)成本敏感的移動(dòng)用戶寧可取消網(wǎng)絡(luò)交易,也不愿冒因錯(cuò)誤操作而支付費(fèi)用的風(fēng)險(xiǎn)。

◆  移動(dòng)Web瀏覽器是全新的。移動(dòng)瀏覽器具有其他瀏覽器所不具備的優(yōu)勢(shì),同時(shí)也有一些與眾不同的問(wèn)題及相應(yīng)的解決方法。Web標(biāo)準(zhǔn)實(shí)現(xiàn)不徹底是經(jīng)常出現(xiàn)的問(wèn)題。Web頁(yè)面格式錯(cuò)誤會(huì)對(duì)移動(dòng)設(shè)備產(chǎn)生嚴(yán)重的影響,包括瀏覽器崩潰或設(shè)備重置。用戶非常需要JavaScript和AJAX等高級(jí)Web功能,但這些功能會(huì)影響電池的使用壽命。市場(chǎng)上有數(shù)十家移動(dòng)瀏覽器供應(yīng)商,確保Web標(biāo)準(zhǔn)遵從性的重?fù)?dān)就落在了原始設(shè)備制造商(Original Equipment Manufacturer,OEM)和運(yùn)營(yíng)商肩上。

#p#

1.2 移動(dòng)標(biāo)記語(yǔ)言

目前,各種移動(dòng)設(shè)備采用的移動(dòng)瀏覽器一般是基于一定的標(biāo)準(zhǔn),但又不一定遵從標(biāo)準(zhǔn),這樣,用戶可以查看多種移動(dòng)標(biāo)記語(yǔ)言的Web內(nèi)容,這些語(yǔ)言包括:

◆  XHTML和HTML

◆  XHTML移動(dòng)配置文件(XHTML-MP)

◆   CHTML (iMode)

◆  無(wú)線標(biāo)記語(yǔ)言(WML)

1.2.1 HTML和XHTML

HTML是移動(dòng)標(biāo)記語(yǔ)言的旗艦產(chǎn)品。作為標(biāo)準(zhǔn)Web標(biāo)記語(yǔ)言,HTML被Web開(kāi)發(fā)人員和設(shè)計(jì)人員廣泛使用。很多移動(dòng)瀏覽器都支持完整的HTML標(biāo)記集,但是這些瀏覽器可能無(wú)法滿足直接查看桌面HTML網(wǎng)站的用戶體驗(yàn)。對(duì)于移動(dòng)設(shè)備來(lái)說(shuō),屏幕分辨率、存儲(chǔ)容量和帶寬都存在限制,有必要開(kāi)發(fā)出更加優(yōu)化的標(biāo)記和樣式。當(dāng)然,移動(dòng)用戶還希望針對(duì)他們的移動(dòng)特性開(kāi)發(fā)出一些專用的服務(wù)。

XHTML在嚴(yán)格遵循XML語(yǔ)法的基礎(chǔ)上,結(jié)合運(yùn)用HTML標(biāo)記集。對(duì)于移動(dòng)瀏覽器來(lái)說(shuō),處理和呈現(xiàn)XML格式的標(biāo)記要比處理松散的HTML語(yǔ)法規(guī)則容易得多。對(duì)于支持HTML的移動(dòng)瀏覽器來(lái)說(shuō),XHTML是最佳標(biāo)記。

Android、iPhone、Nokia Series 60、Windows Mobile和BlackBerry設(shè)備中的智能移動(dòng)瀏覽器都支持XHTML、HTML、JavaScript和AJAX。此功能集以及可選擇添加的大量客戶端緩存和CSS擴(kuò)展功能構(gòu)成了交互式移動(dòng)Web應(yīng)用程序的基礎(chǔ)。本書介紹如何針對(duì)智能手機(jī)瀏覽器構(gòu)建高級(jí)的Web應(yīng)用程序。

注意:

僅針對(duì)智能手機(jī)開(kāi)發(fā)的移動(dòng)Web站點(diǎn)可以使用HTML 4的完整功能集,并且在不久的將來(lái),還可以使用HTML 5的完整功能集。但是,在移動(dòng)Web站點(diǎn)上使用HTML和XHTML需要支付一定的費(fèi)用。使用HTML和XHTML后,無(wú)法與使用舊版瀏覽器的高容量功能手機(jī)(市場(chǎng)上大量銷售的低成本、功能很少的手機(jī))兼容(盡管智能手機(jī)做了大肆的宣傳,但還是有大量的功能手機(jī)用戶在移動(dòng)Web上沖浪)。使用桌面標(biāo)記還需要引入代碼轉(zhuǎn)換器,也就是通過(guò)重置標(biāo)記格式優(yōu)化桌面Web使之適用于移動(dòng)設(shè)備的網(wǎng)絡(luò)應(yīng)用程序。代碼轉(zhuǎn)換器可以使系統(tǒng)認(rèn)為標(biāo)記是用于桌面瀏覽器的,同時(shí)機(jī)器會(huì)對(duì)標(biāo)記進(jìn)行重新調(diào)整,使其適合移動(dòng)瀏覽器。本書教您應(yīng)對(duì)以下兩種情況:如何最大程度地使HTML與移動(dòng)瀏覽器兼容;如何避免對(duì)針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化的HTML進(jìn)行雙重代碼轉(zhuǎn)換。

1.2.2 XHTML移動(dòng)配置文件

XHTML移動(dòng)配置文件(XHTML-MP)由開(kāi)放移動(dòng)聯(lián)盟(http://openmobilealliance.org)指定和維護(hù),實(shí)際上,它就是移動(dòng)Web的標(biāo)準(zhǔn)標(biāo)記。移動(dòng)配置文件,顧名思義,這種標(biāo)記語(yǔ)言是XHTML的一個(gè)子集,專用于移動(dòng)計(jì)算設(shè)備,包括手機(jī):

◆  XHTML-MP 1.0設(shè)定了移動(dòng)標(biāo)記語(yǔ)言的基本標(biāo)記。

◆  XHTML-MP 1.1添加了<script>標(biāo)記并支持移動(dòng)JavaScript。

◆  XHTML-MP 1.2添加了更多表單標(biāo)記和文本輸入模式。截止到本書編寫時(shí),很多移動(dòng)瀏覽器還不支持XHTML-MP 1.2。

實(shí)際上,所有新開(kāi)發(fā)的移動(dòng)Web站點(diǎn)都使用XHTML-MP為移動(dòng)用戶提供服務(wù)。

這種標(biāo)記語(yǔ)言在移動(dòng)Web中引入了一些常用的概念,如分離標(biāo)記結(jié)構(gòu)和顯示(presentation)。XML格式的標(biāo)記定義文檔結(jié)構(gòu),而級(jí)聯(lián)樣式表(CSS)控制顯示。大多數(shù)XHTML-MP移動(dòng)瀏覽器都支持無(wú)線CSS、CSS移動(dòng)配置文件和/或CSS 2。當(dāng)然,大多數(shù)意味著并不是所有支持XHTML-MP的移動(dòng)瀏覽器也支持CSS。

歡迎進(jìn)入移動(dòng)Web開(kāi)發(fā)的荒涼世界。本書將教您如何使用設(shè)備數(shù)據(jù)庫(kù)確定移動(dòng)瀏覽器的疑難問(wèn)題,如不能很好地支持CSS,這樣您就可以對(duì)標(biāo)記進(jìn)行相應(yīng)的調(diào)整。幸運(yùn)的是,移動(dòng)瀏覽器不斷發(fā)展,Web標(biāo)準(zhǔn)遵從性和整體質(zhì)量水平都得到大幅提升。

XHTML-MP是無(wú)線應(yīng)用協(xié)議(Wireless Application Protocol,WAP)第二版中規(guī)定的標(biāo)記語(yǔ)言。盡管從技術(shù)上講不夠準(zhǔn)確,但業(yè)界還是習(xí)慣性地將XHTML-MP稱為WAP2。

1.2.3 WML

無(wú)線標(biāo)記語(yǔ)言(WML)是一種舊版的簡(jiǎn)單標(biāo)記語(yǔ)言,適用于低功耗的移動(dòng)設(shè)備。1998年,無(wú)線應(yīng)用協(xié)議論壇(也就是現(xiàn)在的開(kāi)放移動(dòng)聯(lián)盟)對(duì)這種語(yǔ)言進(jìn)行了標(biāo)準(zhǔn)化處理。WML是可擴(kuò)展標(biāo)記語(yǔ)言(XML)的一種行業(yè)說(shuō)法,主要使用隱喻卡片組和卡片。一個(gè)標(biāo)記文檔可以包含多個(gè)用戶界面(UI)屏幕或卡片。WML最初設(shè)計(jì)用于在內(nèi)存和處理能力極其有限的單色移動(dòng)設(shè)備上顯示文本。移動(dòng)開(kāi)發(fā)人員使用集成開(kāi)發(fā)環(huán)境(IDE)或文本編輯器以純文本的形式編寫WML,或者使用服務(wù)器端Web腳本語(yǔ)言生成代碼。在某些移動(dòng)網(wǎng)絡(luò)中,WML網(wǎng)關(guān)服務(wù)器會(huì)將標(biāo)記編譯為二進(jìn)制格式,以壓縮的形式傳輸?shù)皆O(shè)備,這樣可以提高傳輸速度。支持WML的移動(dòng)瀏覽器反編譯并顯示該二進(jìn)制WML,也可以直接顯示文本W(wǎng)ML。

WML包含兩個(gè)主要的版本:WML 1.1和WML 1.3。與前者相比,WML 1.3引入了對(duì)彩色圖像的支持。實(shí)際上,現(xiàn)在的所有移動(dòng)瀏覽器都支持WML 1.3以及其他標(biāo)記語(yǔ)言。目前美國(guó)境內(nèi)所使用的移動(dòng)設(shè)備中,大約5%的設(shè)備其瀏覽器僅支持WML,剩下的95%支持并首選XHTML-MP、XHTML和/或HTML。

WML是WAP規(guī)范第一版中規(guī)定的標(biāo)記語(yǔ)言。因此,在移動(dòng)行業(yè)里,也將WML稱為WAP1。這在技術(shù)上講并不是很準(zhǔn)確,因?yàn)閃AP規(guī)范覆蓋整個(gè)協(xié)議棧(包括標(biāo)記本身),但盡管如此,還是沿用這種叫法。

WML被認(rèn)為是舊版移動(dòng)Web語(yǔ)言。這種語(yǔ)言實(shí)在是老套,以至于Apple iPhone為追趕潮流而在其支持Web的移動(dòng)瀏覽器中明確表示不再支持WML。盡管WML語(yǔ)言已經(jīng)存在了很多年,但其結(jié)構(gòu)簡(jiǎn)單和壓縮二進(jìn)制格式的特點(diǎn)還是吸引了開(kāi)發(fā)人員使用它開(kāi)發(fā)一些簡(jiǎn)單的移動(dòng)Web應(yīng)用程序,或?yàn)榕f式手機(jī)提供文本移動(dòng)Web體驗(yàn)。

例如,俄勒岡州波特蘭市的Trimet公共交通系統(tǒng)提供了一個(gè)簡(jiǎn)單的WML網(wǎng)站,用于查看公交車和輕軌的時(shí)刻表。每條線路中的每一站都顯著地標(biāo)記了一個(gè)唯一的數(shù)字ID,以便于乘客識(shí)別。Trimet網(wǎng)站用戶在WML表單中輸入站點(diǎn)ID即可了解下一班公交車和輕軌列車的預(yù)計(jì)到站時(shí)間。在該網(wǎng)站中,還可以按路線編號(hào)或位置瀏覽交通時(shí)刻表。Trimet交通網(wǎng)站為移動(dòng)用戶提供的功能很有限,卻非常重要。文檔很小,即使在2 G的移動(dòng)網(wǎng)絡(luò)中,也可以實(shí)現(xiàn)快速瀏覽。由于該網(wǎng)站使用WML,因此實(shí)際上目前使用的每部手機(jī)都可以查看交通時(shí)刻表。若要最大程度地提高市政移動(dòng)網(wǎng)站在不同駕乘人群中的應(yīng)用,則WML是一種非常不錯(cuò)的選擇。您可以訪問(wèn)http://wap.trimet.org在Trimet WML網(wǎng)站中查詢交通時(shí)刻表。Trimet駕乘人員還可以使用許多其他移動(dòng)Web站點(diǎn)和應(yīng)用程序,包括許多面向iPhone和其他智能手機(jī)的移動(dòng)Web站點(diǎn)和應(yīng)用程序。有關(guān)詳細(xì)信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站http://trimet.org/apps/

#p#

1.2.4 其他移動(dòng)標(biāo)記語(yǔ)言

本節(jié)主要介紹在移動(dòng)Web中廣泛使用的標(biāo)記語(yǔ)言,包括XHTML、HTML、XHTML-MP和WML。除此之外,還有其他一些未被廣泛采用的標(biāo)準(zhǔn)化移動(dòng)標(biāo)記語(yǔ)言。其中一些標(biāo)記語(yǔ)言要么超前標(biāo)榜在移動(dòng)設(shè)備上實(shí)現(xiàn)可靠的Internet訪問(wèn),要么并入其后更流行的標(biāo)準(zhǔn)。對(duì)于這些標(biāo)記語(yǔ)言,本書將簡(jiǎn)要說(shuō)明其優(yōu)勢(shì),而不做深入的探討。

1. HDML

WML是移動(dòng)Web的舊版語(yǔ)言,但它并不是第一種可在手機(jī)上查看的標(biāo)記語(yǔ)言。這一殊榮屬于HDML (Handheld Device Markup Language,手持設(shè)備標(biāo)記語(yǔ)言),它是WML的前身,由Openwave (一家移動(dòng)基礎(chǔ)設(shè)備提供商和瀏覽器供應(yīng)商,以前稱為Unwired Planet,也就是“無(wú)線星球”)設(shè)計(jì)。HDML在1997年被提交到W3C,但始終未標(biāo)準(zhǔn)化,也未被廣泛采用。不過(guò),HDML對(duì)WML的語(yǔ)法形成和使用產(chǎn)生了很大的影響。

20世紀(jì)90年代中期,手機(jī)都是黑白的,而且大多數(shù)使用的是三行顯示屏。某些早期的移動(dòng)設(shè)備支持顯示HDML文檔。HDML瀏覽器對(duì)于語(yǔ)法的要求非常不嚴(yán)格。

作為一個(gè)喜歡嘗試的人,我曾經(jīng)使用HDML制作了一個(gè)基于表單的網(wǎng)站原型,并將其用于我的模擬手機(jī)。該網(wǎng)站可以運(yùn)行,但我還是放棄了,因?yàn)闉g覽器強(qiáng)制執(zhí)行少量達(dá)到HDML文檔最大文件的大小。這種瀏覽器也最終沒(méi)有向普通用戶公布。在開(kāi)發(fā)過(guò)程中,我經(jīng)常用無(wú)效的HDML語(yǔ)法使瀏覽器崩潰,每次發(fā)生崩潰時(shí),HDML手機(jī)都會(huì)輸出存在錯(cuò)誤的文件名和出錯(cuò)的C源代碼的行號(hào)。這個(gè)過(guò)程非常有趣。

2. CHTML

日本的DoCoMo移動(dòng)網(wǎng)絡(luò)中的I-mode移動(dòng)設(shè)備使用HTML的一個(gè)子集,即壓縮式HTML(Compact HTML,CHTML),顯示W(wǎng)eb內(nèi)容。CHTML由日本的移動(dòng)瀏覽器公司Access所創(chuàng)建,并于1998年提交到W3C進(jìn)行標(biāo)準(zhǔn)化。CHTML采用HTML的結(jié)構(gòu),用一組嚴(yán)格限定的標(biāo)記將Web內(nèi)容傳遞到非常小的信息應(yīng)用程序,如低端手機(jī)。CHTML不支持以下HTML功能:

◆ JPEG格式的圖像(支持GIF格式)

◆ 表格

◆ 圖像地圖

◆ 多種字體和樣式(在I-mode設(shè)備中,僅支持一種字體)

◆ 背景色和背景圖像

◆ 框架

◆ 樣式表

CHTML僅在日本市場(chǎng)中銷售的移動(dòng)設(shè)備上使用,與此同時(shí),通過(guò)CHTML開(kāi)發(fā)的各種I-mode服務(wù)正在使用XHTML迅速地重新實(shí)現(xiàn)。

3. XHTML Basic

對(duì)于功能受限的移動(dòng)設(shè)備,在從HTML降級(jí)到XHTML-MP的過(guò)渡階段,建議使用XTML Basic移動(dòng)標(biāo)記語(yǔ)言。該建議由W3C在2000年提出,開(kāi)放移動(dòng)聯(lián)盟對(duì)XTML Basic的標(biāo)記支持進(jìn)行了擴(kuò)展,從而創(chuàng)建了XHTML-MP。

很多移動(dòng)瀏覽器都支持XHTML Basic DTD,但移動(dòng)Web開(kāi)發(fā)人員更傾向于使用支持更為廣泛的XHTML-MP。

1.3 移動(dòng)腳本語(yǔ)言

移動(dòng)瀏覽器中的客戶端腳本編寫曾經(jīng)是智能手機(jī)的專屬領(lǐng)域,但這種狀況發(fā)生了日新月異的變化。到2010年,很多暢銷移動(dòng)設(shè)備都將支持ECMAScript-MP或移動(dòng)JavaScript。移動(dòng)JavaScript是一種非常奇妙的工具,用于創(chuàng)造交互式的移動(dòng)Web體驗(yàn)。與任何客戶端移動(dòng)技術(shù)一樣,在真實(shí)的移動(dòng)設(shè)備上測(cè)試JavaScript對(duì)于有效地完成開(kāi)發(fā)工作至關(guān)重要,這是因?yàn)樵谀M器上測(cè)試以及在Firefox中進(jìn)行測(cè)試可能無(wú)法發(fā)現(xiàn)某些語(yǔ)法問(wèn)題和性能問(wèn)題,而這些問(wèn)題很可能會(huì)在目標(biāo)移動(dòng)設(shè)備上發(fā)生。

移動(dòng)JavaScript和桌面JavaScript的語(yǔ)法在本質(zhì)上是一樣的。移動(dòng)版本嚴(yán)格遵守腳本行必須以分號(hào)結(jié)束。移動(dòng)JavaScript減少了支持的字符集,并排除了計(jì)算密集型語(yǔ)言元素。與對(duì)應(yīng)的桌面語(yǔ)言相比,移動(dòng)語(yǔ)言的不同之處在于移動(dòng)瀏覽器中的DOM和事件支持。DOM和事件支持可能會(huì)因?yàn)g覽器供應(yīng)商和版本的不同而有所差異。若要成功完成移動(dòng)JavaScript開(kāi)發(fā),則在設(shè)備上進(jìn)行測(cè)試至關(guān)重要。

客戶端腳本編寫也可能會(huì)降低移動(dòng)Web瀏覽性能。移動(dòng)用戶可以禁用JavaScript執(zhí)行。因此,即使是專為移動(dòng)設(shè)備設(shè)計(jì)的支持JavaScript的標(biāo)記,也必須進(jìn)行適度地調(diào)整,使之適應(yīng)非腳本環(huán)境。靈活的移動(dòng)Web設(shè)計(jì)首先實(shí)現(xiàn)標(biāo)記,然后通過(guò)客戶端腳本編寫反復(fù)地對(duì)其進(jìn)行增強(qiáng)。本書介紹設(shè)備識(shí)別和內(nèi)容自適應(yīng)技術(shù),使得能夠根據(jù)條件僅在支持JavaScript的移動(dòng)瀏覽器上包含腳本。

 

注意:

WML提供了自己的腳本語(yǔ)言,即WMLScript。WMLScript需要從WML文檔進(jìn)行鏈接,并且支持表單驗(yàn)證、對(duì)話框、卡片導(dǎo)航和URI導(dǎo)航。本書中未對(duì)WMLScript進(jìn)行討論,我們關(guān)注的是在移動(dòng)瀏覽器的客戶端腳本編寫中采用的腳本語(yǔ)言,也就是JavaScript和ECMAScript-MP。

1.4 移動(dòng)樣式表

用于移動(dòng)標(biāo)記文檔的樣式表遵循三種CSS行業(yè)術(shù)語(yǔ)之一。最佳的移動(dòng)瀏覽器支持CSS2,也就是在桌面Web中與XHTML和HTML結(jié)合使用的樣式標(biāo)準(zhǔn)。支持XHTML-MP的移動(dòng)瀏覽器使用無(wú)線CSS和/或CSS移動(dòng)配置文件,二者都是CSS2的子集,彼此獨(dú)立而又存在一定的聯(lián)系,可以在有限的瀏覽器上支持通用的樣式屬性。移動(dòng)CSS子集刪除了計(jì)算密集型CSS功能,如屬性繼承和3D元素對(duì)齊方式。

1.5 移動(dòng)行業(yè)組織和標(biāo)準(zhǔn)機(jī)構(gòu)

對(duì)于靈活的跨平臺(tái)開(kāi)發(fā)而言,遵守移動(dòng)Web行業(yè)標(biāo)準(zhǔn)和最佳實(shí)踐非常重要。一些Internet和移動(dòng)行業(yè)機(jī)構(gòu)掌管著移動(dòng)Web標(biāo)準(zhǔn)和推薦的最佳實(shí)踐,這些機(jī)構(gòu)包括:

◆  W3C:該機(jī)構(gòu)負(fù)責(zé)針對(duì)移動(dòng)Web開(kāi)發(fā)和測(cè)試標(biāo)準(zhǔn)化移動(dòng)標(biāo)記語(yǔ)言以及發(fā)布最佳實(shí)踐文檔。

◆  開(kāi)放移動(dòng)聯(lián)盟(以前稱為WAP論壇):該機(jī)構(gòu)負(fù)責(zé)標(biāo)準(zhǔn)化移動(dòng)標(biāo)記和樣式語(yǔ)言,以及其他設(shè)計(jì)用于實(shí)現(xiàn)跨設(shè)備、地域和移動(dòng)網(wǎng)絡(luò)進(jìn)行互操作的移動(dòng)技術(shù)。

◆  dotMobi(http://mtld.mobi):該機(jī)構(gòu)控制.mobi頂級(jí)域,以及必須與設(shè)備適應(yīng)并與移動(dòng)設(shè)備兼容的內(nèi)容。該機(jī)構(gòu)還負(fù)責(zé)發(fā)布移動(dòng)Web開(kāi)發(fā)的最佳實(shí)踐,并且通過(guò)在線社區(qū)對(duì)移動(dòng)開(kāi)發(fā)人員、市場(chǎng)營(yíng)銷人員和運(yùn)營(yíng)商進(jìn)行相應(yīng)的培訓(xùn)。

◆  移動(dòng)營(yíng)銷協(xié)會(huì)(Mobile Marketing Association):該機(jī)構(gòu)集中管理針對(duì)移動(dòng)設(shè)備營(yíng)銷和廣告的各種技術(shù)建議和最佳實(shí)踐。

◆  開(kāi)放移動(dòng)終端平臺(tái)(Open Mobile Terminal Platform,OMTP) (www.omtp.org/):這是一個(gè)由運(yùn)營(yíng)商創(chuàng)立的移動(dòng)行業(yè)組織,主要負(fù)責(zé)標(biāo)準(zhǔn)化從Web應(yīng)用程序訪問(wèn)移動(dòng)設(shè)備的操作。

移動(dòng)Web開(kāi)發(fā)是一門新興的學(xué)科,各種各樣的標(biāo)準(zhǔn)和最佳實(shí)踐如雨后春筍般涌現(xiàn)出來(lái)。聰明的移動(dòng)Web開(kāi)發(fā)人員應(yīng)深諳這些行業(yè)文檔,通過(guò)批判性的思維確定,在開(kāi)發(fā)面向特定地域和移動(dòng)設(shè)備型號(hào)的移動(dòng)Web內(nèi)容時(shí)應(yīng)適用哪些最佳實(shí)踐。

1.6 移動(dòng)生態(tài)系統(tǒng)

移動(dòng)生態(tài)系統(tǒng)是一個(gè)豐富多彩、雜亂無(wú)序而又令人興奮的世界。作為移動(dòng)Web開(kāi)發(fā)人員,您可以期待接觸這個(gè)生態(tài)系統(tǒng)中的一些部分。OEM (原始設(shè)備制造商)和移動(dòng)軟件供應(yīng)商控制著在移動(dòng)設(shè)備上運(yùn)行的移動(dòng)瀏覽器軟件。移動(dòng)運(yùn)營(yíng)商銷售手機(jī)和網(wǎng)絡(luò)服務(wù)。運(yùn)營(yíng)商控制著移動(dòng)設(shè)備的Web訪問(wèn)。獨(dú)立的移動(dòng)開(kāi)發(fā)人員社區(qū)通常圍繞某一移動(dòng)平臺(tái)或服務(wù)組件組織。在開(kāi)發(fā)人員社區(qū)中,從事移動(dòng)Web和應(yīng)用程序項(xiàng)目的人員會(huì)友好地進(jìn)行一些技術(shù)上的交流。

練習(xí)1:瀏覽移動(dòng)Web

通過(guò)在各種不同的手機(jī)上瀏覽Web來(lái)熟悉移動(dòng)Web。搜集或向朋友借一些不同制造商生產(chǎn)的移動(dòng)設(shè)備,要求這些移動(dòng)設(shè)備具有不同的屏幕尺寸和樣式(尤其是觸摸屏)。最低限度是,至少要有一部功能手機(jī)和一部智能手機(jī)。接下來(lái),使用這些移動(dòng)設(shè)備執(zhí)行以下操作:

◆ 導(dǎo)航到Web瀏覽器并啟動(dòng)。

◆  瀏覽針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化的網(wǎng)頁(yè)。如果找不到針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化的網(wǎng)站,可以使用移動(dòng)搜索引擎進(jìn)行搜索,可供選用的移動(dòng)搜索引擎包括Google (http://google.com)、Yahoo!(http://yahoo.com)或Bing(http://bing.com)等。接下來(lái),在移動(dòng)Web搜索結(jié)果類別中查找移動(dòng)Web頁(yè)面的鏈接。

◆  瀏覽桌面網(wǎng)頁(yè)。

◆ 使用某種移動(dòng)搜索引擎搜索附近的餐館,查詢餐館的電話號(hào)碼,然后查詢從您當(dāng)前所在位置到餐館的行車路線。

記錄下您在移動(dòng)設(shè)備上瀏覽Web并使用各種功能時(shí)的體驗(yàn),然后思考下面的問(wèn)題:

1. 在手機(jī)上找到Web瀏覽器的難易程度如何?完成啟動(dòng)瀏覽器的操作總共經(jīng)過(guò)多少次按鍵?

2. 是否可以在手機(jī)上查看移動(dòng)網(wǎng)頁(yè)?這些網(wǎng)頁(yè)是否可用?原因是什么?

3. 是否可以在手機(jī)上查看桌面網(wǎng)頁(yè)?這些網(wǎng)頁(yè)是否可用?原因是什么?

4. 桌面網(wǎng)頁(yè)是以適應(yīng)視圖顯示,還是以代碼轉(zhuǎn)換視圖顯示?這種網(wǎng)頁(yè)視圖對(duì)瀏覽體驗(yàn)產(chǎn)生什么影響?

5. 您選用的是哪種移動(dòng)搜索引擎?原因是什么?是否可以輕松地區(qū)分針對(duì)Web優(yōu)化和針對(duì)移動(dòng)設(shè)備優(yōu)化的Web搜索結(jié)果?

6. 在手機(jī)上搜索附近的餐館的難易程度如何?是否可以通過(guò)點(diǎn)擊電話號(hào)碼開(kāi)始呼叫?查詢到的行車路線是否可行、準(zhǔn)確?

最后,確保本練習(xí)中所使用的每個(gè)移動(dòng)設(shè)備都有數(shù)據(jù)計(jì)劃,以允許瀏覽公共Internet網(wǎng)絡(luò)。

1.7 代碼示例

本節(jié)中涉及的代碼和標(biāo)記是使用PHP 5通過(guò)Eclipse PDT在Windows臺(tái)式計(jì)算機(jī)上編寫的。代碼在Linux、Apache、MySQL和PHP(LAMP)環(huán)境中托管。本書中示例代碼的主題是一個(gè)虛構(gòu)的新鮮農(nóng)產(chǎn)品市場(chǎng),稱為Sunset Farmers’ Market。

可以從http://learnthemobileweb.com/books/或者h(yuǎn)ttp://www.tupwk.com.cn/downpage上找到本書中的代碼示例、勘誤表和其他信息。也可以在移動(dòng)設(shè)備上瀏覽http://learnto.mobi/books/以在移動(dòng)瀏覽器中查看代碼示例。

1.8 小結(jié)

本章介紹了桌面Web和移動(dòng)Web之間的基本區(qū)別。移動(dòng)設(shè)備一般都外形小巧,而移動(dòng)用戶往往具有目標(biāo)導(dǎo)向性,從而有必要開(kāi)發(fā)面向移動(dòng)設(shè)備和移動(dòng)用戶的專用移動(dòng)標(biāo)記語(yǔ)言。此外,介紹了一些用于移動(dòng)Web的標(biāo)記語(yǔ)言和腳本語(yǔ)言,在此過(guò)程中,還提到了一些非主流的語(yǔ)言,但僅僅是為了說(shuō)明其歷史意義,并無(wú)其他用意。作者對(duì)移動(dòng)生態(tài)系統(tǒng)進(jìn)行了調(diào)查研究,并介紹了一些移動(dòng)行業(yè)組織和標(biāo)準(zhǔn)機(jī)構(gòu)。

【編輯推薦】

  1. 11個(gè)基本的移動(dòng)Web編程工具強(qiáng)烈推薦
  2. 探索移動(dòng)Web網(wǎng)頁(yè)編碼設(shè)計(jì)
  3. 移動(dòng)Web應(yīng)用開(kāi)發(fā)的現(xiàn)狀與未來(lái)
責(zé)任編輯:陳貽新 來(lái)源: 萬(wàn)維網(wǎng)聯(lián)盟
相關(guān)推薦

2012-02-09 16:45:41

2016-09-29 09:22:01

移動(dòng)WebHtml5

2013-09-04 14:49:10

移動(dòng)Web前端開(kāi)發(fā)設(shè)計(jì)理念

2011-07-06 14:01:33

Monkey

2015-07-16 13:57:06

移動(dòng)web開(kāi)發(fā)規(guī)范

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2013-09-10 16:16:19

移動(dòng)網(wǎng)站性能優(yōu)化移動(dòng)web

2011-10-28 11:20:25

移動(dòng)Web

2012-03-06 16:57:40

jQuery mobijQuery mobiframework

2011-03-01 09:23:47

移動(dòng)Web應(yīng)用開(kāi)發(fā)成本

2011-05-11 09:47:14

mobl移動(dòng)web開(kāi)發(fā)

2011-12-29 10:48:49

移動(dòng)Web

2022-04-13 08:00:00

Hilla開(kāi)發(fā)Java

2011-03-09 10:21:35

2011-12-28 17:08:11

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

2015-08-28 08:44:43

web移動(dòng)開(kāi)發(fā)轉(zhuǎn)行

2015-08-28 09:19:53

Web開(kāi)發(fā)移動(dòng)開(kāi)發(fā)

2014-03-28 15:36:43

移動(dòng)WebJavaScript開(kāi)發(fā)框架

2012-02-01 13:39:31

移動(dòng)Web設(shè)計(jì)開(kāi)發(fā)

2011-09-02 16:42:51

Sencha ToucWeb應(yīng)用
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲乱码国产乱码精品精98午夜 | 天天艹 | 午夜免费 | 成人在线电影在线观看 | 波多野结衣中文字幕一区二区三区 | 永久看片 | 久久久久国产精品一区 | 一区欧美| 午夜丰满少妇一级毛片 | 成人免费在线 | 亚洲精品一区二三区不卡 | 亚洲国产成人精品在线 | 中文字幕一区二区三区日韩精品 | 国产精品色| 国产精品久久 | 男人的天堂久久 | 国产精品一区二区三区在线 | 欧美中文字幕在线观看 | 在线观看中文字幕视频 | 成人依人 | 中文字幕在线一区二区三区 | 亚洲精品久 | 久久99精品久久久久久琪琪 | 91婷婷韩国欧美一区二区 | 欧美三级电影在线播放 | 国产一区二区三区在线免费观看 | 国产视频精品在线观看 | 综合久久一区 | 三级免费网 | 欧美www在线观看 | 日韩精品不卡 | 激情一区二区三区 | 久久久久久久久精 | 免费观看av网站 | 中文字幕成人 | 在线精品亚洲欧美日韩国产 | 久久久久久久一区 | 久久精品影视 | 亚洲精品日韩欧美 | 国产精品久久久久久久一区探花 | 一级黄色大片 |