HTML5入門教程之HTML5新特性
最近幾年web前端開發領域最熱的話題當屬HTML5,HTML5從根本上改變了開發商開發web應用的方式,從桌面瀏覽器到移動應用,這種語言和標準都正在影響並將繼續影響著各種操作平台。
關於HTML5的介紹
html5:萬維網的核心語言、標準通用標記語言下的一個應用超文本標記語言(HTML)的第五次重大修改,網頁前端的標準書寫。
圖一
HTML5發展前景
現在的HTML5就像當年嶄露頭角時的Ajax,從發布到完善在到標準化,一步步的走來,慢慢的被大眾化所接受。2007年,蘋果在HTML5上大做文章,而著名的Web設計師Eric Meyer則提出了Web Stacks的概念。 HTML5在快速成長,值得所有人密切關注,最近的一兩年,會有很多公司進入這個領域,我們或許會在Chrome應用商店看到一些重量級廠商,我們也有希望在Google TV和Apple TV領域看到一些應用商店的出現。HTML5會像傳統的Flash,Flex,Silverlight,Objective-C那樣,形成自己的生態系統。HTML5將比Flash,Flex,Silverlight以及Objective-C更容易出現在任何設備。
圖二
圖三
那麼下面我們從以下幾方面來說以下HTML5的發展前景:
一、HTML5移動優先
隨著高端手機(Andriod、Iphone、Ipod、winphone)的盛行,移動互聯應用開發也越來越受到人們的重視,很大一部分人離開手機已經到沒法生活的地步了,移動優先已成趨勢,不管是開發什麼,都以移動為主,移動應用可以極大的方便人們的生活。所以未來HTML5應該會優先在移動設備上更多的應用。如今已經有一些大企業將HTML5應用於移動開發,表現非常出色,所以終將成為趨勢。
二、HTML5遊戲開發
HTML5是偉大的,因為它多才多藝的 - 它沒有具體針對單一的平台.更重要的是,HTML5是無所不在的. 就我所知的,它在你的PC上,你的手機上,你的平板設備上,甚至在你的廚房電器上. 在編寫HTML5遊戲的時候,你有太多選擇. 像ImpactJS框架, 皆在幫助開發遊戲的方方面面, 而像EaselJS框架主要關注圖形處理. 最後還是由你來挑選你認為最舒服的框架. 這些可能讓人摸不著頭腦, 但在JavaScript世界, 確定了框架往往意味著確定了編程風格.。
三、HTML5響應式設計
在HTML 5真的改變移動開發平台之前,必須要邁出重要一步,那就是「響應式設計」,也就是屏幕可以根據內容而自動調整大小。響應式設計考量的web站點則提供給用戶更好的體驗,無論用戶通過pc終端還是移動設計打開的站點;HTML5和css3的出現,響應式web設計在更多前段開發者的認知中被廣義的認為流暢的設計,彈性的布局設計,易於改變的布局設計,可自動適配的布局設計,垮平台的web設計等等
四、設備訪問
消除Web應用與原生應用界限的最大障礙就是瀏覽器訪問移動設備基本特性的能力,比如照相機,通訊錄,日曆,加速器等,利用HTML5實現此能力方面,Mozilla一直在努力通過移動瀏覽器Fennec來將強設備訪問能力。對許多移動開發商來說,提高設備訪問能力是HTML5最令人激動的革新,這意味著Web應用能夠登陸移動設備而無需做任何PhoneGap式打包,遊戲開發商當然最開心,因為某些特性對他們來說是封鎖的,比如能整合到遊戲中的加速器。這就開啟了另一個可能的世界,比如能與雲更好地整合併提高遊戲可玩性,有了HTML5這個平台,開發商可以不再依賴於Java語言,CSS3,HTML及其它程序語言。
HTML5的新特性
離線API
離線API是一切HTML5應用的基礎,不單單是離線數據的事,對開發者來說,擁有本地存儲(local Storage)自然很好,但如何讓程序完全離線運行?Application Cache是答案。如果不能離線保存源文件和數據,我們就無法實現離線的HTML5應用。
我們目前有幾種離線存儲機制,簡單的如localStorage和SQL存儲引擎,已經有一些瀏覽器在支持了,而最新的明星是IndexedDatabase,它得到了所有主流瀏覽器支持。這些離線保存應用和數據的能力,是HTML5的基礎,目前,Webkit,Firefox已經可以實現,而IE9也即將實現。即時IE9的支持還需要等待,想一下,最需要離線應用的場合是哪裡,自然是智能手機和上網本,智能手機多數都是用Webkit。
HTML 5語義化標籤
在HTML 5出來之前,我們用div來表示頁面章節,但是這些div都沒有實際意義。(即使我們用css樣式的id和class形容這塊內容的意義)。這些標籤只是我們提供給瀏覽器的指令,只是定義一個網頁的某些部分。但現在,那些之前沒「意義」的標籤因為因為html5的出現消失了,這就是我們平時說的「語義」。
圖五
圖六
圖六那個頁面結構沒有一個div,都是採用html5語義標籤(用哪些標籤,關鍵取決於你的設計目標)。
但是也不要因為html5新標籤的出現,而隨意用之,錯誤的使用肯定會事與願違。所以有些地方還是要用div的,就是因為div沒有任何意義的元素,他只是一個標籤,僅僅是用來構建外觀和結構。因此是最適合做容器的標籤。
W3C定義了這些語義標籤,不可能完全符合我們有時的設計目標,就像制定出來的法律不可能流傳100年都不改變,更何況它才制定沒多久,不可能這些語義標籤對所以設計目標的適應。只是一定程度上的「通用」,我們的目標是讓爬蟲讀懂重要的東西就夠了。
結論:不能因為有了HTML 5標籤就棄用了div,每個事物都有它的獨有作用的。
除此之外HTML5還新增了其他新的特性和屬性例如:canvas、智能表單、video、auido、onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload
HTML5還有更多API可以幫助開發者創建應用,這些API可以讓你的程序訪問諸如本地文件,攝像頭,SOCKET通信服務,以及硬體動畫加速等。這些API僅僅是開端,這樣的API後期會越來越多。
HTML5與SEO
一:使搜索引擎更加容易抓取和索引
對於一些網站,特別是那些嚴重依賴於FLASH的網站HTML5是一個大福音。如果你有一個都是FLASH的站點,你就一定會看到切換到HTML5的 好處。首先,搜索引擎的蜘蛛將能夠抓取你的站點和索引你的內容。所有嵌入到動畫中的內容將全部可以被搜索引擎讀取。在搜索引擎優化的基本理論中,這一方面將會驅動你的網站獲得更多的右擊流量。
二:提供更多的功能,提高用戶的友好體驗
使用HTML5的另一個好處就是它可以增加更多的功能。對於HTML5的功能性問題,我們從全球幾個主流站點對它的青睞就可以看出。社交網路大亨Facebook已經推出他們期待已久的基於HTML5的iPad應用平台,潘多拉也推出他們基於HTML5的音樂播放器的新版本。遊戲平台 Zynga也在推出了三款新的在移動設備瀏覽器上運行的基於HTML5的遊戲等等。每天都有不斷的基於HTML5的網站和HTML5特性的網站被推 出。保持站點處於新技術的前沿,也可以很好的提高用戶的友好體驗。
三:可用性的提高,提高用戶的友好體驗
最後我們可以從可用性的角度上看,HTML5可以更好的促進用戶於網站間的互動情況。多媒體網站可以獲得更多的改進,特別是在移動平台上的應用,使用 HTML5可以提供更多高質量的視頻和音頻流。到目前為止,事實就是iPhone和iPad將不會支持FLASH,同時ADOBE公司也公開聲明將 停止FLASH基於移動平台的開發,可以這麼說——移動平台日後視頻音頻是HTML5的天下!
推薦閱讀:
※初探 · HTML5語義化
※Qt 5.7使用QWebEngine載入html做UI,但運行庫卻近70M,如何能減少體積?
※怎樣自定義並使用websocket子協議?
※一旦打開就忍不住想狂點滑鼠,9 個有趣的 HTML 5 交互網站
※如何系統學習Web全棧開發?