Html5 學習系列(一)認識HTML5


引言,認識兩個標准制定的組織

        在講什么是Html5之前得先了解兩個組織;WHATWG :網頁超文本技術工作小組(英語:Web Hypertext Application Technology Working Group,縮寫為WHATWG),是一個以推動網絡 HTML 5 標准為目的而成立的組織。在2004年,由OperaMozilla基金會蘋果這些瀏覽器廠商和一些相關團體形成的一個松散的、非正式的協作組織,這些團體希望發展一些新的技術,從而開發人員可以在互聯網上編寫並部署應用。 另外一個就是大家熟悉的W3C :萬維網聯盟(World Wide Web Consortium,W3C),又稱W3C理事會,它主要是為解決web應用中不同平台、技術和開發者帶來的不兼容問題,保障Web信息的順利和完整流通,萬維網聯盟制定了一系列標准並督促Web應用開發者和內容提供者遵循這些標准。標准的內容包括使用語言的規范,開發中使用的導則和解釋引擎的行為等等。W3C也制定了包括XMLCSS等的眾多影響深遠的標准規范。

那什么是HTML5呢?

         HTML 5草案的前身名為Web Applications 1.0,是在2004年WHATWG提出,再於2007年W3C接納,並成立了新的HTML工作團隊。在2008年1月22日,第一份正式草案發布。WHATWG表示該規范是目前仍在進行的工作,仍須多年的努力。目前FirefoxGoogle ChromeOperaSafari(版本4以上)、Internet Explorer 9已支援HTML5技術。 

HTML5本質並沒有對之前HTML4版本的規范進行徹底的變革,更令人欣喜的是,HTML5一開始設計就考慮了跟之前的標准進行兼容。而且把最新的WEB開發的一些新技術新的規范引入進了新版本的標准中。那么它的本質是什么呢?其實HTML5的發展就是html,css,jsapi的發展,用另外一句話解釋就是:HTML5=HTML+CSS+JSAPI。

HTML5帶給我們的是什么呢?

1、讓Web再次回歸到富客戶端地步,而且更加的獨立,減少了對第三方插件的依賴。

     比如:之前的HTML4的標准中並沒有對於視頻、音頻以及其他的富客戶端技術支持的非常好,這就使得Flash和SilverLight變得異常的成功。而在HTML5新標准中原生的就支持音頻、視頻、畫布等技術。讓我們的WEB程序擁有更多富客戶端表現的方式,而且讓我們的WEB程序更加獨立,更好的適應多種形式的客戶端。

2、對本地離線存儲的更好的支持 

     由於之前想在客戶端保存一些數據都是由 cookie 完成的。但是 cookie 不適合大量數據的存儲,因為它們由每個對服務器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。 

HTML5 提供了兩種在客戶端存儲數據的新方法:

  • localStorage - 沒有時間限制的數據存儲
  • sessionStorage - 針對一個 session 的數據存儲

在 HTML5 中,數據不是由每個服務器請求傳遞的,而是只有在請求時使用數據。它使在不影響網站性能的情況下存儲大量數據成為可能。

對於不同的網站,數據存儲於不同的區域,並且一個網站只能訪問其自身的數據。

HTML5 使用 JavaScript 來存儲和訪問數據。有了本地數據庫的支持,讓一些簡單的離線應用也成為了可能。 

3、新的特殊內容元素,更好的支持SEO以及方便視障人士使用

     現在所有的站點基本上都是Div+CSS布局,幾乎所有的文章標題、內容、輔助介紹等都用Div容器來承載。搜索引擎在抓取頁面內容時,因為沒有明確的容器的含義只能去猜測這些標簽容器承載的是文章標題還是文章內容等,HTML5新標准中直接添加了擁有具體含義的HTML標簽比如:article、footer、header、nav、section 

4、更加智能的表單標簽

     之前的表單標簽,僅僅是簡單的類型的約束,比如文本框、文本域、下拉列表等,而跟業務結合緊密的表單標簽數據校驗等控制都沒有很好的支持,而是用這些技術都基本上都是跟第三方的JS控件進行結合使用,但是這些第三方總會涉及到版本控制、瀏覽器兼容性、非標准等一系列的問題,而在HTML5的標准中直接添加了智能表單,讓這一切都變得那么的簡單,比如 calendar、date、time、email、url、search。

5、HTML5即時二維繪圖 ,也就是畫布的引入,讓Javascript子彈飛

     畫布的引入使得:Web端生成動畫效果、制作Web游戲、更好的交互體驗設計都增加了無限的變數,當社區充斥着亂七八糟超炫的HTML5的JS控制的效果的時候,讓人無限的贊嘆。HTML5 的canvas 元素使用JavaScript 在網頁上繪制圖像。畫布是一個矩形區域,您可以控制其每一像素。

canvas 擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。

6、JS嗑葯了,支持多線程

     在不影響UI update 及 瀏覽器與用戶交互的情況下, 前端做大規模運算,只能通過 setTimeout 之類的去模擬多線程 。而新的標准中,JS新增的HTML5 Web Worker對象原生的就支持多線程。 

7、WebSockets讓跨域請求、長連接、數據推送等一切都變得那么簡單,Web不僅僅是Ajax

      WebSockets是在一個(TCP)接口進行雙向通信的技術,PUSH技術類型。WebSocket是html5規范新引入的功能,用於解決瀏覽器與后台服務器雙向通訊的問題,使用WebSocket技術,后台可以隨時向前端推送消息,以保證前后台狀態統一,在傳統的無狀態HTTP協議中,這是“無法做到”的。  

8、更好的異常處理

      HTML5(text/html)瀏覽器將在錯誤語法的處理上更加靈活。HTML5在設計時保證舊的瀏覽器能夠安全地忽略掉新的HTML5代碼。與HTML4.01相比,HTML5給出了解析的完整規則,讓不同的瀏覽器即使在發生語法錯誤時也能返回完全相同的結果。 

9、文件API讓文件上傳和操縱文件變得那么簡單

      由於項目中經常遇到用Web應用中控制操作本地文件,而之前都是使用一些富客戶端技術比如flash,ActiveX,Silverlight等技術,面對文件JS就是個shit,就是個雞肋。在HTML5的新的提供的FHTML5 File API 讓JS可以輕松上陣了。

10、編輯、拖放、微數據、瀏覽歷史管理、地理信息接口API、設備硬件操作API等很多的新功....

HTML5的未來?

       當然HTML5不是孤立的,Javascript API的增強,讓JS變成異常強大的未來的編程武器。CSS3帶給未來Web應用也是極大的新的挑戰。相信由於HTML5標准化的支持,相信未來Web技術真正的可以跑在任何的端,也讓我們的Web應用更加的獨立,更加的輕松的融入到各個端中,HTML5 就是未來!

總結:

        通過上面HTML5的新特點,不難總結出HTML5=Javascript+HTML+CSS。HTML5的新特性帶給開發者的是更友好更豐富的本地處理的API,更智能的更優雅的HTML標簽,更強的本地處理的功能,通信也進一步加強。Google很早之前就意識到了,客戶只要擁有一個瀏覽器就可以了,相信不久的將來現在的Web的應用不在對本地處理那么雞肋,CS形式的客戶端相信也會越來越少。

        作為開發者,當Adobe公司宣布放棄Flash,把最大的精力放到HTML5的開發上的時候,那你可能會看到這些趨勢,當微軟選擇了HTML5而放棄了Silverlight繼續升級的時候,那你基本上也沒有什么好選擇的了。HTML5的發力,的確帶給我們每個開發者都帶來了機會。

當然以上只是筆者的觀點,每個人都有閱讀新技術的角度,歡迎大家轉載討論。

我參與的厚德IT團隊也同步更新,希望大家關注。(厚德IT專注於IT最新技術分享

此文章在另外一個blog同步:http://www.cnblogs.com/houodeit/archive/2012/05/22/2513655.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM