2014-01-07 43 views
4

我目前正在围绕Ember.js进行包装,并转换以前编写的PHP应用程序,该应用程序使用了mysql数据库和一些基本的PHP代码来显示结果。 有一大堆javascript来创建交互,但所有代码很快就变得无法使用。Ember.js后端设置

我在Ember.js中完成了大部分前端工作,并开始考虑如何开始使用后端。 涉及的数据并不多,可以请求数据,创建新数据,更改数据或删除数据。

有一小部分我想实时获取数据。

我在网上浏览过,但因为它都比较新,所以没有那么多的信息。

回答

5

我会推荐在PHP中实现一个RESTful API,并将你的前端与该API挂钩。您可以使用您的ember代码来处理所有的用户交互,然后当需要修改某些实际数据时,请求发送给您的后端。

我已经在过去使用这种策略制作了一个应用程序,后台使用了Laravel,这使得设置RESTful交互变得非常简单。

你可以阅读有关灰烬+ REST这里:http://emberjs.com/guides/models/the-rest-adapter/

+0

谢谢,这是我第一个选项,以及,我想了解如何使用Node.js可能是这样的事情有点矫枉过正。 –

+0

我认为这个节点实际上可能不是一个糟糕的解决方案。我强烈建议检查expressjs来构建您的API。它对于它的功能非常轻量级,并且使用它会使大部分代码库的javascript(如果这是你感兴趣的东西:))这是一个体面的起点读取构建快速REST接口:http: //strongloop.com/strongblog/using-express-js-for-apis-2/ – berrberr

2

的问题是,你能做到这一点的数千种不同的方式相当模糊。 无论您使用哪种语言作为后端应用程序都不在意,

Ember应用程序需要的唯一工作是一个体面的REST api。

对于资源有关的最佳实践check this

一些例子:

0

我一直生活在EmberLoopSql栈(发音为ember-loop-cicle - 只是因为我喜欢声音),现在已经4个月了,我正在深入挖掘它。

StrongLoop允许您对数据存储进行逆向工程,创建与表格对应的模型,并自动为它们创建CRUD ReST API。这意味着你的API中没有代码,只是配置。

loopback-component-jsonapi添加到StrongLoop以提供json:api兼容响应。

接下来,将关系添加到您的StrongLoop模型 - 就像从数据存储冒泡到api的外键关系。现在你拥有了Ember真正喜欢的json:api响应。

我是Percona服务器(MySQL替代品)的忠实粉丝,如果您将表格取消规范化以与您的应用程序保持一致,则您拥有NoSQL风格数据存储区的主要优势之一。但是如果你真的喜欢像Mongo这样的东西,那么StrongLoop就会为这个数据玩家提供一个数据玩杂耍的东西,同时也适用于大多数现代数据存储。

Ember的新JSONAPIAdapter可以识别来自StrongLoop的json:api响应中公开的关系。在模型中建立关系之后 - 再次冒泡数据存储区外键 - Ember将自动为您提取相关性。例如。如果您有模型a,b和hasMany b,则可以在模板中使用a.b,然后Ember将理解关系并为您获取数据。

我真的很喜欢这个堆栈是多少样板代码只是蒸发。与java,php,express,go等相比,此堆栈中的代码很小且组织良好。我可以在几个小时而不是几天内实现新功能。

希望这些意见将有助...