我一直都有一個很大的缺點:我喜歡新技術,但是如果不是工作需要或者有項目需要,我很難將其深入,即便我認為我很喜歡這門技術,三分鐘的熱情很快就消失殆盡。這其中包含android和html5的學習,雖然我依舊很喜愛它們,但是就是無法深入,我一直都沒有意識到這個問題的重要性。直到... 我的簡歷上有寫了解html5,每次面試幾乎都有人會問到html5的相關知識,稍微問的多一點我就很吃力了。一次又一次的打擊,我覺得我有必要改變一下我的這個學習習慣了,一切貴在堅持,我需要重新好好學習一下html5并堅持下去!好了,不吐槽了。進入正題。
html5到底有什么用?它與html4有什么區別?它帶給了我們什么好處?
之前我的回答可能是:
1. 更炫的頁面展示
2. 更多的語義化標簽,方便以后機器人的搜索啊只能分析什么的
3. 強大的本地存儲,構建豐富的本地化應用
我的回答到底對不對呢,難道html5就只有這些亮點嗎?恩,我需要通過網絡在進行一個初步的學習,讓我看到html5的美,html5的強大。
與html4對比,html5主要提供了一些新的并且十分有趣的特性:
新的語義化標簽如header footer article section nav 等等
更完善的增強型表單控件如date email url等
用于繪畫的canvas元素
用于多媒體播放的video和audio元素
更強大的本地離線存儲
增強的網絡通信,在服務器與本地應用之間建立持續連接的WebSocket接口
運行后臺進程的Web Worker
地理位置定位功能
......
我列出來的雖然不多,但從我的理解我覺得這已經很強大了,下面我逐個分析
語義化標簽:對用戶來講,通過與css3的結合,在可用性和用戶體驗上得到較大的提升;對于開發人員來講,新增的這些標簽增強了對標簽語義的描述,可以讓開發人員更簡單高效的頁面,也方便維護;對于網站主來講,當涉及到網站的抓取和索引的時候,對于SEO很友好。
增強型控件:采用內置的方式,減少了依賴java代碼的必要性
canvas: 這個不用說了,js游戲開發人員笑的合不攏嘴。
多媒體元素:呃,這個強大了。現在,大多數的視頻播放都是通過flash插件來顯示的,html5只需要很簡單的方式就可以實現視頻的播放,還不用任何插件。特別是現在愛瘋愛怕的的流行,移動終端不支持flash,html5視頻的優勢就體現出來了,各大視頻網站都競相退出了自己的html5視頻,例如騰訊視頻,新浪視頻,搜狐視頻的ipad專區。對于用戶來說,不需要安裝插件就可以看視頻,更方便快捷;對于開發者來說,開發更加簡單,以前各大公司可能都需要開發自己的flash播放器,現在利用html5可以很方便設計自己的播放器。
本地存儲: 更強大的本地存儲,讓我們開發web本地應用成為一種可能。隨著現在智能手持終端設備的大火,更是給了html5本地存儲一個大大的發揮空間。
WebSocket : WebSocket讓我們曾經極為頭疼的服務器推技術變得簡單。因為它,服務器端和客戶端可以指定的任意時刻內相互推送消息,并且允許跨域通信。
Web Worker:提供一個java多線程解決方案。
地理位置定位:Geolocation API,可以在移動云服務中使用智能手機定位功能。
說了這么多的優點,但其實html5也有很多缺點,比如運行效率,性能這一塊(相對native應用),而且還有現在并沒有什么瀏覽器可以完全支持html5的所有功能,仍然存在許多的不兼容不支持的問題,但是這有什么大不了的呢。。我就是愛它嘛!我相信html5會讓web變得更美好,雖然那一天還沒到來。