HTML5技術介紹以及優缺點概要
HTML5技術介紹以及優缺點概要
根據W3C的發言稿稱:“HTML5是開放的Web網絡平臺的奠基石。”這種跨平臺的網頁程序環境通常被稱之為“Web標準”的保護傘。HTML5以及JavaScript和CSS相關技術能夠讓開發者在任何設備上都運行開發豐富的網頁應用,并且會有越來越多的企業加入到HTML 5的大平臺上來。
據統計2013年全球將有10億手機瀏覽器支持HTML5,同時HTML Web開發者數量將達到200萬。從如今層出不窮的移動應用就知道,在這個智能手機和將平板電腦大爆炸的時代,移動優先已成趨勢,不管是開發什么,都以移動為主。毫無疑問,HTML5將成為未來5-10年內,移動互聯網領域的主宰者。
對于Web端而言,HTML5將是一個完整的操作系統。它在不同的底層系統之上,借助于瀏覽器的實現,封裝了統一標準的API允許開發的程序跨設備(PC or Mac or Smart Phone),跨平臺 (Windows,MacOS,iOS,Android,whatsoever)的運行。最大的好處,就是一處開發,多處使用。Web端的開發而言,你可以盡情的享受HTML5這種統一封裝帶來的好處,唯一要等待的就是瀏覽器對其支持的完善。但這種完善的到來,無疑是確定的。
一、HTML5技術優點
HTML5本身是由W3C推薦出來的,它的開發是通過谷歌、蘋果,諾基亞、中國移動等幾百家公司一起醞釀的技術,這個技術最大的好處在于它是一個公開的技術。換句話說,每一個公開的標準都可以根據W3C的資料庫找尋根源。另一方面,W3C通過的HTML5標準也就意味著每一個瀏覽器或每一個平臺都會去實現。
來自網易博客博主獨行冰海從未來發展、用戶、開發者和搜索引擎方面進行了闡述,很好的解釋了HTML5的優勢。
首先,從未來發展來說,2012年Adobe主動放棄移動端Flash技術支持,轉向HTML5,國內百度、騰訊等蜂擁與W3C組織合作,宣布參與HTML5標準定制,來自各方面的力量(包括瀏覽器、開發者、用戶等)共同推動HTML5向前發展。據Gartner 公司分析,HTML 5 技術的廣泛應用可能還需要 5 到 10 年的時間。對于一門技術來說,可以說,還有一個很大的提升與發展空間。
對于用戶來說,提高了用戶體驗,加強了視覺感受。HTML5技術在移動端,能夠讓應用程序回歸到網頁,并對網頁的功能進行擴展,用戶不需要下載客戶端或插件就能夠觀看視頻、玩游戲,操作更加簡單,用戶體驗更好。HTML5的視音頻新技術解決了移動端蘋果和安卓4.0+,對flash的支持問題。在視音頻方面,性能表現比flash要更好。網頁表現方面,HTML5中的CSS3特效樣式、Canvas、webgl的介入,不僅加強了網頁的視覺效果,甚至能夠使用戶在網頁當中看到三維立體特效。
對于開發者來說,HTML5技術跨平臺,適配多終端。傳統移動終端上的Native App,開發者的研發工作必須針對不同的操作系統進行,成本相對較高。Native App對于用戶還存在著管理成本、存儲成本以及性能消耗成本。HTML/JavaScript/CSS語言所開發的應用只要一次開發就能進入所有瀏覽器進行分發。即使是走傳統的App Store應用商店渠道,只需要再將底層用HTML5開發的應用“封裝”為App,從時間和資金成本上講遠小于跨系統移植。
對于搜索引擎來說,HTML5新增的標簽,使搜索引擎更加容易抓去和索引網頁,從而驅動網站獲得更多的點擊流量【2】。
綜上總結概HTML5有以下優點:
1、提高可用性和改進用戶的友好體驗;
2、有幾個新的標簽,這將有助于開發人員定義重要的內容;
3、可以給站點帶來更多的多媒體元素(視頻和音頻);
4、可以很好的替代FLASH和Silverlight;
5、當涉及到網站的抓取和索引的時候,對于SEO很友好;
6、將被大量應用于移動應用程序和游戲。
二、HTML5缺點
移動瀏覽器的編程模型還是90年代流行的單進程單線程 (single process single thread),但原生實現(比如用Object C)的APP可以用多線程。移動端編寫APP,可以使用多個線程,第一個線程,被稱作主線程(main thread),編程的第一原則是don’t do heavy work on main thread。通常只讓它處理UI事件等,其他重度的工作讓其他背景線程來做。但瀏覽器只有一個線程,所有的事情都是它干。在臺式機上,瀏覽器編程還沒有太多問題,因為夠快;但在移動端,這個弊端很明顯。
例如比如你在用瀏覽器看朋友的照片,你發的評論被發到服務器端,此時你接著用手指往下拉屏;此時,服務器端返回信息,評論發布成功,瀏覽器中唯一的線程可能停止處理屏幕滾動(scrolling)而來處理服務器的返回信息,由于移動設備的處理器(尤其單進程瀏覽器只能用上單核,即使是多核手機!)和內存(處于省電原因使用低耗電的DDR1,這一點和現在PC使用的DDR3相差甚遠)的不給力,完全可能造成滾動處理的不連續。通常手機的刷新率是60MHZ,即每一幀不超過15ms;如果處理的延時大大超過15ms,那么就會出現跳幀,肉眼就能看出來。結果如果你的APP是相對靜態的,不需要很多對于照片,多點觸摸,多向拉動的處理,那完全可以用HTML5來實現;如果不是,比如信息流的展示,游戲等等,最好還是用原生的去實現。(HTML5實現已經是50%以上的iOS APP的選擇。我相信處理能力的提升,將讓移動設備的處理不給力帶來的體驗底下得到改善。而這種處理能力的提高,很大程度上將取決于低耗電高性能CPU/內存的出現,或者電池技術的極大改善。在這一天到來之前,有可能10%的APP無法應用HTML5來實現。并不表示它安全網絡應用開發工程師們在學習新技術的同時需要時刻記住網絡安全。HTML5所構建的網頁和其他語言編寫的網頁一樣容易泄露一些敏感數據。歐洲網絡信息安全機構(European Network and Information Security Agency,ENISA)已經警告說HTML5可能并不夠安全。
2013年3月,HTML5編程語言的一個漏洞被發現:它允許網站利用數GB垃圾數據對用戶展開轟炸,甚至會在短時間內將硬盤塞滿。多款主流瀏覽器均會受此影響。
另外HTML5聲音處理是個問題,聲音顯然在游戲開發中占據重要位置。但遺憾的是,這是HTML5的一大缺陷所在。該平臺的可用API相比原生應用環境略遜一籌。
Zynga德國工作室的Paul Bakaus特別提到此缺點。“HTML5面臨的首個挑戰是聲音,這需要進行修復。這是非常簡單的道理。我們無法解決此聲音問題,是吧?聲音是杰出作品的必備要素。這是當前的最大挑戰,但我不會因此就說要停止制作這類游戲。”
他解釋表示,在他看來網頁開發者未來將修復這些聲音問題,但要讓這變成現實,還需若干必要條件。
他表示,“解決聲音問題有兩個要點。一點在于我們,就像我之前提到的,我們需要讓供應商意識到這個問題,所以我們需要制作游戲,我們需要告訴他們我們游戲存在的缺點;
另一方面,我們需要讓供應商承認這是個問題,然后尋找解決方式。我看到大家關注這個技術的圖像問題甚于聲音問題,這是我最大的擔憂。作為技術供 應商,你不會真正從游戲領域的角度思考問題,是吧?你不會發現聲音是制作杰出游戲必不可少的要素。我們需要讓他們意識到此問題。”【3】
HTML5是web開發世界的一次重大的改變,事實上不管你是否喜歡,它都是代表著未來趨勢,不論是桌面應用還是移動應用,HTML5都是創新的主旋律。
【1】 劉杰 淺談HTML5技術 科技創新導報[D] 2012
【2】 獨行冰海 HTML5技術的優勢 網易博客 2013
【3】 劉菲菲 七個特點告訴你 HTML5技術到底怎么樣 中關村在線 2012