HTML5 Boilerplate对于Rails应用程序的价值是什么?

9
有几个应用程序模板(和一个Rails gem)可以将HTML5 Boilerplate添加到Rails应用程序中。因此,我进行了调查,并整理了关于HTML5 Boilerplate for Rails的分析。看起来HTML5 Boilerplate并没有为新的Rails应用程序添加太多内容。有用的是:

样本humans.txt文件

默认应用程序布局的示例index.html文件

视口元标记

Google Analytics片段

有一些CSS帮助,如CSS规范化,占位符CSS媒体查询和CSS辅助类,但似乎您可以通过CSS工具包(如Skeleton、Twitter Bootstrap或Zurb Foundation)获得所有这些功能以及更多功能。
最后,HTML5 Boilerplate有很多组件适用于需要支持IE6、7和8的网站,例如IE条件注释、Modernizr和Chrome Frame。但如果我不支持IE6并且我使用Twitter Bootstrap或Zurb Foundation,我认为我不需要这些。
HTML5 Boilerplate是一个良好的项目,拥有许多社区贡献。它的网站上有很多好建议。但对于Rails项目呢?

我有所遗漏吗?对于Rails应用程序,HTML5 Boilerplate的价值是什么?


1
HTML5 Boilerplate不是用来使用的,而是用来阅读的。它旨在成为您应该了解的功能清单。如果我使用HTML5 Boilerplate,我会抛弃其中80%,因为它非常臃肿,但是剩下的20%对我很有用,而且如果没有HTML5 Boilerplate,我可能会忘记其中1%或2%。 - Raynos
1个回答

5
HTML5 Boilerplate有一些不同的功能,通常是从其他项目中借鉴过来的。
  • 服务器配置文件用于设置超时时间、打开sendfile、gzip压缩、服务器到期等。我相信他们的仓库有几个不同版本的这些文件,适用于几种不同的服务器(apache、nginx、node、lighttpd)。你可以在这里找到这些配置文件:https://github.com/h5bp/server-configs。据我所知,Rails没有任何类似的东西。

  • 它还带有一个自定义构建的Modernizr,用于检查浏览器中的HTML5和CSS3功能,然后将类添加到您的<html>标记中,以便您可以在样式表或JavaScript中使用它们。这允许您针对不支持您尝试使用的功能的浏览器使用回退样式或交互。 CSS的一个例子可能是border-image,它没有广泛的支持。您可以为可以使用它的浏览器应用border-image:,对于其他浏览器,您将使用HTML5Boilerplate提供的类(html.no-borderimage)提供备份样式。您还可以从JavaScript中检查这些类,以确保您没有针对不需要(或无法响应)的代码来定位浏览器。Rails没有内置任何东西可以做到这一点。

  • Respond.js也与Modernizr捆绑在一起,为那些尚未支持它的浏览器提供媒体查询支持。您提到您不会针对IE6,但IE7和IE8也不支持Media Queries(许多移动浏览器也不支持),而Respond.js将为您提供该支持。Rails也没有内置任何处理此问题的功能。

  • Modernizr依赖于yepnope.js来加载外部文件,因此您也可以使用它。该库允许您测试功能并根据该测试的结果加载某些脚本/样式。如果您只需要一些浏览器才需要的文件,则此选项很有帮助。Rails不会执行此操作。

  • PNG修复程序。如果您不支持IE6,则可能不需要此功能,但它确实附带了一些旧版浏览器(咳咳 IE6)的png修复程序。Rails在前端方面没有自行处理此类事情。

最终,您可以获取所需的部分,并将它们带入您的应用程序,而不必带入整个HTML5 Boilerplate(对我来说也是这样做的)。话虽如此,您的问题是“HTML5 Boilerplate对Rails应用程序有什么价值?”答案是“很多”,具体取决于这些工具是否基于您正在进行的工作有用。 HTML5 Boilerplate并不一定与Rails重叠。

你可以在HTML5 Boilerplate文档中获取完整的功能列表和编码风格建议。
你可能还会对适用于Rails开发人员的HTML5 Boilerplate感兴趣。

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