Rails Rails 4 新项目的选择 2:前端框架 Simple_form 后台任务 搜索和用户认证

grantbb · 2015年11月08日 · 最后由 ericguo 回复于 2015年11月08日 · 2941 次阅读

Rails 的世界各种开源的优秀解决方案非常多,项目开始的时候比较痛苦地就是要根据自己的原则和项目的特点来做出正确的选择。

前端开发框架的选择

原本打算在新的项目中开始使用 ES6,然后前端的开发框架选择容易上手的,轻量级的vue.js。由于 Vue.js 只支持 IE9 以及以上的浏览器,考虑到新项目是面向国内用户的产品,用户中还是有很大一部分的 IE8,以及以下的浏览器用户。所以,最后还是决定使用 Jquery+knockout.js这样的组合。

通过在论坛里面帖子前端框架选择的一个现实的问题评论了解到。jquery 也有支持双向绑定的 lib: jquerymy.js 还有就是在这种情况下,如果要做 SPA 的话,可以使用backbone.js,兼容性也是很好的。

放弃 Simple-form

不再使用 simple-form,主要是感觉它提供的一些功能对现在的项目帮助不大,还有就是 simple form 的 wrapper 定制比较麻烦,也会把页面代码弄得很臃肿。在这种前提下还是使用 rails 自带的 form_for 就可以了。原则就是如果要使用的 gem 帮助不是很大,还是最优先用 Ruby 和 Rails 自带的一些方案。

表单验证

尝试使用client side validations这个 gem,这样前后端尽可能共享验证的规则,减少自己写相关 js 代码。少些代码,少制造 bug。

Rails 后台任务框架的选择:

网上已经有很多资料比较 Sidekiq,Resque 和 DelayedJob。我自己也都有简单用过。 所以决定在项目开始时(流量不大)使用 DelayedJob,简单易用,不要单独安装和配置 Redis,同时使用 ActiveJob 提供的 API,这样以后迁移到 Sidekiq 或者 Resque 也就不会很麻烦。

搜索:Elasticsearch

本周也开始看一下搜索功能的实现,以前我做过几年的基于 Lucene 的搜索开发,搜索服务就准备用 elasticsearch,发现相关的 Rails 的整合方案也很多。有官方的 elasticsearch-rails,还有一个比较流行的是searchkick,看了一下感觉功能很强大,所以下周准备拿 searchkick 试试。

用户认证:Devise

这个选择主要是因为 Devise 功能强大,相关文档也很多,之前在项目中也用过。

带有美图的原文链接

可以看出楼主的选择基本没有经过验证,很多都还是在道听途说+想象的阶段。个人建议是不妨改标题为试验 xxx,或者是先试试,比较成熟之后再分享。

client_side_validations总算又活了,之前粗粗看过这个,感觉想用好很难,对开发者的 rails 和 coffee script 能力都有要求。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号