一兩年前,HTML5似乎還是一個(gè)模糊的概念,只有少數(shù)幾個(gè)互聯(lián)網(wǎng)的書(shū)呆子才會(huì)關(guān)心。而現(xiàn)在,卻感覺(jué)仿佛HTML5無(wú)所不在了。感謝Mozilla和Chrome的快速發(fā)布,以及微軟IE9的部署(IE10現(xiàn)在也處于“技術(shù)預(yù)覽”狀態(tài)了),數(shù)量有限(或者說(shuō)比有限要更好些)的支持HTML 5的瀏覽器已將近人人皆可享受。開(kāi)發(fā)人員開(kāi)始利用那些得到廣泛實(shí)現(xiàn)的功能特性。不出1年HTML 5就將得到完全支持,而規(guī)范也正在迅速到達(dá)穩(wěn)定狀態(tài),現(xiàn)在正是了解一些HTML 5須知的好時(shí)機(jī)。
XHTML是喜歡精確,尤其是在解析方面精確的人的選擇。HTML外觀一直都有很多與XML相似的地方,但卻永遠(yuǎn)都無(wú)法跟XML一模一樣,因此,試圖把它當(dāng)做XML來(lái)解析必將失敗。因此不久前,XHTML被制定出來(lái)替代HTML語(yǔ)言,并把它歸到XML的術(shù)語(yǔ)里面。當(dāng)HTML 5的 工作首次啟動(dòng)的時(shí)候,同時(shí)也在進(jìn)行著XHTML 2的工作,但它最終還是被封存了。相反地,HTML 5規(guī)范制定出來(lái)的目的在于,讓你能夠編寫(xiě)遵循嚴(yán)格的XML語(yǔ)法的,并能工作的HTML 5文件。 如果你把它跟XML MIME類型一并發(fā)送出去的話,用戶端也會(huì)把它作為XML文檔來(lái)進(jìn)行解析。這把兩個(gè)世界最好的東西都給了開(kāi)發(fā)人員。
對(duì)于HTML 5,流傳很廣的誤解之一是“到2022年之前都不會(huì)完成”。其典型的支持證據(jù)是若干年前我對(duì)HTML 5規(guī)范的編輯蘭·希克森(Ian Hickson)的一次采訪。具有諷刺意味的是,即便是在那次采訪中,他對(duì)2022年這個(gè)日期也很明確。但是有些人對(duì)此很激動(dòng),其憤怒的文章引起的注意要比實(shí)際的事實(shí)引發(fā)的關(guān)注多得多。
事實(shí)是2022年是??松A(yù)期HTML5規(guī)范成為完全W3C推薦的日子,到那個(gè)時(shí)候?qū)?huì)有兩個(gè)100%完成的、可驗(yàn)證的實(shí)現(xiàn)。這既相當(dāng)?shù)臎](méi)有意義,同時(shí)又稱得上是一次巨大的飛躍,為了讓大家了解為什么說(shuō),可以想想,沒(méi)有其他版本的HTML規(guī)范曾經(jīng)達(dá)到過(guò)那樣的地位,這主要是因?yàn)閷?duì)于任何實(shí)現(xiàn)來(lái)說(shuō)要做到可驗(yàn)證的正確都太含糊了。而HTML 5規(guī)范正接近于固化不變,就是現(xiàn)在,2011年。
在如何用于對(duì)文檔進(jìn)行標(biāo)記方面,盡管HTML 5的確做了若干的改進(jìn),大的關(guān)注點(diǎn)仍是應(yīng)用。HTML 5所引入的用于支持應(yīng)用開(kāi)發(fā)的特性的數(shù)量是令人驚愕的。這并不是說(shuō)Flash和Sliverlight很快就會(huì)消失。但是微軟已經(jīng)宣布其對(duì)Sliverlight重新定位關(guān)注點(diǎn)為瀏覽器以外的體驗(yàn)。Flash和Silverlight仍擁有一些HTML 5不具備的能力,但是對(duì)于許多共同目標(biāo)來(lái)說(shuō),現(xiàn)在鴻溝不再了,這要?dú)w功于HTML 5的新能力。可能重寫(xiě)已有應(yīng)用并不值得,但是你應(yīng)該看看HTML 5對(duì)于新應(yīng)用來(lái)說(shuō)是否有意義。
4: 它是許多新工具的基石
隨著HTML 5成為一個(gè)完全成熟的應(yīng)用框架,工具制造商,尤其是那些設(shè)計(jì)用于克服跨平臺(tái)開(kāi)發(fā)問(wèn)題的,現(xiàn)在正把他用作其產(chǎn)品的基礎(chǔ)技術(shù)。如果你正在尋求編寫(xiě)跨平臺(tái)運(yùn)行的應(yīng)用,并且其也在HTML 5的能力范圍之內(nèi),那么你應(yīng)當(dāng)考慮一下這些工具。這對(duì)于移動(dòng)領(lǐng)域尤其重要,否則的話,對(duì)于每一個(gè)你打算作為目標(biāo)的手機(jī)平臺(tái)來(lái)說(shuō),都需要去學(xué)習(xí)全新的語(yǔ)言、API以及框架。
“HTML 5最佳新特性”我的個(gè)人之選是tag(標(biāo)簽)。之前(也有tag),你自己得求助于Flash或Silverlight來(lái)為你的網(wǎng)站提供一個(gè)媒體播放器。而有了這些新的標(biāo)簽之后,從理論上來(lái)說(shuō),那些日子一去不復(fù)返了。為什么只是“理論上”呢?令人悲哀的的是,由于專利的緣故,對(duì)于應(yīng)該支持哪種格式,不同的瀏覽器制造商尚不太能確定。而一旦塵埃落定,F(xiàn)lash和Silverlight都會(huì)失去其#1用戶案例。
如果說(shuō)似乎Chrome瀏覽器在HTML 5上有了一個(gè)極好的開(kāi)端的話,那么這里也有一個(gè)好的理由。HTML 5規(guī)范的制定進(jìn)程中給編寫(xiě)和部署代碼賦以濃彩重墨。我這么說(shuō)并不是指他們不管任何瀏覽器供應(yīng)商做了什么都會(huì)蓋上“橡皮圖章”了事。但你是很難說(shuō)服那些參與編寫(xiě)規(guī)范的人接受尚未實(shí)現(xiàn)的特性,已實(shí)現(xiàn)的特性更有可能被列入為規(guī)范新項(xiàng)目的基礎(chǔ)。由于Chrome似乎每幾周就會(huì)有一個(gè)新版本出來(lái),因此谷歌加進(jìn)去的新特性也被納入到HTML5規(guī)范里面的機(jī)會(huì)就會(huì)很大。
每當(dāng)有人宣稱某個(gè)瀏覽器是或不是“標(biāo)準(zhǔn)兼容”的時(shí)候,我都不得不笑起來(lái)。在HTML 5之前,標(biāo)準(zhǔn)兼容簡(jiǎn)直就不可能被加以證明。許多情況下,當(dāng)前的規(guī)范都太過(guò)含糊或干脆對(duì)重要問(wèn)題默不作聲(像處理解析錯(cuò)誤),結(jié)果就是不同的瀏覽器都可以做范圍很廣的不同事情,并依然要么是標(biāo)準(zhǔn)兼容的,要么是被歸類為“不兼容性無(wú)法證實(shí)”。即便是最著名的ACID測(cè)試也證實(shí)不了太多東西,由于它只測(cè)試了HTML的子集。而HTML 5的門檻則提高了不少,證明一個(gè)用戶代理是標(biāo)準(zhǔn)兼容的終于有可能了。的確,2022這個(gè)到達(dá)“建議”狀態(tài)的日期背后的其中一個(gè)原因就是需要編寫(xiě)完全測(cè)試包。
Web瀏覽器里面的標(biāo)準(zhǔn)兼容并沒(méi)有像人們通常所認(rèn)為那樣的行為,HTML 5也沒(méi)有改變這一事實(shí)。HTML的一個(gè)大的困惑是許多的Web設(shè)計(jì)者和開(kāi)發(fā)人員認(rèn)為HTML規(guī)范控制著屏幕項(xiàng)目的外觀;其實(shí)不然。舉個(gè)例子,如果它喜歡的話,Web瀏覽器可令tag使用更大或不同顏色的字體而非加粗字體,也還能保持兼容性。許多時(shí)候,當(dāng)設(shè)計(jì)者說(shuō)瀏覽器與標(biāo)準(zhǔn)不兼容的時(shí)候,其所遭遇到的實(shí)際上是賦予用戶代理的在如何顯示標(biāo)簽方面的靈活性。HTML5并沒(méi)有改變這一事實(shí)。如果你一定要讓標(biāo)簽按照精確地方式顯示,別指望瀏覽器的缺省行為,把你的需求在CSS中指定。
HTML5規(guī)范終于引入了精確解析規(guī)則,并定義了像用戶代理遭遇解析錯(cuò)誤時(shí)應(yīng)該做的事情。因此,你可以預(yù)期,過(guò)去一些習(xí)慣于被當(dāng)做可接受乃至“合法”HTML而通過(guò)的東西不再符合要求。你將會(huì)想要去熟悉HTML5的解析規(guī)則并確保你的代碼符合其要求。
在HTML之前的版本中,存在著一種與生俱來(lái)的假設(shè),那就是傳統(tǒng)的Web瀏覽器是用戶代理的選擇。盡管其他的用戶代理和內(nèi)容類型也得到了支持,隱含的想法是它們并非同等的重要。但是,針對(duì)于非瀏覽器、非桌面大小的用戶代理,HTML5在與瀏覽器更為平等地相待方面做出了很多的改變。像在屏幕閱讀器和手機(jī)上工作得有多好之類的東西取得了許多進(jìn)展。因此,對(duì)于需要它的開(kāi)發(fā)人員來(lái)說(shuō),寫(xiě)得好的HTML5是能夠“一次編寫(xiě),隨處查看”的框架,它也能夠?qū)δ切┓駝t就要與Web做斗爭(zhēng)的用戶(尤其是那些存在各種障礙的人士)起作用。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com