什么是HTML5
1. 什么是HTML5
HTML 5草案的前身名為Web Applications 1.0,是在2004年由WHATWG提出,再于2007年獲W3C接納,并成立了新的HTML工作團(tuán)隊(duì)。在2008年1月22日,第一份正式草案發(fā)布。WHATWG表示該規(guī)范是目前仍在進(jìn)行的工作,仍須多年的努力。目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer 9已支援HTML5技術(shù)。
HTML5本質(zhì)并沒有對之前HTML4版本的規(guī)范進(jìn)行徹底的變革,而是一開始設(shè)計就考慮了跟之前的標(biāo)準(zhǔn)進(jìn)行兼容,并且把最新的WEB開發(fā)的一些新技術(shù)新的規(guī)范引入進(jìn)了新版本的標(biāo)準(zhǔn)中。
2. HTML5新特性
2.1 新增擁有具體含義的標(biāo)簽
現(xiàn)在所有的站點(diǎn)基本上都是div+css布局,幾乎所有的文章標(biāo)題、內(nèi)容、輔助介紹等都用div容器來承載。搜索引擎在抓取頁面內(nèi)容時,因?yàn)闆]有明確的容器的含義只能去猜測這些標(biāo)簽容器承載的是文章標(biāo)題還是文章內(nèi)容等。HTML5新標(biāo)準(zhǔn)中直接添加了擁有具體含義的HTML標(biāo)簽比如:<article>、<footer>、<header>、<nav>、<section>
2.2 新增更加智能的表單類型
之前的表單標(biāo)簽僅僅是簡單的類型的約束,比如文本框、文本域、下拉列表等。而跟業(yè)務(wù)結(jié)合緊密的表單標(biāo)簽數(shù)據(jù)校驗(yàn)等控制都沒有很好的支持,基本上都是跟第三方的JS控件進(jìn)行結(jié)合使用,但是這些第三方總會涉及到版本控制、瀏覽器兼容性、非標(biāo)準(zhǔn)等一系列的問題。而在HTML5的標(biāo)準(zhǔn)中直接添加了智能表單,讓這一切都變得那么的簡單,比如?calendar、date、time、email、url、search
2.3 讓W(xué)eb程序更加的獨(dú)立,減少了對第三方插件的依賴。
在HTML5標(biāo)準(zhǔn)中原生的就支持音頻、視頻、畫布等技術(shù)。讓W(xué)EB程序更加獨(dú)立,更好的適應(yīng)多種形式的客戶端。
2.4 對本地離線存儲的更好的支持
HTML5 提供了兩種在客戶端存儲數(shù)據(jù)的新方法:
localStorage?- 沒有時間限制的數(shù)據(jù)存儲
sessionStorage?- 針對一個 session 的數(shù)據(jù)存儲
2.5 HTML5即時二維繪圖 ,既畫布的引入
HTML5 的canvas元素使用 JavaScript 在網(wǎng)頁上繪制圖像。并擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。
2.6 JS支持多線程
在不影響UI update及瀏覽器與用戶交互的情況下, 前端做大規(guī)模運(yùn)算,只能通過?setTimeout?之類的去模擬多線程 。而新的標(biāo)準(zhǔn)中,JS新增的HTML5 Web Worker對象原生的就支持多線程。
2.7 WebSockets讓跨域請求、長連接、數(shù)據(jù)推送變得簡單
WebSockets是在一個(TCP)接口進(jìn)行雙向通信的技術(shù),PUSH技術(shù)類型。WebSocket是html5規(guī)范新引入的功能,用于解決瀏覽器與后臺服務(wù)器雙向通訊的問題,使用WebSocket技術(shù),后臺可以隨時向前端推送消息,以保證前后臺狀態(tài)統(tǒng)一,在傳統(tǒng)的無狀態(tài)HTTP協(xié)議中,這是“無法做到”的。
2.8 更好的異常處理
HTML5(text/html)瀏覽器將在錯誤語法的處理上更加靈活。HTML5在設(shè)計時保證舊的瀏覽器能夠安全地忽略掉新的HTML5代碼。與HTML4.01相比,HTML5給出了解析的完整規(guī)則,讓不同的瀏覽器即使在發(fā)生語法錯誤時也能返回完全相同的結(jié)果。
2.9 文件API讓文件上傳和操縱文件變得那么簡單
由于項(xiàng)目中經(jīng)常遇到用Web應(yīng)用中控制操作本地文件,而之前都是使用一些富客戶端技術(shù)比如flash,ActiveX,Silverlight等技術(shù)。在HTML5的新的提供的?HTML5 File API?讓JS可以輕松上陣了。
在后續(xù)將帶領(lǐng)大家更深入地了解HTML5