对于Rails应用程序,HTML5 Boilerplate的价值是多少?

时间:2011-10-29 17:26:12

标签: ruby-on-rails html5 ruby-on-rails-3.1 html5boilerplate

有几个应用程序模板(和一个Rails gem)将HTML5 Boilerplate添加到Rails应用程序。所以我调查并整理了对HTML5 Boilerplate for Rails分析。似乎HTML5 Boilerplate并没有添加太多新Rails应用程序中尚未存在的内容。什么是有用的:

  

示例humans.txt文件

     

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

     

viewport metatag

     

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 个答案:

答案 0 :(得分:5)

HTML5 Boilerplate有一些不同的功能,通常是从其他项目中借用的。

  • 用于设置超时,打开sendfile,gzipping,服务器到期等的服务器配置文件。我相信他们的repo有几个不同版本的这些文件用于几个不同的服务器(apache,nginx,node,lighttpd )。您可以在此处找到这些配置文件:https://github.com/h5bp/server-configs。根据我的理解,Rails没有任何类型的等价物。

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

  • Respond.js还与Modernizr打包在一起,它在没有它的浏览器中为您提供媒体查询支持。你提到你不是针对IE6而是针对IE7&amp; IE8不支持媒体查询(也没有大量的移动浏览器),Respond.js会为您提供支持。 Rails也没有内置任何东西来处理这个问题。

  • Modernizr依赖yepnope.js加载外部,以便您也可以使用。此库允许您根据测试结果测试功能并加载某些脚本/样式。如果您引入只有某些浏览器需要的文件,这将非常有用。 Rails没有这样做。

  • PNG修复。如果你不支持IE6,你可能不需要这个,但它确实附带了一些旧版浏览器的png修复程序( cough IE6)。 Rails并不真正在它自己的前端处理这类事情。

最终你可以抓住你需要的部分并将它们带入你的应用程序,而无需引入整个HTML5 Boilerplate(以及fwiw,这也是我通常所做的)。那就是说,你的问题是“HTML5 Boilerplate对Rails应用程序带来了什么价值?”并且答案是“很多”,取决于这些工具是否有用基于您正在做的事情。 HTML5 Boilerplate不一定以任何方式重叠Rails。

您可以在HTML5 Boilerplate Docs

获取完整的功能列表,编码样式建议

你也可能对HTML5 Boilerplate for Rails Developers

感兴趣