2014-01-07 45 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等相比,此堆棧中的代碼很小且組織良好。我可以在幾個小時而不是幾天內實現新功能。

希望這些意見將有助...