認識html5新特性成為一個合格的web前端開發(fā)工程師! html5草案的前身名為Web Applications 1.0,是在2004年由WHATWG提出,再于2007年獲W3C接納,并成立了新的html工作團隊。在2008年1月22日,第一份正式草案發(fā)布。 WHATWG表示該規(guī)范是目前仍在進行的工作,仍須多年的努力。目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer 9已支援html5技術(shù)。
1、讓Web再次回歸到客戶端地步,而且更加的獨立,減少了對第三方插件的依賴。
比如:之前的html4的標準中并沒有對于視頻、音頻以及其他的富客戶端技術(shù)支持的非常好,這就使得Flash和SilverLight變得異 常的成功。而在html5新標準中原生的就支持音頻、視頻、畫布等技術(shù)。讓我們的WEB程序擁有更多富客戶端表現(xiàn)的方式,而且讓我們的WEB程序更加獨 立,更好的適應(yīng)多種形式的客戶端。
2、對本地離線存儲的更好的支持
由于之前想在客戶端保存一些數(shù)據(jù)都是由 cookie 完成的。但是 cookie 不適合大量數(shù)據(jù)的存儲,因為它們由每個對服務(wù)器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。
html5提供了兩種在客戶端存儲數(shù)據(jù)的新方法:
localStorage - 沒有時間限制的數(shù)據(jù)存儲
sessionStorage - 針對一個 session 的數(shù)據(jù)存儲
在 html5中,數(shù)據(jù)不是由每個服務(wù)器請求傳遞的,而是只有在請求時使用數(shù)據(jù)。它使在不影響網(wǎng)站性能的情況下存儲大量數(shù)據(jù)成為可能。
對于不同的網(wǎng)站,數(shù)據(jù)存儲于不同的區(qū)域,并且一個網(wǎng)站只能訪問其自身的數(shù)據(jù)。
html5使用 Java 來存儲和訪問數(shù)據(jù)。有了本地數(shù)據(jù)庫的支持,讓一些簡單的離線應(yīng)用也成為了可能。
3、新的特殊內(nèi)容元素,更好的支持SEO以及方便視障人士使用
現(xiàn)在所有的站點基本上都是Div+CSS布局,幾乎所有的文章標題、內(nèi)容、輔助介紹等都用Div容器來承載。搜索引擎在抓取頁面內(nèi)容時,因為沒 有明確的容器的含義只能去猜測這些標簽容器承載的是文章標題還是文章內(nèi)容等,html5新標準中直接添加了擁有具體含義的html標簽比 如:article、footer、header、nav、section
4、更加智能的表單標簽
之前的表單標簽,僅僅是簡單的類型的約束,比如文本框、文本域、下拉列表等,而跟業(yè)務(wù)結(jié)合緊密的表單標簽數(shù)據(jù)校驗等控制都沒有很好的支持,而是 用這些技術(shù)都基本上都是跟第三方的JS控件進行結(jié)合使用,但是這些第三方總會涉及到版本控制、瀏覽器兼容性、非標準等一系列的問題,而在html5的標準 中直接添加了智能表單,讓這一切都變得那么的簡單,比如 calendar、date、time、email、url、search。
5、html5即時二維繪圖 ,也就是畫布的引入,讓Java子彈飛
畫布的引入使得:Web端生成動畫效果、制作Web游戲、更好的交互體驗設(shè)計都增加了無限的變數(shù),當社區(qū)充斥著亂七八糟超炫的html5的JS 控制的效果的時候,讓人無限的贊嘆。html5的canvas 元素使用Java 在網(wǎng)頁上繪制圖像。畫布是一個矩形區(qū)域,您可以控制其每一像素。
canvas 擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。
6、JS嗑藥了,支持多線程
在不影響UI update 及 瀏覽器與用戶交互的情況下, 前端做大規(guī)模運算,只能通過 setTimeout 之類的去模擬多線程 。而新的標準中,JS新增的HTML5 Web Worker對象原生的就支持多線程。
7、WebSockets讓跨域請求、長連接、數(shù)據(jù)推送等一切都變得那么簡單,Web不僅僅是Ajax
WebSockets是在一個(TCP)接口進行雙向通信的技術(shù),PUSH技術(shù)類型。WebSocket是html5規(guī)范新引入的功能,用于解 決瀏覽器與后臺服務(wù)器雙向通訊的問題,使用WebSocket技術(shù),后臺可以隨時向前端推送消息,以保證前后臺狀態(tài)統(tǒng)一,在傳統(tǒng)的無狀態(tài)HTTP協(xié)議中, 這是“無法做到”的。
8、更好的異常處理
html5 (text/html)瀏覽器將在錯誤語法的處理上更加靈活。html5在設(shè)計時保證舊的瀏覽器能夠安全地忽略掉新的html5代碼。與HTML4.01相比,html5給出了解析的完整規(guī)則,讓不同的瀏覽器即使在發(fā)生語法錯誤時也能返回完全相同的結(jié)果。
9、文件API讓文件上傳和操縱文件變得那么簡單
由于項目中經(jīng)常遇到用Web應(yīng)用中控制操作本地文件,而之前都是使用一些富客戶端技術(shù)比如flash,ActiveX,Silverlight 等技術(shù),面對文件JS就是個shit,就是個雞肋。在html5的新的提供的FHTML5 File API 讓JS可以輕松上陣了。
10、編輯、拖放、微數(shù)據(jù)、瀏覽歷史管理、地理信息接口API、設(shè)備硬件操作API等很多的新功....
html5的未來?
當然html5不是孤立的,Java API的增強,讓JS變成異常強大的未來的編程武器。CSS3帶給未來Web應(yīng)用也是極大的新的挑戰(zhàn)。相信由于html5標準化的支持,相信未來Web技 術(shù)真正的可以跑在任何的端,也讓我們的Web應(yīng)用更加的獨立,更加的輕松的融入到各個端中,html5就是未來!
總結(jié):
通過上面html5的新特點,不難總結(jié)出html5=Java+HTML+CSS。html5的新特性帶給開發(fā)者的是更友好更豐富的本地處理的API,更智能的更優(yōu)雅的html標簽,更強的本地處理的功能,通信也進一步加強。
Google很早之前就意識到了,客戶只要擁有一個瀏覽器就可以了,相信不久的將來現(xiàn)在的Web的應(yīng)用不在對本地處理那么雞肋,CS形式的客戶端相信也會越來越少。