Rails Rails 和 Sinatra 谁更适合做 APP 的后台?

egg_show · 2014年08月25日 · 最后由 msl12 回复于 2016年11月22日 · 8505 次阅读

如题,有人觉得 Rails 的很多东西(view 部分、help 部分等)在作为 APP 的后台时太累赘,很多东西在创建项目的时候 rails 就自动引入了,但是开发过程中又没用,虽然据说可以手动删掉这些个东东;俺是 rails 菜鸟,Sinatra 还没接触过,不知各位怎么看的?

Rails/Sinatra + Grape

Rails。输出 json 也是 view,除非都输出裸数据否则多少需要 helper,为什么会觉得累赘?

直接 grape 吧,如果要在上面写 api 文档就加上 sinatra(web 页面)和 SwaggerUI(api 的 ui 界面)

rails,rails-api 都行,不建议 grape

#2 楼 @Rei 对,json 也是通过 view 返回的哈 - -

#4 楼 @dddd1919 没用过 - -,有相关文档链接没?

#5 楼 @search 用 rails 和 rails-api 有什么效率或者什么区别没?

9 楼 已删除

在用 grape,感觉不错

#11 楼 @tsl0922 看着感觉和 sinatra 有点相似

#12 楼 @egg_show 我是纯 API 应用,没用到 sinatra。

感觉 grape 轻量级一些,也支持 helper,route 的配置也都还挺方便。

Sinatra/Grape升级慢一些变化也不会特别大,Rails每次升级变动都不小(当然你也可以选择不升级),相对于业务比较稳定,变动较小的后台任务,还是Sinatra/Grape合适一点

rails-api 不想折腾拿去吧,同样轻量

我对 rails-api 存疑,既然作者都认为 rails 默认的组件中对 api service 有用的部分是“most of it”,那为什么还要裁剪呢?用 rails-api 还要搞清楚它裁剪了哪里。

挺看好 AVOS Cloud 这类 Backend as a Service 的

#17 楼 @Rei 和 view 相关的貌似都没了吧,ActionView 和一些渲染功能

#18 楼 @fleuria 苹果的 iCloud,后面貌似要出这类服务么

经验之谈 Rails + Grape 更好。 试过纯 Rack + Grape 估计跟 Sinatra 的问题是一样的。需要自己管理多线程的数据库连接。

用 Sinatra 是遇到了瓶颈并且算过硬件成本和开发成本之后的决策。在你离这些烦恼还有十万八千里远时,果断 Rails 吧,没什么好纠结的。

#22 楼 @billy 现在是用的 rails,rails 的硬件成本比 sinatra 高么?

新手最喜欢先考虑性能问题,但是初期最重要的是一个可持续的架构,否则根本没到性能问题发生,系统就失控了。

楼主用 Rails 先把东西做出来,先想办法找到足够用户量让系统产生性能问题,咱们再来花时间讨论如何提高性能的方案。

#25 楼 @hooopo haha, I should make it work!

@egg_show Rails 功能强很多性能自然差一点,不然你也不用考虑了不是:)但这些性能差离瓶颈还差得远,而且也可以用硬件弥补。

#25 楼 @hooopo 赞 我这边也是用的 Rails + grape, 不过仅仅用了 grape 一点就发现 Rails 真的帮了很多忙。

#30 楼 @kayakjiang 这一说,我直接难受了

#30 楼 @kayakjiang guiming 兄说的在理!

用 Sinatra 项目会失控?失了谁的控?说句有点难听的话,让谁来控制你们才能让你们心灵安宁?

<<失控>>.

rails 加 grape, 禁用 controller, sprocket 和 session.

grape 可以自动生成文档 加 可以使用 rails 的各种开源插件。性能杠杠的。

rails。一个框架不能简单地以轻量来评判。何谓轻量?就是事情做得少,当然就‘轻量’了

#33 楼 @Iacob 有时候两个程序员做过的事情、见过的世界不一样,观念难免会差很远。

现在团队使用 rails 做 app 后台,感觉挺好的,没有使用过 sinatra,不敢评论孰优孰劣。

@egg_show 如果连产品都没有那么再好的性能都没有人来用!! 建议前期性能问题抛后,专注于产品。我们 app 后台同样是 rails 做的,快速 MVP 让你更好把握产品,后期在考虑性能问题。

#41 楼 @ailen make it work first

我分享下自己 Grape 的用法吧:Rack + Grape + Sequel。纯 Rack 应用,Grape 做 API,Sequel 做 ORM。

#24 楼 @kgen 所说的一样,先不谈各种框架的优劣,能解决问题就行。用你 最熟悉 的技术做出来再说,后面再考虑性能之类的问题吧。

现在有rails-api

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