HTML基础知识1—WEB开发新时代
发布时间:2024-10
浏览量:64
本文字数:2389
读完约 8 分钟
WEB开发新时代
从2010年开始,HTML5和CSS3就一直是互联网技术中最受关注的两个话题。2010年MIX10大会上微软的工程师在介绍IE9时,从前端技术的角度把互联网的发展分为3个阶段:
第一阶段是以Web1.0为主的网络阶段,前端主流技术是HIML和CSS;
第二阶段是web2.0的Ajax应用阶段,热门技术是 JavaScript/DOM异步数据请求;
第三阶段是即将迎来的HTML5+CSS3阶段,这两者相辅相成,使互联网又进入了一个崭新的时代。
HTML5新特性
HTML5是基于各种全新的理念进行设计的,这些设计理念体现了对Web应用的可能性和可行性的新认识
1、兼容性
考虑到互联网上HTML文档已经存在二十多年了,因此支持所有现存HTML文档是非常重要的。HTML5不是颠覆性的革新,它的核心理念就是要保持与过去技术的兼容和过渡。一旦浏览器不支持HTML5的某项功能,针对该功能的备选行为就会悄悄运行。
2、合理性
HIML5新增加的元素都是对现有网页和用户习惯进行跟踪、分析和概括而推出的。例如, Google分析了上百万的页面,从中分析出了DIⅤ标签的通用ID名称,并且发现其重复量很大,如很多开发人员使用< div id=" header">来标记页眉区域,为了解决实际问题,HTML5就直接添加一个< header>标签。也就是说,HIML5新增的很多元素、属性或者功能都是根据现实互联网中已经存在的各种应用进行技术精炼,而不是在实验室中理想化地虚构新功能。
3、效率
HTML5规范是基于用户优先准则编写的,其宗旨是用户即上帝,这意味着在遇到无法解决的冲突时,规范会把用户放到第一位,其次是页面作者,再次是实现者(或浏览器),接着是规范制定者(W3 C/WHATWG),最后才考虑理论的纯粹性。因此,HTML5的绝大部分是实用的,只是在有些情况下还不够完美。例如,下面的几种代码写法在HTML5中都能被识别
id="prohtml5
id=prohtml5
ID="prohtml5
当然,上面几种写法比较混乱,不够严谨,但是从用户开发角度考虑,用户不在乎代码怎么写,根据个人习惯书写反而提高了代码编写效率。当然,我们并不提倡初学者一开始写代码就这样随意、不严谨。
4、安全性
为保证安全性,HTML5规范中引入了一种新的基于来源的安全模型,该模型不仅易用,而且各种不同的AP都可通用。这个安全模型可以不需要借助于任何所谓聪明、有创意却不安全的hack就能跨域进行安全对话。
5、分离
在清晰分离表现与内容方面,HTML5迈出了很大一步。HTML5在所有可能的地方都努力进行了分离,包括HTML和CSS。实际上,HTML5规范已经不支持老版本HTML的大部分表现功能了。
6、简化
HTML5要的就是简单,避免不必要的复杂性。为了尽可能简化,HTML5做了以下改进:
1)、以浏览器原生能力替代复杂的 JavaScript代码
2)、回简化的 DOCTYPE
3)、简化的字符集声明
4)、简单而强大的HTML5API
7、通用性
通用访问的原则可以分成3个概念。
1)、可访问性:出于对残障用户的考虑,HTML5与WAI(Web可访问性倡议)和ARIA(可访问的富 Internet应用)做到了紧密结合,WAI-ARIA中以屏幕阅读器为基础的元素已经被添加到HTML中。
2)、媒体中立:如果可能的话,HTML5的功能在所有不同的设备和平台上应该都能正常运行。
3)、支持所有语种:如新的<ruby>元素支持在东亚页面排版中会用到的Ruby注释。
8、无插件
在传统Web应用中,很多功能只能通过插件或者复杂的hack来实现,但在HTML5中提供了对这些功能的原生支持。插件的方式存在很多问题:
1)、插件安装可能失败。
2)、插件可以被禁用或屏蔽(如 Flash插件)
3)、插件自身会成为被攻击的对象。
4)、插件不容易与HTML文档的其他部分集成,因为存在插件边界、剪裁和透明度问题
HTML5组织
HTML5开发主要由下面3个组织负责和实施区
1)、WHATWG:由来自Appe、Mozl、 Google和 Opera等浏览器厂商的人员组成,成立于2004年。 WHATWG开发HTML和Web应用AP,同时为各浏览器厂商以及其他有意向的组织提供开放式合作。
2)、W3C:W3C下辖的HTML工作组,目前负责发布HTML5规范。
3)、IETF(因特网工程任务组):这个任务组下辖HTTP等,是负责开发Internet协议的团队。
HTML5定义的一种新API( WebSocket API)所依赖的 WebSocket协议,正由IETF工作组负责开发
HTML构成
HTML5主要包括下面这些功能。
Canvas(2D和3D)
Channel消息传送
Cross-document消息传送
Geolocation
MathML
Microdata
Server-Sent events
Scalable Vector Graphics (SVG)
WebSocket API及协议
Web Origin Concept
Web Storage
Web SQL database
Web Workers
Xml Http Request Level 2
HTML5设计原理
设计原理是Web发展背后的驱动力,也是通过HTML5反映出来的某种思维方式。软件就像所有技术一样,具有天然的独裁性。代码必然会反映作者的选择、偏见和期望。任何开放的标准,都应该追求以下几点:
简化最常见的任务,让不常见的任务不至于太麻烦
只为80%设计
给内容创建者最大的权力
默认设置智能化
在制定设计原理时,很多人用了很多时间却抓不住重点,因为他们想取悦所有人。关键在于我们不是要取悦所有人,而是要明确哪些人是最重要的。
意大利经济学家帕累托提出“世界上20%的人口拥有80%的财富”。这个比例又暗合了自然界各个领域的幂律分布现象。总之,无论是编写软件,还是制造什么东西,都是一样的,即20%的努力可以触及80%的用例,最后20%的用例则需要付出80%甚至更多的努力。因此,有时候据此确定只为80%设计是很合理的,因为我们知道为此只要付出20%的努力即可。