HTML5的主要技术到底是什么?
新手入门必知的问题,今天小雀来解答。
HTML5到底是什么?
一般广义而言的HTML5则包含了HTML、CSS和JavaScript三个部分,不单单只是HTML部分而已,CSS3和JavaScript也有许多的创新,让整个网页程序功能更加缤纷。
HTML5的技术组成
脱机功能
HTML5透过JavaScript提供了数种不同的脱机储存功能,相对于传统的Cookie而言有更好的弹性以及架构,并且可以储存更多的内容。
WebStorage:比Cookies更大、更有弹性的的储存
WebSQLDatabase:本地端的SQL数据库
IndexedDB:Key-value的本地数据库
ApplicationCache:将部分常用的网页内容cache起来
实时通讯
以往网站由于HTTP协议以及浏览器的设计,实时的互动性相当的受限,只能使用一些技巧来「仿真」实时的通讯效果,但HTML5提供了完善的实时通讯支持。
WebSocket:实时的socket联机
WebWorkers:以往JavaScript都是singlethread,透过Worker可以有多个运算
Notifications:原生的提示讯息,类似像OSX的Growl提示
档案以及硬件支持
不知道大家有没有发现,在Gmail等新的网页程序当中,已经可以透过拖拉的方式将档案作为邮件附件?这就是这部份HTML5档案的功能中的DragnDrop和FileAPI。
DragnDrop:HTML元素的拖拉
FileAPI:读取用户本机计算机的内容
Geolocation:地理定位
Deviceorientation:手持装置的方向
Speechinput:语音输入
语义化
语义化的网络是可以让计算机能够更加理解网页的内容,对于像是搜索引擎的优化(SEO)或是推荐系统可以有很大的帮助。
Newtags:新的标签,像是header、section等
Applicationtags:也是新的标签,像是meter、progress等
Microdata:加入语义的数据让搜索引擎等网站可以正确显示
Formtype:form可以加入的type便多了,包含email和tel等属性,浏览器会协助进行数据格式的验证
多媒体
Audio、Video的卷标支持以及Canvas的功能应该是大家对于HTML5*熟悉的部份了,也是许多人认为Flash会被取代的主要原因。
Audiovideo:影片和音乐的原生播放支持
Canvas:2D的绘图功能支持
Canvas3D:3D的绘图功能支持
SVG:向量图支援
CSS3
CSS3支持了字体的嵌入、版面的排版,以及*令人印象深刻的动画功能。
Selector:更有弹性的选择器
Webfonts:嵌入式字体
Layout:多样化的排版选择
Stlyingradiusgradientshadow:圆角、渐层、阴影
Borderbackground:边框的背景支持
Transition:组件的移动效果
Transform:组件的变形效果
Animation:将移动和变形加入动画支持
JavaScript
在比较JavaScript的基本面也新增了DOM的API、和浏览器上下页的纪录修改。
DOMAPI:更方便的查询DOM组件
HistoryAPI:浏览器的上下页内容修改,方便AJAX可以保留浏览记录
现在就开始了解HTML5吧,
对于在职码农来讲,这是作为编程人员的基本素养。
对于新手入门来讲,HTML5带来的虽然有挑战,更多的是机会。