我需要开发一个带有管理员后端的交互式Web应用程序。我考虑过使用Ember.js作为前端,Ruby on Rails(使用ActiveAdmin)用于后端。
但我有一些问题:
1) 我应该将Ember.js应用程序放在rails项目中,还是将两者分开?选择这两种策略之一是否有任何性能差异或我应该了解的内容?我喜欢把事情说得尽可能清楚。
2) 我应该改用Ember.js和Rails-API吗?我的意思是。。。我想我几乎不会使用任何关于Ruby on Rails项目的东西......但是我很困惑,因为我需要管理员后端...
我在Ruby on Rails上有一些经验(一点),但是由于我是Ember.js的新手,我非常感谢您能给我的任何帮助。
我也做过类似的项目,相信我有两个不同的项目会让你受益匪浅。
我使用了以下内容:
- Sinatra for 后端
- 主干网.js用于前端
当您使用两个单独的应用程序时,在代码中添加功能变得更加容易。
我最近有一个类似的项目,有一个Angular应用程序和一个Rails后端。我同意阿尔斯兰的观点。拥有Sinatra,Rack或其他API比Rails更好。
对某些部分使用 Ember,对其他部分使用 Rails(如管理部分)是一个坏主意,因为:
- 您正在以两种不同的方式执行相同的操作:获取数据,呈现页面等。
- 您将在Rails应用程序中拥有2个单独的功能:一个Rails应用程序和一个API。
运行 2 个单独的应用程序比将 Javascript MVC 放入 Rails 应用程序要简单得多。您最终会让资源管线执行您需要的操作时遇到复杂性。
这是我的看法:
- 如果你精通 Rails,请坚持使用 Rails。
是的,Sinatra或其他框架可能更轻,但你必须自己处理很多事情。
至于 Rails-API,这是一个很好的项目,但是一开始要弄清楚哪些模块被删除等有点麻烦。你可以用 Rails 制作一个没有 Rails-API 的 API。如果事实证明您需要提高性能,您可以随时使用Rails-API。
- 将 Ember CLI 用于客户端应用程序。
这是开发 ember 应用程序和使用第三方库的黄金路径。gem Ember-rails仍然有效并且仍然得到维护,但你不应该用它开始一个新项目。
- 将它们分开
将它们分开更有意义。这样,两个应用的开发和部署就不会相互关联。
不过,它使用更多的存储库,如果您使用的是github,则可能意味着您必须切换计划。但是还有其他选项,例如bitbucket,其定价与私有存储库的数量无关
。我希望这对你有所帮助。