admin 管理员组

文章数量: 887006

HTML5到底是什么?

前言:一旦你了解了HTML5,你就会改变审视web的方式。byBrett McLaughlin

HTML5:每个人都使用HTML5,但是没有人知道HTML5到底是什么。我知道这听起来像在说一个脱节的电影—也许是Waiting for Godot或者是Sartre的电影剧本—而不是关于HTML5的声明。但是这的确是事实,大多数人把HTML5当成是HTML4+,或者更糟,HTML4(其中的一些功能他们根本不用)。那结果是什么呢?HTML5肯定会带来的根本改变延期了。当然,这还没到转移视线的时候,因为当你回头看的时候,你可能已经错过了真正重要的东西:HTML5正面临着一个微妙但是重要的转变。

在这篇文章中,我想用更深入的眼光审视一下HTML5.首先我要提出一个论点,这个论点有非常复杂的重要性:HTML5是个全新的东西,并且没有什么之前的东西可以比拟。一旦你真正了解了HTML5,你就会改变编码,审视web和你自己的web应用的方式。

回归首要原则

HTML一直是互联互通的。早在很久之前,那时候电子元件远没有现在这么火热,也没有所谓的“house音乐”,滚石乐队还没有享受到医疗保险。当时web全是大量的巨型文件。事实上,这和现在的情况恰好相反,现在多数人认为改进版的电子书就是电子封面和拷贝的纸质版图书的内容。
90年代,一个文件中,网页都是15页的规格。看这些文件就像在翻一本百科全书。HTML的早期版本旨在解决这个问题,大家普遍认为这个问题损害了网页的可读性和可用性。这主要是因为Tim Berners-Lee,公认的HTML之父,是研究人员的倡导者(主要是CERN)。如果你了解一个搞研究的人,就会知道简洁不是他们的优点,所以在线阅读大型文件是必要的,但是翻阅一个15页-(或者1500-)的文件不是个长久之计。
因此不久之前,HTML不再是主要用很多格式来显示那些文件。HTML是由很多标签组成的。这些标签使一个文档链接到另一个文档。这样15页的文档 一下子就变成了15个一页的文档,它们链接在一些。告别频繁翻页的时代,迎来了有价值的链接时代。这都是标准配置,如果其中一些内容对你来说很陌生,那接下来的内容将会很快深入进去。

HTML5:仍然是链接

快进到现在,HTML5的主要功能仍然是把所有内容链接在一起。只是现在,我们开始意识到对HTML的最初的设想,并不只是把含有静态图片的超文本链接在一起。因此HTML5中引进的音频和视频元素不过是旧元素的一个逻辑扩展。


(注:更准确地说,音频和视频替代了对象和数年前人们需要手动加进去的嵌入式代码,这些代码大多数是从YouTube或者Vimeo中提取出来的。尽管如此,那些元素运行起来看起来更像是页面中的元素,而不是把你带到另一个页面。换句话说,就是图片元素也不过是个内链元素:它从别处抓取内容,并把该内容放到页面上。这就是所谓的链接,也就是HTML到底是什么:把东西链接在一起)

因此你现在可以直接在文件中加入图片,音频和视频。更重要的是,由于这些元素有一级元素,你可以通过JavaScript来操纵这些音频和视频。这一点的意义非常重大,稍后我会重新说到这。简而言之,比起不易得到的元素来说,这种第一阶元素总是鼓励更多的编程访问。

因此,虽然音频和视频元素很新,但是他们的功能却不是新的。HTML5允许你把更多的内容整合到一个文件中,同时这些内容的保持整体性和独立性。这仅仅是确认文件的目录不会长时间停留在一个页面的页尾处,而保持其独立性,并进行简易维护,能够和页面的其他部分整合在一起。

现在,在你继续往下读之前,你需要认识到,抓取音频和视频,并把它放到HTML页面中并不很重要,重要的是你可以更容易地获取“其他内容”,并它放到页面中。也许最终有20到25种元素远远超过了“音频”和“视频”,基本前提仍然是相同的:重要的是不同地方的不同内容可以有意义地结合在一起,通过语义元素描述的这些“内容”可以通过JavaScript访问。事实上,在HTML5中,“其他元素”刚好是音频和视频的几率比较小,并且非常偶然。

HTML的链接主要是针对新型的丰富的媒体

这意味着什么呢?为什么其影响力如此之大?主要有三方面的原因:

1.Web网页看上去(或运行起来)不再需要像网页。在过去几年里,Flash的崛起已经在很大程度突破了HTML的“限制”。Flash最开始侧重于动画和炫酷的视觉效果显示。很快所有网站都开始使用Flash,允许添加不同类型的导航和页面的组织结构,使用更丰富的编程访问网页的各个部分,并能够避免JavaScript的尖锐化。(在这儿,我会忽略那些有关Flash栈存在尖锐化的专制评论)

2.Web网页不再需要代表一个人或一个组织。即使web程序员和设计师一直在别的网站拿图,根据资源所有权,网页都是同质的。现在的网页的确是有个人的言论,图片,专栏等等。甚至像Vimeo和YouTube这样的网站都被用作私人存储空间的扩展,而不是一个允许全世界访问真正免费的媒介。

3.Web网页可以在任何显示设备上智能运行。MOBILE是HTML5的重心所在。.实际情况是,HTML5有大量的移动设备做后盾,而是,移动设备不再是个问题儿童。换句话说,真实的情况是运行在桌面浏览器上的程序几乎全部能够在手机上运行。(“几乎全部”没有覆盖到的范围逐星期缩小,因此这里就不一一列出了,以免下个月又过时了。)换言之,手机和平板是一等公民,他们都能够访问这些链接。事实上,可能说除了链接内容以外,HTML5打算把所有的设备连接起来……但是它是不是为web应用做出了巨大贡献是有争议的。

HTML5引进了---虽然还不是完全支持—一个规范,这个规范消除多有的限制。首先,HTML5和CSS3为JavaScript提供一个相当可靠的工作集,该工具集包含了工具和效果,可以和大部分Flash网站相提并论。我可以在一个星期内用WordPress,HTML5,JavaScript(通过jQuery),和CSS3重现一个中型Flash网站。其带来的好处是相当可观的:文本可以重复可选,书签直接可用而不需要很多复杂的技巧。当然,网站所有者可以升级他们的网站,而不需要忙得不可开交的Flash程序员来帮忙了。

结果是HTML5再一次成为了可用于网页内容的最有用且可加索引的工具,其内容的丰富性是前所未有的。进一步说,旧版网页已有的内容新版本不用重复出现。出于很多情绪和心理上的原因,音频和视频元素建议从别处获取资源而不是使用更一般的对象元素。有些人看见视频就激动地大叫,“把视频的代码提取出来,贴到你的页面上去。”但是由于网页开发者和视频制造商之间总是有至少一个数量级的差距,你怎样取得视频呢?你从别处把它抓取过来,但愿视频的所有者取得了CreativeCommon许可权。之于音频,同样如此:你相当容易就可以取得别人的音频。正如我之前所说的那样,能在你的桌面游览器上播放的音频和视频在手机或者平板上播放地同样流畅。

在这些限制存在的情况下,观察变得非常重要:内容的作者从创造全新的内容变成了把已有的内容合并组装起来。当然,在技术上来说这没有什么新意,但是这种情况是因为HTML5引进像音频和视频这样的元素。当web开始发展壮大它的连通性的时候,它就朝着NealStephenson的世界和“雪崩”和“神经漫游者”跨越了一大步,难道不是么?

一个人制作了一个视频,他不用专门制作一个网页,把视频放到网页上面。他们只要把它放到一个像YouTube或Vimeo这样的内容共享媒介上,另一个人只要提取出一个简单离页链接,就能把该视频(全部能够通过JavaScript访问和修改,非常简单易学)集成到网页上。双方都是各自领域(视频和网页)里的精英,但是结果是两者相互的结合。

现在把这种融合的工作集放大1000或者1000000倍,加入数据科学和从未有过的发现,组织,甚至数据本地化的能力。允许主流的浏览器,在所有主流的设备(笔记本,上网本,平板和手机等)上都可以访问数据.我本来准备介绍一下便宜的吓人的数据存储设备的,突然想起来我们还没有提到JavaScript新增加的威力,canvas标签和它处理相关音频和视频以及网页通信的能力。你会很快忘了我们是在讨论HTML,而不是像Java或PHP这样的传统高级编程语言。

JavaScript不是HTML5的重心…对么?

HTML5更强大的能力为JavaScript带来了更多的关注,说实话,HTML5中没有太多关于JavaSScript的内容.是的,根据W3C,HTML5的草案旨在取代HTML4,XML1和DOMLevel2文件中详述的JavaScript的接口,但是不要期望JS语言在HTML5中能够有颠覆性或者明显的改变.网页编程还没冷却下来,你会听到更多关于JS的信息.但是事实又是怎样呢?

好吧,首先,HTML5添加一些新的并且非常重要的一阶元素,比如刚才提到的音频和视频.下面我们将会接触到另外一个元素,canvas.这意味着,在网页中,不再需要大量的文件通过标签名获取元素(“对象”)或者对象元素的ID标签来使用媒介了.这些元素(不像对象元素)有特定的媒介属性,比如自动播放或者预加载.这意味着通过JavaScript,你可以抓取视频,显示其控制条,更改网址,并有效加载一个新的视频,甚至在视频加载(或预加载)进行控制,关闭或开启音频的声音等.

全部这些都可以通过JS来实现,但是JS并没有增加新东西来启用这种访问模式,而是在HTML5中加入语义丰富的元素,这些元素使得JS更强大.或者至少是使这些任务更容易完成的媒介,当然,聪明的程序员(可以恰当地进行标记和解析的人)用起来得心应手,从对象元素中抓取特殊属性,对它们进行调整和重新设置,等等。我的天,这真是个烂摊子。

事实上,虽然看上去很枯燥,HTML5的优势在于重要元素和属性(如自定义或一次性项目,和有重要语义的项目等)的灵活性。甚至可拖放的属性—HTML5允许本地拖放—备受冷落因为现在可以通过JS来访问和修改。页面很少需要纯文本的数据来表达某个意思,而是通过页面结构来表达。

我认为,文件有越丰富的语义,越少的属性或者元素作为纯文本嵌套在输入元素或者内嵌对象中,这个文件就越好。从JS的角度来看,网页就更易访问、更新,响应也更快。CSS(不管是CSS2还是CSS3)都可以直接使用而没有那么多乱七八糟的虚拟和嵌套选择器。当你使用含有语义的文件时就会发现JS非常的清晰明了。事实上,许多中级程序员将会意识到他们可以做“高级”程序员做的事情:把视频放到网页上,自动播放视频,禁用音频和加载另外的音频,在视频中播放另外的音频,更重要的是:你在HTML5中找到了有关Hiltler对JJAbrams和StarTrek所有的讨论没有修改原始的音频和视频。

换句话说,HTML网页更像一个容器(包含了其他容器的容器的容器,等等)而不是一个单纯的页面,JS能够轻而易举地访问这些嵌入式容器,并对其进行修改,更新它们,移动它们,但凡你能够想到的,并能够进行编码,JS都可以做得到。CSS也可以视觉设计,使用这些容易让HTML编程一个纯粹的组织工具,即使这看上去十分松散。通过绝对定位,元素在HTML组织的顺序和位置的充其量不过是个向导,只要不是完全不相关。

(值得提及的是,在HTML文件中,完全忽略元素的组织和顺序的显示方式是非常糟糕的。当你开始进行绝对定位的和移除层次感的时候,你通过语义元素得到的效果就全都不见了。当然,在HTML4,XHTML,HTML5中,情况都是如此。这里粗略地提到这个问题,下面我不再深入讨论。)

基于容器的网页:朝着正确方向走的一步

关于HTML页面不过是个可扩展元素的组织的想法并不新鲜,但是HTML5对JavaScript程序员和web开发者来说似乎是一个跳跃点。得注意的是,随着CMSes的崛起,像专门为中小企业和个人网站提供的WordPress,当HTML网页的文本不一定要解码,也不需要存储在一个静态HTML文件中时,人人都会了解相关事务的独立性。这也是一件好事,我作为一个JS程序员,我希望有更多的编程控制,并且创建基于用户意愿的页面,数据库驱动逻辑和一个人用HTML或文本编辑器进行编码。

事实上,这种方式最明显的例子就是Twiitter网站。例如,当我访问Twitter的时候,我看到许多评论:

但是如果你仔细看,通过查看源代码,你就会发现文件的开头有几百条的JS源码,文件尾有更多的JS源码,中间只有少量的HTML代码。这是那些HTML源码中的1/3,非常简洁:

<![CDATA[
<bodyclass="user-style-twttrloading-body">
<divid="doc">
<divid="top-stuff">
<divid="banners"style="clear:both;"></div>
<divid="top-bar-outer">
<divid="top-bar-bg"></div>
<divid="top-bar">
<divclass="top-bar-inside">
<divclass="static-links">
<divid="logo">
<ahref="/">Twitter</a>
</div>
<formid="search-form"action="/search"method="GET">
<spanclass="glass"><em></em></span>
<inputvalue=""placeholder="Search"name="q"id="search-query"type="text"/>
</form>
<divid="global-nav">
<ul>
<liid="global-nav-home"><ahref="/">Home</a></li>
<liid="global-nav-profile"><ahref="/bdmclaughlin">Profile</a></li>
<liid="global-nav-messages"><ahref="/messages">Messages</a></li>
<liid="global-nav-whotofollow"><ahref="/#!/who_to_follow">WhoToFollow</a></li>
</ul>
</div>
<divid="sections"></div>]]>

内容并不是很多,当然,这些代码的每一部分都通过手动编码插入,比如说我个人的简介和信息。虽然这是一个HTML4站点,但是它指出了一些HTML5试图解决的重要问题。

现在,我想讨论的是虽然这是个好事--用JS把HTML的组织和内容连接起来,而不是直接在HTML中编码,不夸张地说,许多页面,像Twitter的页面,基本上除了一些空divs和id属性就没有什么了。Twitter会不会演变成以HTML5为中心的方式还不得而知,但是除非它的结构也要变化,不然就会出现问题。

问题来了,这种方式编码丰富,而语义较少。首先,元素并不是真正的显示内容,他们只是显示装满了的容器。不要把附加到div’sid属性的文本值误以为是语义.在用来显示音频和视频的时候这没什么不同.你通过解析和引用得到的真正意思才是语义,但是这并不意味着是以一种特别有用的方式在HTML中编码.

这是HTML5试图改进的另一个方面.下面我将会介绍另一些元素—例如,nav,header和footer,---一直以来这些元素几乎被忽略了.为什么不一直使用<divid="nav">呢?好吧,现在答案就很明显了:这些新的元素提供额外的语义。如果我链接到你的页面,或者在我的页面中引入你的页面中的一部分内容,我可以抓取你的页尾,你的导航,你的图片和图表等。

不要忽视了语义的SGML(是的,我知道SGML不是个单词,但是它应该是)。当你真的开始web不同的部分结合在一起的时候,语义就会变得很强大。那些不只是由id属性和一些div组成的页面也会变得很强大。你会好奇你会得到些什么,HTML标准是一些更好的方法,这些方法用来确定词义,而不是一些随意加到id属性中的的文本值。

到现在为止,要么你看到了我引出的HTML5的主题,要么你只看到了随意链接起来的功能的大杂烩。如果你是属于后者,那我说明白点就是:HTML5,作为21世纪的web建议和本来的HTML规格,对链接的描述非常强大。如果你把自己的页面看作是内容的集合,请打消所有的内容都是我的这种自私的想法。之前我们讨论的HTML5的新特征非常重要。你可以在自己的页面加入音频和视频,并对它们进行操作,就像这些内容是你自己的一样。通过使用别的页面的语义,你可以在语义上组织自己的页面,并链接到别的站点,并加入别的站点中的内容。你可以使用divs和导航、表头和表尾等一阶元素把内容和组织分离开来。

绘图元素是可编程div

根据“wowfactor”,在HTML5规范最顶端的元素恰恰是我认为的HTML5中最大的败笔。这个元素就是canvas。Canvas在HTML页面中定义一个画板,你可以使用JavaScript在画板上画图,用到的方法很像图片脚本语言。JS通过canvas的id属性来抓取它,格式为:Document.getElementaryByID(),然后获取其内容.网上的多数很赞的例子都是使用3Dcanvas完成的,但是如果你是初次接触这些内容,2Dcanvas中有很多内容可供学习.

一旦你获取了对象的内容,使用像fillstyle这样的属性和像fillRect这样的方法(顶部,左,宽,高);和canvas元素,你就可以操纵它.的确,这些内容非常简单,甚至靠直觉就可以操作.事实上,第一次用JS在canvas上画图像极了我的小学有关Logo的旧时光,或者是在早期Java中的使用JavaAWT的日子.(不需要判断,我为我在Logo时代而不是AWT时代中所做的一切感到骄傲)。

我认为不需要为你一一介绍这些功能,网上有很多关于2D和3D方面的教程,也有很多很好的视频和刊物。这足以说明,需要使用Flash来做一些有趣的图像的时代已经过去了。更酷的是,你又一次把JS整合到自己的页面中,因为现在一个按键或者是一份表单的提交,又或者在页面中拖放元素,播放视频都可以与你页面中的画板进行交互了。

现在有两个注意事项:一大一小。其中较小的一项是所有的浏览器试图使HTML5表现一致,尤其是3D内容使浏览器超出它本来预计的工作范围。因此你要意识到当你在使用Iphone的时侯不会收到“Flash内容不能播放”这样的内容,为了使3D图像能够在大多数电脑的浏览器上显示,需要一系列严格的测试。但是,说实话,那只是测试的问题,时间和测试都能够克服这个问题。

更严重的问题是,canvas更像是毫无特征的、编程加载的div。使用它的内容没有语义,并且独立于HTML在硬盘中的编码。它是编程创建的线、面、球的动态集合。不管你在3D模型中加入了多么酷的文本,你都不能使用JavaScript来访问它,不能抓取那些有质感的球体,不能链接到它,也不能顺着它的轴线来旋转它。如果你一定要这么做,你可以直接对页面进行这些操作,你只是不能以一种松散的链接的行为来执行这些操作。

这是反对canvas的演讲么?当然不是。我不会让你避免使用canvas比我告诉别人在HTML4中尽量不要使用div更多。是的,使用语义会有一定的限制,canvas是一个大的包含什么的圆圈,而其中包含的什么具有极小的可视性。但是,这仍然是种进步,预示着GPU的价值使得HTML5完成出乎人们意料的一些任务。

但愿,很快会有标准的方式来调用通过canvas创建的对象,其粒度成为了canvas的一个优点而不是缺点。到那时,你就会决定是否使用canvas来做出特效。一般来说,如果你的canvas是一个自包含的“迷你应用”,那就用canvas,一定能成功。如果你的canvas和你的页面的其余部分关系紧密,你可能感觉也很好。但是,如果你想用一些其他的页面和网站来获取你的canvas,那么你很不幸,需要找其他的方法来解决了。

这儿的好/坏消息是HTML允许这种重用,人们开始想指出这一点,却有点摸不着头脑。內链,你在web上修建自己的城堡,用护城河和吊桥把别人隔绝在你的城堡之外?或者你把你所做的一切整合到互联网,分享所有的内容?

Mobile:杀手级应用

如果你已经熟读了有关HTML5的部分,你会发现Mobile出现频率之高,当然,前面我提到过移动设备可以浏览HTML5网页。并且听歌看视频安全不在话下。这是HTML5的主要功能么?事实上,难道正是移动设备大力推动HTML5的前进?

好吧。是也不是。

说到移动设备的推动作用,当然是有的:HTML5把它的轰动全归功到移动设备上,尤其是SteveJobs以及近期他和Flash的交战。Iphone配备了Safari,Safari有HTML5的支持,因此突然之间Iphone用户眼花缭乱恰恰其谈。现在几乎所有的现代智能机用户都有兼容HTML5的浏览器。因此不用Flash可以直接看视频。更重要的是,在手机上,运行在HTML5网站上的内容看上去跟在桌面浏览器中一样。因此,如果不是移动设备的原因,程序员们也不会对HTML5这样津津乐道。

但是同时情况也不是这样的:如果没有HTML5,移动设备也成不了这样的大气候(人们肯定会抗议,但是他们弄错了其中的因果关系)。HTML5没有为移动设备提供卖点,是的,有好几种方法能够知道移动设备的定位和屏幕的尺寸,但是这些办法也能够测出浏览器窗口的大小。同时,canvas元素和新的音频、视频功能使得移动设备间可以传送一些有意思的内容。还有,越来越多的人在创建手机用的移动优化浏览器。所以说,这怎么不重要呢?

好吧,重要的不是HTML5能够在手机上运行。重要的是HTML5“能够运行”。你的网站很轻松地就能够在手机上运行……这就是其重点。重点不是你能用手机在你的网站上进行所有的操作,而是,你可以用手机在任何时间做任何你想做的事,而这些事你可以在手机、平板、笔记本和桌面级客户端完成。HTML5消除了把移动设备和所有设备分开单独去审视的必要。

(请注意:我不是说你应该忽略移动设备,我手机上用到的最好的网站如果不是纯手机主题和CSS样式,至少是经过移动优化过的。也就是说,你不必这样做才能够运行,而且,几乎所有的手机网站都会有“查看普通网页”。这说明了很多,这是你曾经花费一切代价想隐藏的。没有HTML5的话……)

……一直鹧鸪和一棵梨树

这篇文章从值得一读转向了完整的参考文档,至少在一篇文章的角度来看,我们很容易找到HTML5还提供了哪些其他服务,并考虑写一本完整的书。有web信息,离线应用,和本地存储……的确,在开发一个完整的应用中会遇到的问题,书中都会介绍。最后,我对HTML5提供的其余的“所有服务”做了简短准确的评估。HTML5不再只是关于一个单一的页面,而是一些相关链接的页面。

Web消息允许使用內链应用进行消息传递(下面我会解释这里“应用”的用法,现在,先听我说)。这些应用可以在不同的区域内;首次,会有一个智能的基于JavaScript的消息传递框架,允许这些应用跨区域通信。你可以使用监听器来接受信息,使用发送器来发送信息。其最简单的形式,Ajax沙盒所有的限制都被移除了,虽然还存在一些安全隐患和一些比XmlHttpRequest对象复杂的接口。如果你推崇HTML5鼓励通过web来分享资源的理念,那么消息传递把分享办成了双向的通信。现在你可创建能够使用的资源,即使使用的内涵不光包括接受信息还包括发送信息。

你还需要实现本地存储:一个合适的数据库---抓取数据并发送到远程服务器的存储机制。都跟样式紧密相关,获取这种数据最显而易见的办法就是本地存储实现优化后存储。事实上,HTML5的样式提供一些新控件和验证等类似的功能,他们的作用是和离线存储进行智能交互(通过,还是JavaScript),这很重要。你想想:首先,这是第一次实现离线存储;再者,一些漏洞会利用JavaScript,但是web上一直存在漏洞。只是现在你会遇到比任何时候更多的相关问题。

新增的功能还包括功能的重载类型,比如线程(通常被称作web工作者,但其实是线程)和套接字。一方面,这些不属于HTML5规范的核心部分。相反,它们属于WHATWG的范畴,所以说,对W3C来说,其最后结论和重要性是HTML5的一部分。另一方面,由于它们不属于核心规范的一部分,则它们可以随心所欲地进一步发展,且以前所未有的速度。总之,这是都是非常重要的工具,这预示着HTML5不再被当作是一种娱乐开发语言,或者静态页面了。

所以,这种word应用:不是用HTML5创建的?这不只是些纯视觉视觉和智能拖拽的控件,甚至可以替代基于Flash的网站。HTML5使得程序员可以创建有丰富语义并且可以访问的资源。那些资源不一定是整个的页面,它们可以是任何“东西”:视频、音频、导航栏,也可以是脚注。这些“东西”可以被其他“东西”跨范围引用,你可以通过给它发送几比特的信息来引用一个精心设计的脚注,并把从这个范围得到的脚注和从其他范围得到的视频进行交互。当用户离线的时候,就到了本地存储大显神通的时候了。本地存储不仅允许HTML页面通过类似数据库的存储机制进行存储,甚至还确保数据。JavaScript不再是是一种小儿科似的语言了,Jquery把JavaScript语义中令人讨厌的部分变成一块蛋糕!

这些是应用。

请不要再创建web页面了。不要再试图只使用“你自己”的内容了。把创新共用许可证贴在你的视频、图片、甚至是HTML上,然后创建一些有意思的内容,假设它们被别的东西引用,并以一种你从未想到的方式被使用---它就是Internet,记得吗?

HTML5世界里的赢家是那些从别处偷窃,而是开始把他们的“糖”拿来跟出售的每个“孩子”分享的人。这不仅是像Youyube那样的网站分享视频一样。应用逐渐成为了一些mini应用的集合,如果你想使用你的HTML5来搜集资源---有的是原创有的是分享的---那说明你已经走在了前沿。

OSCON2001会在这个月的晚些时候到来,到时会有一些关于JavaScript和HTML5的详细介绍,想了解更多内容,节省20%,速来注册codeOS11RAD。


原文出处:What is HTML5?

译文来源:/ WebAppTrend是一个独立的技术博客,关注WebApp前瞻和实践,以及智能浏览器发展
请大家在关注CSDN的同时,关注我们的新浪微博 @WebAppTrend,欢迎加入我们的:193775364

本文标签: HTML5到底是什么