2013-08-21 37 views
2

我目前開始了大規模的Web應用程序項目,其中一項規定是,下來,我可能需要允許iOS和Android應用程序與我的應用程序接口的線路,我認爲最好的解決方案是創建一個RESTful API並擁有它的Web應用程序接口。但是,做前端開發的同事並不熟悉使用javascript框架,比如backbone.js(更多的是我認識的庫),ember.js或angular.js。由於我們使用的是asp.net,我認爲我可以使用asp.net MVC處理身份驗證和路由,根據路線提供獨立的視圖,並且他只能處理數據操作,但是,我似乎無法瞭解如何從javascript框架分離路由,我研究了ember.js和backbone,並且他們似乎都需要路由來處理它們的末端,以便真正起作用。前端JavaScript框架與asp.net的MVC和Web API

有沒有人有任何想法如何實現數據處理而不需要路由?

+0

你能澄清你的意思是數據處理嗎? –

+1

獲取新的前端開發人員。 – 2013-08-21 17:31:47

回答

1

看一看KnockoutJS,這將允許您使用ASP.NET MVC路由或其他JavaScript庫,例如sammy.js(只用於路由)或Durandal(路徑和導航)。

注:迪朗達爾1版使用sammy.js內部,但第2版有一個自定義路由引擎,不再使用sammy.js。

9

您所描述的內容通常被稱爲面向API的架構,這意味着您在前端的後端和富客戶端應用程序上具有RESTful服務。

的一點是,它基本上不會不管你選擇什麼樣的技術了在服務器上。它可以是任何東西:ASP.NET MVC,Web API,Express.js或Django。只要它真的是RESTful和純粹的。純粹的意思是,它只處理數據,不處理HTML或其他東西。

服務器只需指定你處理數據接口,

GET /invoices  // get all invoices 
GET /invoices/:id // get invoice by id 
POST /invoices  // post new invoice 

如果你自信與.NET,的WebAPI可能是不錯的選擇。通常你更喜歡JSON輸出,WebAPI可以爲你處理內容談判。

現在,客戶端的工作是消耗的API數據並在瀏覽器中動態創建HTML。很多選擇現在:Backbone.js的,Angular.js等

請注意:客戶端路由和服務器端的路由是完全不同的事情。

服務器側路由:路由特定HTTP請求發送到特定的控制器動作(或任何功能)。

客戶端路由:檢測到URL變化,觸發相應的JavaScript函數來處理變化。客戶端路由對SPA(單頁面應用程序)至關重要。你可以在blog post上找到更多關於SPA的信息。

+0

哇..非常強勁的迴應。我知道這樣的評論不被推薦,但我一整天都在閱讀,爲這個問題做出決定,你的回答非常有幫助。 – Ashi