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