Ember.js和Ruby on Rails:战略

时间:2015-06-11 17:51:49

标签: ruby-on-rails ruby ruby-on-rails-3 ember.js

我需要使用管理员后端开发交互式Web应用程序。我已经考虑过使用Ember.js作为前端,使用Ruby on Rails(使用ActiveAdmin)作为后端。

但我有一些问题:

1) 我应该将Ember.js应用程序放在rails项目中,还是将它们分开?是否有任何性能差异或我应该知道的选择一个这两种策略?我喜欢尽可能清楚地说明事情。

2) 我应该使用Ember.js和Rails-API吗?我的意思是......我想我几乎不会使用任何关于Ruby的东西在Rails项目...但我很困惑,因为我需要Admin后端...

我在Ruby on Rails上有一些经验(一点点),但由于我是Ember.js的新手,我非常感谢你能给我的任何帮助。

3 个答案:

答案 0 :(得分:1)

我也参与过类似的项目,相信我有两个不同的项目会让你受益匪浅。

我使用了以下内容:

  • Sinatra for backend
  • Backbone.js for frontend

当您使用两个单独的应用程序时,在代码中添加功能会更容易。

答案 1 :(得分:0)

我最近有一个类似的项目,包括Angular应用程序和Rails后端。我同意阿尔斯兰的观点。拥有Sinatra,Rack或其他API比Rails更好。

对某些部分使用Ember,对其他部分使用Rails(如管理部分)是一个坏主意,因为:

  1. 你正在以两种不同的方式做同样的事情:获取数据,渲染页面等。
  2. 您将在Rails应用程序中拥有2个独立的功能:一个Rails应用程序和一个API。
  3. 运行2个独立的应用程序比将Javascript MVC放入Rails应用程序要简单得多。最终,您需要使Asset Pipeline能够满足您的需求。

答案 2 :(得分:0)

这是我的看法:

  1. 如果你能熟练使用Rails,坚持使用Rails。
  2. 是的,Sinatra或其他框架可能更轻,但您必须自己处理很多事情。

    至于Rails-API,它是一个很好的项目,但是一开始就要弄清楚删除了哪些模块等等。你可以使用Rails创建一个没有Rails-API的API 。您可以随时使用Rails-API 如果,则表明您需要提高性能。

    1. 使用Ember CLI 作为客户端应用程序。
    2. 它是开发ember应用程序和使用第三方库的黄金之路。宝石Ember-rails仍然可以使用并且仍然可以维护,但你应该用它来开始一个新项目。

      1. 将它们分开
      2. 让它们分开更有意义。这样,两个应用程序的开发和部署都没有相互关联。

        它使用了更多的存储库,如果您使用github,则可能意味着您必须切换计划。但还有其他选项,如bitbucket,其中定价与私有存储库的数量无关

        我希望这会对你有所帮助。