首頁(yè)技術(shù)文章正文

Web前端開發(fā)培訓(xùn)之HTML5新手入門指南

更新時(shí)間:2017-06-21 來源:黑馬程序員web前端開發(fā)培訓(xùn)學(xué)院 瀏覽量:

HTML5的發(fā)展越來越邁向成熟,很多的應(yīng)用已經(jīng)逐漸出現(xiàn)在你我日常生活中了,不只讓傳統(tǒng)網(wǎng)站上的互動(dòng)Flash逐漸的被HTML5的技術(shù)取代,更重要的是可以透過HTML5的技術(shù)來開發(fā)跨平臺(tái)的手機(jī)軟件,讓許多開發(fā)者感到十分興奮!

      當(dāng)你開始想要學(xué)習(xí)、試圖想要投入相關(guān)的開發(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透過JavaScript提供了數(shù)種不同的脫機(jī)儲(chǔ)存功能,相對(duì)于傳統(tǒng)的Cookie而言有更好的彈性以及架構(gòu),并且可以儲(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起來

  實(shí)時(shí)通訊

  以往網(wǎng)站由于HTTP協(xié)議以及瀏覽器的設(shè)計(jì),實(shí)時(shí)的互動(dòng)性相當(dāng)?shù)氖芟?,只能使用一些技巧來「仿真」?shí)時(shí)的通訊效果,但HTML5提供了完善的實(shí)時(shí)通訊支持。

  • WebSocket: 實(shí)時(shí)的socket聯(lián)機(jī)
  • Web Workers: 以往 JavaScript 都是 single thread,透過 Worker 可以有多個(gè)運(yùn)算
  • Notifications: 原生的提示訊息,類似像OS X的Growl提示

  檔案以及硬件支持

  不知道大家有沒有發(fā)現(xiàn),在Gmail等新的網(wǎng)頁(yè)程序當(dāng)中,已經(jīng)可以透過拖拉的方式將檔案作為郵件附件?這就是這部份HTML5檔案的功能中的Dragn Drop和File API。

  • Dragn Drop: HTML元素的拖拉
  • File API: 讀取用戶本機(jī)計(jì)算機(jī)的內(nèi)容
  • Geolocation: 地理定位
  • Device orientation: 手持裝置的方向
  • Speech input: 語音輸入

  語義化

  語義化的網(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: 加入語義的數(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: 影片和音樂的原生播放支持
  • Canvas: 2D的繪圖功能支持
  • Canvas 3D: 3D的繪圖功能支持
  • SVG: 向量圖支援

  CSS 3

  CSS3支持了字體的嵌入、版面的排版,以及最令人印象深刻的動(dòng)畫功能。

  • Selector: 更有彈性的選擇器
  • Webfonts: 嵌入式字體
  • Layout: 多樣化的排版選擇
  • Stlying radius gradient shadow: 圓角、漸層、陰影
  • Border background: 邊框的背景支持
  • Transition: 組件的移動(dòng)效果
  • Transform: 組件的變形效果
  • Animation: 將移動(dòng)和變形加入動(dòng)畫支持

  JavaScript

  在比較JavaScript的基本面也新增了DOM的API、和瀏覽器上下頁(yè)的紀(jì)錄修改。

  • DOM API: 更方便的查詢DOM組件
  • History API: 瀏覽器的上下頁(yè)內(nèi)容修改,方便AJAX可以保留瀏覽記錄

  現(xiàn)在就開始用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í)到新版的瀏覽器,開發(fā)者應(yīng)該在現(xiàn)在就可以著手開發(fā)!

  而對(duì)于舊的瀏覽器兼容性而言,先前撰文介紹過的CSS3 Pie便是一個(gè)讓舊版瀏覽器也能支持CSS 3功能的JavaScript函數(shù)庫(kù)。

  而Modernizer也是一個(gè)相當(dāng)重要的JavaScript函數(shù)庫(kù),提供開發(fā)者輕松的方式判別目前使用者的瀏覽器是否有支持特定的HTML5功能。





本文版權(quán)歸黑馬程序員web前端開發(fā)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員web前端培訓(xùn)學(xué)院;
首發(fā):http://web.itheima.com/ 

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!