如题,有人觉得 Rails 的很多东西(view 部分、help 部分等)在作为 APP 的后台时太累赘,很多东西在创建项目的时候 rails 就自动引入了,但是开发过程中又没用,虽然据说可以手动删掉这些个东东;俺是 rails 菜鸟,Sinatra 还没接触过,不知各位怎么看的?
Sinatra/Grape升级慢一些变化也不会特别大,Rails每次升级变动都不小(当然你也可以选择不升级),相对于业务比较稳定,变动较小的后台任务,还是Sinatra/Grape合适一点
我对 rails-api 存疑,既然作者都认为 rails 默认的组件中对 api service 有用的部分是“most of it”,那为什么还要裁剪呢?用 rails-api 还要搞清楚它裁剪了哪里。
经验之谈 Rails + Grape 更好。 试过纯 Rack + Grape 估计跟 Sinatra 的问题是一样的。需要自己管理多线程的数据库连接。
新手最喜欢先考虑性能问题,但是初期最重要的是一个可持续的架构,否则根本没到性能问题发生,系统就失控了。
楼主用 Rails 先把东西做出来,先想办法找到足够用户量让系统产生性能问题,咱们再来花时间讨论如何提高性能的方案。
真实的困难都隐藏在具体的实现细节中,用 sinatra 的话,你会在下面的地方觉得难受,
刚开始创建一个新项目时
构建项目的结构
构建标准的开发,测试,生产三套环境
数据库连接
gem 包管理
创建模型,加载模型,或者加载其他任何你新创建的文件
database migration
管理 rake 任务
管理定时任务
写测试
问题求助,遇到问题得不到充分的帮助
后台管理
日志
想要一个类似 rails console 的 console
部署
编辑器
后期维护
项目交接
rails 加 grape, 禁用 controller, sprocket 和 session.
grape 可以自动生成文档 加 可以使用 rails 的各种开源插件。性能杠杠的。
@egg_show 如果连产品都没有那么再好的性能都没有人来用!! 建议前期性能问题抛后,专注于产品。我们 app 后台同样是 rails 做的,快速 MVP 让你更好把握产品,后期在考虑性能问题。