如果大家還沒有意識到,那我們先要強調(diào)一句——Web世界已經(jīng)徹底改變了。時至今日,網(wǎng)絡(luò)銀行、實時視頻聊天以及短視頻共享已經(jīng)成為Web領(lǐng)域的立足根基,而接下來還將有更多極具突破性的趨勢及成果不斷涌現(xiàn)。正因為如此,這一根基才需要迎接進一步升級。
超文本標記語言(簡稱HTML)正是瀏覽器所使用的語言。作為原本立足于面向文檔的標準通用標記語言(簡稱SGML)的衍生產(chǎn)物,HTML在其早期的四個版本中只需要滿足最初學(xué)術(shù)性用戶對于Web功能的需求。但隨著用戶對于各類功能的進一步渴望——從安全加密傳輸?shù)揭曨l媒體——API、SDK、插件庫以及外部應(yīng)用程序全部被融入到了HTML當中,從而在最大程度上迎合個人及企業(yè)用戶對Web提出的要求。因此2004年,Web超文本應(yīng)用技術(shù)工作組(簡稱WHATWG)開始著手構(gòu)建一套新的HTML版本,這就是HTML 5。
2014年10月28日,萬維網(wǎng)聯(lián)盟(簡稱W3C)——此前曾聯(lián)手WHATWG共同開發(fā)出相關(guān)標準——發(fā)布了作為穩(wěn)定推薦版本的HTML 5方案,換言之這套方案已經(jīng)“徹底完成”。現(xiàn)在我們已經(jīng)能夠立足于自身系統(tǒng),充分享受由HTML 5所帶來的種種便利。
但這些便利具體包括什么呢?實際效果可能取決于大家到底身為開發(fā)人員抑或是普通用戶。對于開發(fā)人員而言,HTML 5能夠顯著簡化大家的日常工作——相較于HTML 4.1及以下版本而言,這是因為后者包含大量我們早已棄之不用的插件及額外內(nèi)容。這絕對是件好事,不過從短期角度出發(fā),我們?nèi)匀恍枰剂科渌恍┖罄m(xù)問題。
對用戶來說,日常生活則會得到簡化,這是因為由上述插件所帶來的安全漏洞及兼容性問題將不復(fù)存在,因此我們再也用不著為了正常瀏覽網(wǎng)絡(luò)內(nèi)容而積累豐富的安全經(jīng)驗。此外,瀏覽器的使用體驗也將被拓展到更多設(shè)備平臺之上,這將使得桌面設(shè)備與移動設(shè)備擁有更為統(tǒng)一的觀看感受。誰不喜歡這樣呢,對吧?
值得著重強調(diào)的是,HTML 5是一套尚處于早期發(fā)展階段的標準。這意味著其前進道路上還將迎來多次飛躍,并將沿途帶來諸多驚喜。正是考慮到這一點,我們認為它能夠切實幫助整個業(yè)界以新的方式完成Web頁面的構(gòu)建工作。
如果大家本身正是HTML 5編程人員,那么前面提到的內(nèi)容對您來說肯定屬于陳詞濫調(diào)了——而且大家當然也會希望能從我們這得到點更加新鮮有料的消息。希望各位能在評論欄中闡述您的體會與規(guī)劃,相信這一切都將成為HTML 5向HTML 5.1進化的重要信息依托(這一升級將從明年正式開始)。好了,閑言少敘,咱們馬上進入正題。
HTML5是一種新型語言
從HTML到HTML 4.2,HTML的每一次迭代都以SGML為基礎(chǔ)——也就是由IBM公司在上世紀六十年代開發(fā)出的這款文檔描述語言。盡管HTML一直在不斷發(fā)展演進,但其最為根本的出發(fā)點始終保持不變。然而如今這一情況得到了扭轉(zhuǎn)。HTML 5是一種全新語言,不再立足于SGML。對于Web用戶來說,這不會對他們的正常使用產(chǎn)生任何影響——大部分普通用戶可能根本沒聽說過SGML,也不知道以此為基礎(chǔ)會對HTML產(chǎn)生怎樣的影響。不過對于開發(fā)人員而言,這意味著多年來在常用標簽以及功能領(lǐng)域建立起的“肌肉記憶”需要再次更新甚至從頭學(xué)習(xí)。這倒并不一定是件壞事,不過請各位記住,我們必須要在最后期限之前完成適應(yīng)與學(xué)習(xí),否則就會被歷史的洪流所吞沒。
好消息是,HTML 5仍然能夠向下兼容其它早期HTML版本,因此去年才剛剛開始的代碼編寫工作仍然能夠在今年提供正常的頁面顯示效果。這種延續(xù)性確實值得稱道,不過根據(jù)經(jīng)驗,我們可以想見會有不少企業(yè)由于懶得升級而繼續(xù)停滯不前。千萬別這么做:不要再依賴于剪切加粘貼了,請從頭開始重新開發(fā)新的HTML 5代碼。事實最終會證明,這才是最明智的應(yīng)對之道。
我們需要一款新的瀏覽器
還記得我們剛剛提到過的HTML 5向下兼容能力吧?這種兼容能力的確存在,但需要注意的是,面向HTML 4以及更早版本打造的瀏覽器方案將無法與HTML 5順利對接。如果大家所在的企業(yè)一直將某套早期特定瀏覽器版本作為標準(沒錯,那些仍然在堅持使用IE瀏覽器早期版本的朋友,批評的就是你),那么HTML 5已經(jīng)發(fā)出了沖鋒的號角——是時候馬上動手推動升級工作了。
目前的各大主流瀏覽器版本都支持HTML 5。它們在安全水平與可靠性方面也要比早期版本好得多。所以馬上作出規(guī)劃,別再坐以待斃啦!
新的瀏覽器折衷途徑
好的,如果您(或者您所在企業(yè)的CIO)對于采用“全新瀏覽器”始終保持固執(zhí)的態(tài)度,那么咱們也可以通過折衷的辦法加以解決。大家可以在早期HTML代碼當中將HTML 5代碼定義為塊元素,并將HTML 5元素插入其中。這確實能夠奏效,甚至效果還相當不錯。但我敢肯定,大家自己對此不會太滿意。
只要有合理的原因作為依托,大家完全可以通過以上方式暫解燃眉之急——無需升級即可擁抱HTML 5,簡直機智!除非……
大家仍然堅持使用IE 8之前的陳舊瀏覽器版本。在這種情況下,各位一定會遇到麻煩,因為微軟公司并不允許我們在樣式當中定義未知代碼。在這種情況下,JavaScript也能夠起到折衷的作用(大家在搜索引擎中輸入‘HTML 5’再加上‘the siv’即可),但這無疑會讓問題更為復(fù)雜,而且我們都知道最終會帶來怎樣的結(jié)果——對吧?
視頻播放更加輕松
在HTML 4上實現(xiàn)視頻播放實在令人有些抓狂。這并不是說大家不知道該如何解決,但最糟糕的是僅有的幾種可能性解決辦法沒有一樣能夠依靠語言本身來完成。換言之,所有工作都得依托于插件。雖然在大多數(shù)情況下,我們最終也能得到預(yù)期的效果,但相信每位朋友——無論是開發(fā)人員還是普通用戶——都曾在瀏覽器上看到由視頻引發(fā)的沮喪小臉圖標,這代表著某款插件出了問題、需要更新或者暫時不可用。
HTML 5能夠避免上述所有問題,因為現(xiàn)在視頻能夠作為媒體類型在語言內(nèi)部直接加以定義。打算在自己的頁面當中引入一段視頻?在HTML 5中完成這項工作,其難度跟在HTML 4中插入一幅靜態(tài)圖片差不多。如果大家曾經(jīng)花過大量時間研究如何向可定制視頻播放器里添加代碼,那么如今輕松易行的HTML 5視頻頁面編寫方式絕對能讓您長出一口惡氣。而對于普通用戶來說,這些可愛的短視頻內(nèi)容也將擁有更為穩(wěn)定的播放效果。
現(xiàn)在HTML 5面對的幾個主要問題是:并不是所有瀏覽器都能夠為任何視頻媒體類型提供支持。不過總體而言,只要大家堅持使用新的WebM視頻格式,那么整個開發(fā)流程應(yīng)該不會遇到任何阻礙。
動畫已被包含于其中
不知道還有多少朋友記得自己為了在Web頁面當中加入酷炫的動畫效果而被迫學(xué)習(xí)Flash?如果大家沒有接觸過Flash,那就必須得跟專門的設(shè)計人員進行配合——后者會在原本穩(wěn)定的頁面當中加入大段神秘代碼,而這有可能引發(fā)各類潛在問題。不過痛苦的時光已經(jīng)過去,如今幾乎每個人(包括Adobe公司在內(nèi))都對HTML 5的新能力感到振奮。
HTML 5當中包含有我們在頁面內(nèi)創(chuàng)建動畫效果時所需要的全部功能。大家甚至可以在無需引入任何外部代碼的前提下實現(xiàn)復(fù)雜的3D動畫,這一點非常值得稱道。此外,與早先的實現(xiàn)方式相比,如今的內(nèi)置功能也把安全性與可靠性水平推向了新的高度。很顯然,對于每一位開發(fā)人員來說,安全性與可靠性都跟開發(fā)成果的自身品質(zhì)緊密相關(guān)。
另一大進步:我們用不著再考慮自己的頁面會顯示在哪些設(shè)備之上了。任何一款支持HTML 5的瀏覽器都能在全部設(shè)備上正常顯示各位精心設(shè)計出的動畫效果。
視頻通話全面來臨
動畫效果當然很酷,不過基于瀏覽器的視頻通話與協(xié)作模式如今亦可通過名為WebRTC(即Web實時通信)的協(xié)議得到實現(xiàn)——這幾乎從根本上改變了游戲規(guī)則。盡管并不嚴格隸屬于HTML 5協(xié)議范疇,但HTML 5瀏覽器確實能夠發(fā)揮WebRTC所帶來的功能優(yōu)勢。
想象一下,只需要三行代碼即可為自己的網(wǎng)站帶來視頻會議功能——這是多么令人振奮的目標。不是做夢,現(xiàn)在我們已經(jīng)可以通過WebRTC實現(xiàn)這一點。不過由于尚處于早期發(fā)展階段,WebRTC仍然存在幾個尚未解決的問題。首先就是其中的一項安全漏洞有可能影響到某些VPN。另外就是,WebRTC實際上是一套點到點系統(tǒng)——其調(diào)用不一定需要經(jīng)由中央服務(wù)器。雖然這樣的設(shè)計能夠有效降低數(shù)據(jù)中心的實際負荷,但卻有可能給全局網(wǎng)絡(luò)流量帶來難以控制的影響。這要么會帶來大量小型數(shù)據(jù)流,要么會讓未考慮到此類狀況的網(wǎng)絡(luò)規(guī)劃模型面臨沉重的傳輸負擔(dān)。
但這個問題幾乎肯定能夠得到解決,因為WebRTC極具現(xiàn)實意義,業(yè)界根本不可能忽略其核心價值之上的這一點點瑕疵。將其引入HTML 5代碼庫,協(xié)作與客戶支持工作將成為Web開發(fā)當中毫不費力即可完成的任務(wù)。
古董級語言仍能正常起效
.……而且我們也需要這樣的結(jié)果。從JavaScript到Python,我們?nèi)匀恍枰褂眠@些工具來接入數(shù)據(jù)庫、完成復(fù)雜的操作與處理流程、并對現(xiàn)實世界中的設(shè)備進行操控。它們也依舊能與HTML 5順暢協(xié)作,從而繼續(xù)為廣大開發(fā)人員及普通用戶效力。現(xiàn)在,我們需要對與這些語言相關(guān)的標簽進行認真核對——因為大部分標簽都在HTML 5當中經(jīng)過了修改。但歸根結(jié)底,它們?nèi)匀挥行А?/p>
不過大部分瀏覽器插件以及我們過去已經(jīng)習(xí)慣的外部工具就沒那么好運了,特別是那些負責(zé)處理富媒體對象的方案。好消息是,HTML 5如今單靠自身就能實現(xiàn)全部媒體類型的原生處理,因此大家也將因此節(jié)約下可觀的時間與精力。
設(shè)備平臺差異仍然不容忽視
如果能夠宣布HTML 5已然解決了由不同屏幕尺寸以及功能差異所帶來的各類問題,我們當然會為之振奮——但遺憾的是,實際情況并非如此。雖然我們已經(jīng)能夠以前所未有的方式在不同設(shè)備之間順暢往來,但開發(fā)人員仍然無法保證自己在臺式機屏幕上設(shè)計出的頁面成果同樣能在智能手機上擁有良好表現(xiàn)。不同瀏覽器與設(shè)備平臺之間存在著巨大差異,特別是在HTML 5兼容水平方面。頁面將依舊需要查詢?yōu)g覽器及設(shè)備類型,而后再載入對應(yīng)的方案及版本。對不起,現(xiàn)實就是這么殘酷……
HTML5全面針對移動設(shè)備
前面剛剛提到,我們?nèi)匀恍枰J真思考用戶在查看頁面時實際使用的設(shè)備類型。而作為老牌語言家族的新成員,HTML 5當然也很清楚如今世界正逐步向移動平臺傾斜。有了HTML 5,大家用不著再將移動設(shè)備當成是被全面閹割過的二等公民——我們完全可以編寫動態(tài)代碼,并使其在相當一部分移動設(shè)備的屏幕之上得到正常顯示。
好消息是,我們向頁面當中添加的全部要素,從視頻到動畫再到動態(tài)尺寸元素,在理論上都能夠得到良好顯示——即使某些設(shè)備上的顯示尺寸偶爾有些奇怪。
那么最終結(jié)論是什么?別忙著拋棄自己的設(shè)備測試流程,也別想當然地認為每個人都會像咱們自己一樣,在27寸顯示器上查看Web頁面。正如Steve Martin的經(jīng)典語錄,“讓我們從小處著手。”
HTML5相當復(fù)雜,但這是件好事
相較于HTML 4甚至是Flash,HTML 5都顯得有些復(fù)雜甚至不易親近。但這是件好事,因為這意味著HTML 5擁有充足的力量與功能,足以成為企業(yè)客戶在構(gòu)建基于瀏覽器的復(fù)雜而強大的應(yīng)用程序時所需依靠的頁面描述語言。這才是看待HTML 5的正確方式——它更像是一種應(yīng)用程序語言,而非單純的頁面描述語言。
目前網(wǎng)絡(luò)上有成百上千個相關(guān)站點,能夠幫助大家學(xué)習(xí)HTML 5的對應(yīng)知識,另有大量專業(yè)培訓(xùn)機構(gòu)也為我們準備了理想的教程方案。從現(xiàn)在開始,HTML 5開始定義Web的未來發(fā)展方向,正如HTML當初定義網(wǎng)站頁面之時一樣。
大家是否已經(jīng)準備好迎接HTML 5的降臨了?您是否已經(jīng)開始學(xué)習(xí)這一新型語言?希望各位能在評論欄中談?wù)勛约旱那闆r。您的所見所想,包括您對于HTML 5的評價——無論好壞——都將極具參考價值。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com