2021-4-10 | 通信技術(shù)
1引言
HTML(HyperTextMarkupLanguage,超文本標(biāo)記語言)是為網(wǎng)頁創(chuàng)建和其它可在網(wǎng)頁瀏覽器中看到的信息設(shè)計(jì)的一種標(biāo)記語言。早在1991年,TimBerners-Lee編寫了一份叫做“HTML標(biāo)簽”的文檔,里面包含了大約20個(gè)用來標(biāo)記網(wǎng)頁的HTML標(biāo)簽。這為Web的誕生與發(fā)展奠定了基礎(chǔ)。隨后不到10年的時(shí)間中,HTML先后由IETF,W3C制定發(fā)布了2.0,3.0,4.0多個(gè)升級(jí)版本,特別是1999年底W3C發(fā)布的4.01版本是之后10多年來,Web上沿用至今的HTML標(biāo)準(zhǔn)規(guī)范。這期間,HTML始終作為一種Web頁面的信息編輯于呈現(xiàn)語言而存在。直到2008年,HTML5第一版草案發(fā)布之后,HTML的主要功能與使命才發(fā)生了一次變革性的飛躍———W3C宣布其未來數(shù)年的愿景為構(gòu)建以HTML5為核心的下一代開放Web應(yīng)用平臺(tái)。
2移動(dòng)終端HTML5Web應(yīng)用的技術(shù)架構(gòu)
HTML5標(biāo)準(zhǔn)由W3C與WHATWG聯(lián)合開發(fā)制定,目前已基本成型,預(yù)計(jì)將于今年成為W3C的候選標(biāo)準(zhǔn)。而通常所說的HTML5Web應(yīng)用技術(shù)規(guī)范,是指廣義上一系列的HTML5,CSS以JavaScriptAPI擴(kuò)展規(guī)范所構(gòu)成一個(gè)Web應(yīng)用平臺(tái)體系。新的HTML5系列技術(shù)提供了增強(qiáng)了的富媒體、富內(nèi)容功能,特別是加入了適合構(gòu)建移動(dòng)Web應(yīng)用的富應(yīng)用特性(見圖1)。從技術(shù)功能上看,HTML5Web平臺(tái)所涉及的技術(shù)規(guī)范大致可歸類為圖形、多媒體、設(shè)備適配、表格、用戶交互、數(shù)據(jù)存儲(chǔ)、個(gè)人信息管理、硬件集成、網(wǎng)絡(luò)、通信、封裝、性能與優(yōu)化等方面。這些技術(shù)功能基本上構(gòu)成了一個(gè)完整的、以終端瀏覽器為應(yīng)用運(yùn)行平臺(tái)的HTML5Web應(yīng)用的技術(shù)架構(gòu)(見圖2)。在移動(dòng)終端的Web應(yīng)用運(yùn)行環(huán)境中,其核心部分為終端瀏覽器運(yùn)行引擎,其中又包括Web核心引擎和JavaScriptAPI擴(kuò)展兩大模塊。Web核心引擎主要負(fù)責(zé)Web應(yīng)用代碼中的HTML,CSS,JavaScript腳本,加載、處理、渲染頁面布局以及其中的文本、圖像、視頻、音頻等多媒體元素;而JavaScriptAPI擴(kuò)展則完成Web應(yīng)用中所調(diào)用的API的具體功能調(diào)用執(zhí)行,通過終端系統(tǒng)能力、網(wǎng)絡(luò)交互能力將通用的Web應(yīng)用API接口功能在終端上實(shí)現(xiàn)。后面章節(jié)將主要針對(duì)這兩大模塊所涉及的技術(shù)功能,結(jié)合W3C的HTML5Web應(yīng)用的一系列現(xiàn)有標(biāo)準(zhǔn)規(guī)范工作,分析目前移動(dòng)終端上HTML5Web應(yīng)用的技術(shù)能力架構(gòu)。
3終端Web應(yīng)用的核心Web技術(shù)標(biāo)準(zhǔn)
3.1圖像
(1)2D矢量圖形(SVG,ScalableVectorGraphics)
SVG提供一套基于XML的標(biāo)記語言用于描述二維矢量圖形。由于圖像是由一組幾何圖形構(gòu)成的,它們能夠按照用戶的需求任意縮放,因此非常適合在屏幕尺寸受限的移動(dòng)設(shè)備上的開發(fā)。它們也很容易被動(dòng)畫化,可創(chuàng)建非常高級(jí)、平滑的用戶界面。SVG為HTML5帶來了新的可能性,例如將高級(jí)圖像過濾效果通過SVG過濾器應(yīng)用在多媒體內(nèi)容上。相應(yīng)標(biāo)準(zhǔn):SVGTiny1.2,SVG2.0。
(2)2D編程性
API作為對(duì)SVG所提供的描述性方式的補(bǔ)充,HTML5中的<canvas>元素提供了一套2D編程性的API,非常適于以內(nèi)存低耗用的方式處理圖像。該API不僅可以渲染圖像,也能夠用于進(jìn)行圖片處理和分析。相應(yīng)標(biāo)準(zhǔn):HTMLCanvas2DContext。
(3)CSS圖像樣式效果
SVG和HTML都能夠使用CSS(CascadingStyleSheets,層疊樣式表)進(jìn)行排版;特別是CSS3,作為一套規(guī)范集合,提供了大量的新特征,使得創(chuàng)建圖像效果更加簡便,如圓角、復(fù)雜的背景圖片、陰影效果、旋轉(zhuǎn)內(nèi)容、動(dòng)畫、3D效果等。
相應(yīng)標(biāo)準(zhǔn):
●圓角、復(fù)雜的背景圖片、陰影效果:CSSBack-groundsandBorders。
●2D變換:CSS2DTransformsModuleLevel3。
●3D效果:CSS3DTransformsModuleLevel3。
●動(dòng)畫效果:CSSAnimationsModuleLevel3,CSSTransitionsModuleLevel3,TimingControlforScript-basedAnimationsAPI。
(4)可下載的字體集
好的字體對(duì)于構(gòu)建吸引人的圖形界面起到重要作用,但移動(dòng)設(shè)備發(fā)行時(shí)通常只有有限的字體集合。WOFF(WebOpenFontFormat)可以便捷地通過樣式表自動(dòng)下載字體,同時(shí)保持下載字體集的大小僅限于渲染界面實(shí)際所需。相應(yīng)標(biāo)準(zhǔn):WOFFFileFormat1.0。
3.2多媒體
媒體播放
HTML5通過添加<video>和<audio>這兩個(gè)標(biāo)簽,顯著的提升了Web頁面對(duì)多媒體內(nèi)容的集成。這兩個(gè)標(biāo)簽分別允許嵌入視頻和音頻內(nèi)容,讓W(xué)eb開發(fā)者能夠擺脫插件,而更加自由的與這些媒體內(nèi)容交互。相應(yīng)標(biāo)準(zhǔn):HTML5videoelement,HTML5audioelement。
3.3設(shè)備適配
移動(dòng)設(shè)備不僅與傳統(tǒng)的電腦差別迥異,而且彼此之間也有許多不同。比如屏幕尺寸、分辨率、鍵盤類型、媒體攝錄能力等。
(1)設(shè)備信息:DeviceDescriptionRepositoryAPI,一個(gè)統(tǒng)一的服務(wù)器側(cè)的API,允許Web開發(fā)者從眾多的設(shè)備信息數(shù)據(jù)庫中,獲取正在訪問他們網(wǎng)站的設(shè)備的配置信息數(shù)據(jù)。
(2)基于CSS的適配:CSSMediaQueries,提供了一套機(jī)制允許Web頁面根據(jù)一些設(shè)備特性(包括屏幕分辨率)適配布局和行為。CSSDeviceAdaptation定義了一套CSS指令,參照所持設(shè)備的尺寸,指定每個(gè)布局所適用的尺寸。
3.4表單
在大多數(shù)基于Web的應(yīng)用中,使用HTML構(gòu)建豐富的表格是用戶輸入的基礎(chǔ)。由于有限的鍵盤,在移動(dòng)設(shè)備上的文本輸入對(duì)大多數(shù)用戶來說還是件麻煩的事情。HTML5通過提供新的表格控制模式,優(yōu)化用戶輸入數(shù)據(jù)的方式,而部分地解決這個(gè)問題:
(1)時(shí)日和時(shí)間實(shí)體:HTML5DateandTimeStateofInput元素,能夠利用專門的表單控件(如<inputtype=“date”>)而直接調(diào)用本地的日歷控件。