Ember.js后端设置

时间:2014-01-07 02:20:33

标签: ember.js

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

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

我希望实时获取数据的一小部分。

我在网上浏览了一下,但由于它相对较新,所以没有那么多信息。

3 个答案:

答案 0 :(得分:5)

我建议在PHP中实现RESTful API,并使用该API挂接您的前端。您可以使用您的余烬代码来处理所有用户交互,然后在需要更改某些实际数据时向您的后端发送请求。

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

您可以在此处阅读Ember + REST:http://emberjs.com/guides/models/the-rest-adapter/

答案 1 :(得分:2)

问题很模糊,因为你可以用数千种不同的方式做到这一点。 使用哪种语言作为后端并不重要,因为ember应用程序不关心。

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

有关最佳做法的资源,check this

一些例子:

答案 2 :(得分:0)

我已经和EmberLoopSql堆栈(发音为ember-loop-cicle - 只是因为我喜欢这个声音)一起生活了4个月而且正在挖掘它。

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

loopback-component-jsonapi添加到StrongLoop以提供符合json:api的响应。

接下来,添加与StrongLoop模型的关系 - 比如将数据存储区中的外键关系冒泡到api。现在你有了Ember非常喜欢的json:api回复。

我是Percona Server(MySQL替代品)的忠实粉丝,如果您对表进行反规范化以与您的应用程序保持一致,那么您拥有NoSQL样式数据存储的主要优势之一。但是如果你真的喜欢像Mongo这样的东西(我这样做),那么StrongLoop有一个数据变换器......以及大多数现代数据存储。

Ember的新JSONAPIAdapter可识别来自StrongLoop的json:api响应中暴露的关系。在模型中设置关系后 - 再次冒泡数据存储外键 - Ember将自动为您获取依赖关系。例如。如果您有模型a,b和a hasMany b,则可以在模板中使用a.b,Ember将了解该关系并为您获取数据。

我真正喜欢这个堆栈的是什么样的样板代码才会蒸发掉。与java,php,express,go等相比,这个堆栈中的代码很小,组织得很好。我可以在几个小时而不是几天内实现新功能。

希望这些意见有所帮助......