HTML5的發(fā)展越來(lái)越邁向成熟,很多的應(yīng)用已經(jīng)逐漸出現(xiàn)在你我日常生活中了,不只讓傳統(tǒng)網(wǎng)站上的互動(dòng)Flash逐漸的被HTML5的技術(shù)取代,更重要的是可以透過(guò)HTML5的技術(shù)來(lái)開(kāi)發(fā)跨平臺(tái)的手機(jī)軟件,讓許多開(kāi)發(fā)者感到十分興奮! 當(dāng)你開(kāi)始想要學(xué)習(xí)、試圖想要投入相關(guān)的開(kāi)發(fā)時(shí),由于HTML5的技術(shù)還在持續(xù)發(fā)展、進(jìn)化當(dāng)中,學(xué)習(xí)的資源也都比較零散,較難有一個(gè)整體的方向。在本篇文章中,筆者將會(huì)介紹HTML5的主要技術(shù)組成,并且提供一些學(xué)習(xí)資源讓大家參考。 HTML5到底是什么? 一般廣義而言的HTML5則包含了HTML、CSS和JavaScript三個(gè)部分,不單單只是HTML部分而已,CSS 3和JavaScript也有許多的創(chuàng)新,讓整個(gè)網(wǎng)頁(yè)程序功能更加繽紛。 HTML5的技術(shù)組成 脫機(jī)功能 HTML5透過(guò)JavaScript提供了數(shù)種不同的脫機(jī)儲(chǔ)存功能,相對(duì)于傳統(tǒng)的Cookie而言有更好的彈性以及架構(gòu),并且可以?xún)?chǔ)存更多的內(nèi)容。 WebStorage: 比 Cookies 更大、更有彈性的的儲(chǔ)存 Web SQL Database: 本地端的SQL數(shù)據(jù)庫(kù) Indexed DB: Key-value 的本地?cái)?shù)據(jù)庫(kù) Application Cache: 將部分常用的網(wǎng)頁(yè)內(nèi)容cache起來(lái) 實(shí)時(shí)通訊 以往網(wǎng)站由于HTTP協(xié)議以及瀏覽器的設(shè)計(jì),實(shí)時(shí)的互動(dòng)性相當(dāng)?shù)氖芟?,只能使用一些技巧?lái)「仿真」實(shí)時(shí)的通訊效果,但HTML5提供了完善的實(shí)時(shí)通訊支持。 WebSocket: 實(shí)時(shí)的socket聯(lián)機(jī) Web Workers: 以往 JavaScript 都是 singlethread,透過(guò) Worker 可以有多個(gè)運(yùn)算 Notifications: 原生的提示訊息,類(lèi)似像OSX的Growl提示 檔案以及硬件支持 不知道大家有沒(méi)有發(fā)現(xiàn),在Gmail等新的網(wǎng)頁(yè)程序當(dāng)中,已經(jīng)可以透過(guò)拖拉的方式將檔案作為郵件附件?這就是這部份HTML5檔案的功能中的Dragn Drop和File API。 Dragn Drop: HTML元素的拖拉 File API: 讀取用戶(hù)本機(jī)計(jì)算機(jī)的內(nèi)容 Geolocation: 地理定位 Deviceorientation: 手持裝置的方向 Speech input: 語(yǔ)音輸入 語(yǔ)義化 語(yǔ)義化的網(wǎng)絡(luò)是可以讓計(jì)算機(jī)能夠更加理解網(wǎng)頁(yè)的內(nèi)容,對(duì)于像是搜索引擎的優(yōu)化(SEO)或是推薦系統(tǒng)可以有很大的幫助。 New tags: 新的標(biāo)簽,像是 header、 section等 Application tags: 也是新的標(biāo)簽,像是meter、 progress等 Microdata: 加入語(yǔ)義的數(shù)據(jù)讓搜索引擎等網(wǎng)站可以正確顯示 Form type: form可以加入的type便多了,包含email和tel等屬性,瀏覽器會(huì)協(xié)助進(jìn)行數(shù)據(jù)格式的驗(yàn)證 多媒體 Audio、Video的卷標(biāo)支持以及Canvas的功能應(yīng)該是大家對(duì)于HTML5最熟悉的部份了,也是許多人認(rèn)為Flash會(huì)被取代的主要原因。 Audio video: 影片和音樂(lè)的原生播放支持 Canvas: 2D的繪圖功能支持 Canvas 3D: 3D的繪圖功能支持 SVG: 向量圖支援 CSS 3 CSS3支持了字體的嵌入、版面的排版,以及最令人印象深刻的動(dòng)畫(huà)功能。 Selector: 更有彈性的選擇器 Webfonts: 嵌入式字體 Layout: 多樣化的排版選擇 Stlying radius gradient shadow: 圓角、漸層、陰影 Border background: 邊框的背景支持 Transition: 組件的移動(dòng)效果 Transform: 組件的變形效果 Animation: 將移動(dòng)和變形加入動(dòng)畫(huà)支持 JavaScript 在比較JavaScript的基本面也新增了DOM的API、和瀏覽器上下頁(yè)的紀(jì)錄修改。 DOM API: 更方便的查詢(xún)DOM組件 History API: 瀏覽器的上下頁(yè)內(nèi)容修改,方便AJAX可以保留瀏覽記錄 現(xiàn)在就開(kāi)始用HTML5 截至目前而言,主流的網(wǎng)頁(yè)瀏覽器Firefox 5、Chrome 12和Safari 5都已經(jīng)支持了許多的HTML5標(biāo)準(zhǔn),而且目前最新版的IE 9也支持了許多HTML5標(biāo)準(zhǔn),隨著使用者陸續(xù)升級(jí)到新版的瀏覽器,開(kāi)發(fā)者應(yīng)該在現(xiàn)在就可以著手開(kāi)發(fā)! 而對(duì)于舊的瀏覽器兼容性而言,先前撰文介紹過(guò)的CSS3 Pie便是一個(gè)讓舊版瀏覽器也能支持CSS 3功能的JavaScript函數(shù)庫(kù)。 而Modernizer也是一個(gè)相當(dāng)重要的JavaScript函數(shù)庫(kù),提供開(kāi)發(fā)者輕松的方式判別目前使用者的瀏覽器是否有支持特定的HTML5功能。 學(xué)習(xí)資料推薦 圖書(shū):《HTML5揭秘》和“HTML5秘籍” http://pan.baidu.com/share/link?shareid=4002926059&uk=2643324962(復(fù)制到網(wǎng)址欄打開(kāi))
|
|
來(lái)自: 新華書(shū)店好書(shū)榜 > 《「編程教程」》