现在使用HTML5是一个好主意吗?

12

我知道HTML5将于2012年被“定案/正式发布”(并且在2022年获得“推荐标准”),但我想知道现在是否使用HTML5建立网站是个好主意。

一个简单的作品集网站?鉴于大多数用户(大多数使用IE的人)不支持它,尽管IE9(惊讶)将随附支持。


3
@Crusader: HTML5 已经相当稳定,剩下的基本上只有一些小问题。草案中的大部分内容不太可能改变,至少不会有重大变动(这就是为什么许多供应商已经开始实现它了)。W3C 是一个非常缓慢的官僚机构,这事实上跟任何事情都没关系——CSS2.1 直到 2007 年才成为推荐标准,而那时它已经被使用和实现了数年之久。 - You
1
@Crusader:祝你好运,但我建议你不要在SO上进行恶意攻击。这是一个问答网站,而不是图像板。关于对未来浏览器的假设;几乎可以肯定,所有主流浏览器在未来几年内都将支持HTML5的大部分功能,因为非IE浏览器已经接近实现,并且微软已承诺在IE9中提供支持。我敢打赌,在Linux上它比Flash运行得更流畅。 - You
2
Silverlight和Flash/Flex不能在市场上最有趣的部分(人们花费大量资金的地方)即iPhone/iPad上运行。 - Stephan Eggermont
更新 - 实际上据说Android在市场份额上超过了iOS,这是我听说的。所以故意削弱的iJunk不再是“最有趣”的了,我想。但我不知道为什么HTML5开发者总是会涉及到移动操作系统的争论。桌面仍然是赚钱的主要市场,也是商业应用程序的主要平台,而基于VM的Silverlight/Flex/JavaFX策略在这方面确实表现出色。 - Manius
这是一个非常晚的评论,但我想指出的事实是Silverlight现在已经死了,但可悲的是HTML5仍未完全批准。 - user764357
显示剩余8条评论
7个回答

13

HTML5并不是一个单一的整体。虽然HTML5正在作为一个单个的非常庞大的文档进行开发,但这并不反映现实。

也就是说,HTML5是对HTML4进行的松散相关的增量改进的集合。其中一些新功能已经得到广泛实现。有些您可以安全地使用,并知道它们会对旧浏览器进行有用的降级处理。有些您可以使用,只要添加明确的回退代码即可。其中一些将在可预见的未来阻挡某些浏览器。其中一些只会得到少数支持。其中一些可能永远不会被实现,或者可能会从标准中删除。还有许多通常被认为是“HTML5”的新功能实际上根本不在HTML5中,而是其他标准(如CSS3、ECMA262-5、DOM扩展、WebSocket等)。

您需要根据当前和明显的未来支持情况逐个选择新Web的功能。没有“使用”和“不使用” HTML5 的开关,除了doctype本身(它不会给您带来任何新的行为)。

*:在我看来,这是一个很大的错误。最好快速标准化每个人都支持的部分,就像HTML3.2在HTML3.0惨败之后所做的那样(XHTML2,任何人都想过吗?),然后以更模块化的方式添加新功能。但事实并非如此,现在要做很多事情已经太晚了。


2
@Crusader:Silverlight和Flash是一致的吗?你肯定是在做梦。 - Lie Ryan
@Crusader:真的吗?我只看到过在Windows上运行的Flash/Java小程序导致Linux浏览器崩溃,反之亦然,或者占用巨大的内存。有缺陷的Javascript/HTML可能导致页面显示不正确,但至少不会使浏览器崩溃。 - Lie Ryan
一个人的一贯性在另一个人看来可能是守旧,我想!;-) 而且,就个人而言,我不喜欢插件。我很高兴小程序和媒体播放器嵌入正在消失,被 Flash 替代,我也很高兴 HTML5 <video> 开始进攻 Flash 视频。就矢量动画 Flash 最初设计的“OSS Flash”来说,可以说是 SVG 加脚本,但在支持和速度方面我们还有很长的路要走(IE9 在这方面做得非常出色),并且创作工具也在不断更新。 - bobince
哇,现在这才是我所说的答案! - Trufa
就此而言,在Ubuntu上的新Flash Player Square beta版本是我在任何平台上使用过的最稳定的Flash。这并不意味着太多,但仍然值得一提。此外,Flash经常受到图形卡视频加速驱动程序中的错误影响,并因此受到指责。 - bobince
显示剩余6条评论

2
准备你的网站以适应HTML5是一个好主意,但保持向后兼容性,以便使用尚未准备好HTML5的浏览器的用户能够查看您的网站,即使这意味着功能受到限制。这样,最新浏览器的用户将获得全部好处,但我们中不属于最前沿的人仍然能够查看内容。正如您所见,我对这个话题有些强烈的感觉,但嘿,我是现实主义者。
此外,请记住,像Silverlight和Flash这样的技术今天可以支持丰富的功能,如果您想让不兼容HTML5的浏览器也能查看此类内容。

+1,这将是一个逐渐的转变,因此请保留旧浏览器以进行测试 - 但确实需要做好准备。 - Joseph Weissman
说实话,我知道有针对IE的解决方法...但我在想这是否值得麻烦--这不就是更多的编码吗? - john mossel
这引出了我对HTML5协议的另一个抱怨——非常分散和快速变化的开发库、工具等。我对所有这些“JavaScript框架”(缺乏更好的术语)进行了一定量的研究,但还没有看到过那个完美的框架。至少,如果你雇用Silverlight或Flex开发人员,你就知道他们使用的是与你相同的API。 - Manius
我理解你的观点,但是Flex和Silverlight都不支持Linux本地化,而且我讨厌那些要求我下载Silverlight才能查看的网站。 - john mossel
1
正如我所说,完美的跨平台支持将来会在所有方面(RIA和HTML5)实现,但在Flex/Flash方面,你至少部分是错误的:http://www.howtoforge.com/native_linux_flash_player9_in_ubuntu。我确实理解即使像这样的一次性过程也很痛苦,但我认为这归因于Linux生态系统而不是其他任何事情。我已经有一段时间没有使用Linux了,但如果安装仍然比以前痛苦的一小部分,那么当Winblows可以通过一个点击(或已经拥有它)安装这样的东西时,它还不值得麻烦。 - Manius
显示剩余2条评论

1

HTML5的某些位,确实可以用了。由于html5shiv,HTML5引入的几乎所有新元素已经可以使用,如果您提供适当的备选方案,您也可以使用<video><audio>。这些,连同更高级的脚本功能(本地存储等)是需要时间来实现的功能。

此外,虽然Mark Pilgrim的Dive into HTML5主要讨论一些尚不可用的功能(至少在IE中不可用,即大多数网络用户),但是有关语义的章节则非常有趣且适用。

还要记住您的目标受众是谁;如果大部分访问者来自设计师社区(或其他类似社区),那么他们中的大多数人可能拥有支持HTML5的浏览器。 WebKit浏览器已经支持HTML5草案的大部分内容


是的,它更像是sitepoint.com而不是4chan.org(请不要伤害我) - john mossel
有人可以详细解释一下他们的负评吗? - You

1
你需要理解的是,HTML5 不是一个整体,而是由许多不同的部分组成,你将逐渐开始使用其中的各个部分。以下是从 深入理解HTML5 中提取的内容。
  1. 它不是一个大的东西

你可能会问:“如果旧版浏览器不支持HTML5,我该如何开始使用它?”但这个问题本身是误导性的。HTML5不是一个大的东西;它是一系列单独的功能。因此,你不能检测“HTML5支持”,因为这没有任何意义。但你可以检测对于单个功能的支持,比如canvas、视频或地理位置。

你可能认为HTML只是标签和尖括号。这是其中重要的一部分,但并不是全部。HTML5规范还定义了尖括号如何通过文档对象模型(DOM)与JavaScript交互。HTML5不仅仅定义了一个video标签;在DOM中也有相应的DOM API用于处理video对象。你可以使用这个API来检测对不同视频格式的支持,播放视频,暂停,静音音频,跟踪已下载的视频量以及构建围绕video标签本身所需的所有其他内容,从而提供丰富的用户体验。

如果你真的感兴趣,你会发现this非常有趣!


1

有些人想要追求进步,他们才是带来变革的人,我想你就是其中之一。所以我的建议是,当然可以使用它,但请注意,那些浏览器不支持它的用户也能有良好的体验。

以下是一些可能会有帮助的东西: http://code.google.com/p/html5shiv/

("HTML5 JavaScript shiv 的公共代码库,用于使 IE 能够识别和应用 HTML5 元素。")

此外,作为新用户,我不能发布超过一个链接,但请搜索 css3pie:

("PIE 可以让 Internet Explorer 6-8 能够渲染最有用的 CSS3 装饰功能。")


1
一旦IE 9发布,所有主要的浏览器厂商将支持HTML5的大部分子集。http://caniuse.com是一个非常有用的网站,可以回答“哪些HTML5相关的功能现在(或不久的将来)可以使用”的问题。
更新(以回应@Crusader的评论):
某些浏览器市场份额(即IE 6、7、8等至少没有一些HTML5支持的浏览器)已经低于50%。换句话说,HTML5时代已经到来。
随着IE 9的到来,我预计在未来12个月内没有HTML5支持的浏览器份额将下降至不到25%。对于那些拒绝升级的人(或因公司政策而无法升级),Chrome Frame允许在需要支持这些浏览器的站点中轻松使用HTML5。
或者考虑:微软之所以在IE 9中实现HTML5功能(而不是继续把所有鸡蛋放在Silverlight篮子里),是因为他们知道HTML5已经到来,而他们来晚了。

但是,同时看看还有多少人在使用低于IE 8的版本。即使在IE 9之后,良好的支持仍需要一段时间才能普及 - 而且尚不清楚9的性能如何。我们可能会像“Vista”或“ME”一样。 - Manius

0

要明白HTML5是一个总称。使用文档类型声明只是开始。我不会在所有网站中都包含高级的Webkit动画,但使用border-radius和box-shadow将适用于大多数(除IE外)浏览器,并且可以优雅地降级。


但是如果50%以上的互联网用户使用IE,而这些功能在IE上并不完全有效,那么我们如何说这些功能“有效”呢?你的意思是说这些功能“有效”还是“不会完全破坏页面”? - Manius
我的意思是工作,而且我排除了IE。请在批评之前先阅读。 - pizza247
不是在挑起争端,只是在问问题。 :) 对我来说,IE必须支持它才能“工作”,而你似乎排除了它,因为它缺乏支持,对吗? - Manius
@crusader "将与大多数浏览器(除IE外)兼容" - pizza247
1
你知道吗,我最初确实有点误读了 - 抱歉。 - Manius
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接