【问题标题】:HTML5 Boilerplate vs. HTML5 Reset [closed]HTML5 样板与 HTML5 重置 [关闭]
【发布时间】:2011-04-19 16:13:29
【问题描述】:

大家好——HTML5 BoilerplateHTML5 Reset 是两个 HTML、CSS 和 JavaScript 模板,内置了许多现代最佳实践。他们的目标大致相同:

  • 快速、强大、现代的 Web 开发
  • HTML5(呵呵!)
  • 跨浏览器规范化(包括对 IE6 和移动浏览器的支持)
  • 渐进式增强和优雅降级
  • 性能优化
  • 不是框架,而是您下一个项目的起点

显然,它们在功能上非常相似。它们的实现有哪些不同(例如,IE 特定的 CSS 修复可能是使用不同的技术实现的)?它们在范围上是否完全不同?看起来 HTML5 Boilerplate 有点大(构建工具、服务器配置等),但是当涉及到人们将看到的实际站点时,很难知道它超越了 HTML5 重置。

【问题讨论】:

    标签: javascript css html boilerplate


    【解决方案1】:

    总的来说,这两个项目都旨在为从事网络项目的开发人员提供一个坚实的起点。它们都摆脱了许多开发人员发现自己为每个项目重新创建的许多乏味、有些容易出错的样板。他们如何做的细节略有不同,但在大多数情况下,他们取得了相同的结果。

    如您所述,HTML5Boilerplate 添加了一些构建脚本片段,以帮助开发人员遵循最佳实践来加速他们的页面在服务器端项目方面,例如远期过期标头等。 HTML5Reset 项目更关注语义、内容和样式。例如,HTML5Reset 为 HTML5 中的页面内容提供了更多示例结构(以帮助向人们展示如何使用一些新元素),而 HTML5Boilerplate 则没有。

    HTML5Boilerplate 包含的响应时间和页面速度部分变得越来越重要,因为越来越多的用户发现自己在移动平台上,并且随着 Google 增加了效果 page response times have on page rank。有很多论文表明页面响应时间的小幅增加会对您的网站的状况产生可衡量的负面影响used and perceivedespecially in an eCommerce setting...通常慢 100 毫秒的页面会减少销售百分比)。

    在 CSS 方面,两个项目的大部分重置样式部分都非常相似,只是在基线设置上存在一些细微差别。然而,IE 的特定修复基本相同,HTML5Boilerplate 比 HTML5Reset 对 IE 如何设置表单元素(即复选框/单选按钮和有效/无效状态)的样式具有更多控制权

    HTML5Boilerplate 涵盖但 HTML5Reset 没有的两个主要 CSS 区域是帮助使网站更易于访问的常用帮助类,例如 .hidden.visuallyhidden,以及对打印样式的一些实质性调整,以服务于两者使跨浏览器的打印更加相似,以及一些成本节约和可访问性,例如使背景图像透明(不浪费墨粉),以及将实际 URL 添加到链接和标题到缩写。

    我强烈建议通读这两个项目的信息以及它们如何在并排比较中做事,因为它们的相似之处和不同之处(以及它们背后的推理)都非常有用,并且帮助我更好决定我想使用每个部分的哪些部分。

    最终,就像任何“库”类项目一样,您作为开发人员需要了解自己在做什么,并且可能应该调整您的基线以满足项目的特定需求。

    【讨论】:

    • 您能否提供您在页面响应时间与页面排名方面参考的论文的链接?
    • @s_hewitt - 根据您的要求,已添加引文。
    • 啊,我讨厌没有“结论,我会推荐......”。我猜是平局。
    【解决方案2】:

    你可以使用任何一个...

    就像@murtaugh 说的 (http://5by5.tv/bigwebshow/45) 当你第一次从重置开始时,你不需要学习任何东西。根据我在研发部门工作的经验,当您需要演示或进行快速迭代时,您可以使用重置(或锅炉,如果您已经知道它)。当我需要构建产品以进行部署时,我转向 Boiler 只是因为它有更多的东西。 对我有用,但现在因为我知道两者都可以轻松使用。

    【讨论】:

      【解决方案3】:

      实际上我几乎想说使用传统的 reset.css 是最好的......我发现我的移动应用程序的兼容性没有问题。但是,我正在使用 jQuery 移动框架开发这些应用程序。

      所以我想这取决于您使用哪种工具。 Phonegap 似乎没有任何问题将我的代码编译到所有操作系统中。在模拟器中查看我的源代码看起来非常好......

      所以除非你试图实现 polyfill,否则我真的看不出样板的意义。

      【讨论】:

        【解决方案4】:

        我的工作环境是,以前的开发人员诱使公司同时使用JQueryPrototype...而且一团糟。我们不仅要摆脱兼容模式,还要考虑它导致的额外开销。调试时,Prototype 在 Firebug 中“劫持”调试消息,从而导致更多工作。令人抓狂的是,几个月来我一直在解决这个烂摊子,并且刚刚开始接近完成它....就在我要拔掉 Prototype 的插头时,我似乎总是找到另一个依赖它的部分...

        正是出于这个原因,我每次都反对具有相似目的的框架组合。例如,无论您认为YUI Grids 多么酷,如果您加载整个YUI Framework,您最好不要使用Jquery、Moo 或Prototype。你只是不必要地让自己陷入困境。它会缩短加载时间(wrecks the user experience),只会让开发人员头疼和做不必要的工作。

        查看您网站的这个阶段,就像建立基础一样。你有机会使用任何你想使用的东西,但你必须小心不要“把自己画到角落里”。因此,请使用基于您的资源可用的专用且一流的工具。不要只用可爱的东西!我们很幸运,因为许多非常高质量的工具都是免费的,所以我们有选择。但是要知道,您正在为您的网站未来的发展方向指明方向,而且您可能是像我这样的人,如果您匆忙做出决定,就必须承担后果。

        因此,除非您永远不会使用其他框架,否则我支持 Reset...甚至只是使用符合最高质量标准的 CSS。

        【讨论】:

        • 我完全同意你对 JavaScript 框架的看法,但是我们这里讨论的 HTML5 框架主要是标记,而不是活动代码,而且大部分都几乎相同。具体的 CSS 略有不同,但就像优秀的开发人员遇到的任何事情一样,重要的部分是了解您将使用什么,而不是盲目地应用它。如果开发人员对语义 HTML 和 CSS 没有扎实的理解,那么任何一个 HTML5 框架都无法发挥其在项目中的全部潜力。
        • 在我的最后一次演出中,我遇到了一个同时使用 jQuery 和 Dojo 的项目。我认为这是他们第一次接触 AJAX。但后来我们聘请了一家非常昂贵的咨询公司,它使用 jQuery 和 Ajax.net 发回代码。然后我放弃了。
        • 关于框架的好建议,但我很难想象它如何应用于这两个根本不是框架的节省时间的工具。
        猜你喜欢
        • 1970-01-01
        • 2013-02-18
        • 2016-12-29
        • 1970-01-01
        • 2011-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多