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

Dan*_*hoe 9 html5 ruby-on-rails 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的价值是多少?

nhe*_*ich 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和IE8不支持媒体查询(也没有大量的移动浏览器),Respond.js会给你这种支持.Rails也没有内置任何东西来处理这个问题.

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

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

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

您可以在HTML5 Boilerplate Docs上获得完整的功能列表和编码风格建议

您可能也会对Rails开发人员的HTML5 Boilerplate感兴趣