使用asp.net mvc和web api前端javascript框架

cli*_*uke 3 asp.net asp.net-mvc backbone.js ember.js asp.net-web-api

我目前正在开始一个大规模的Web应用程序项目,其中一个要求是,我可能需要允许iOS和Android应用程序与我的应用程序连接,我认为最好的解决方案是创建一个RESTful API并且有与它的Web应用程序接口.然而,我做前端开发的同事不熟悉使用javascript框架,例如backbone.js(我知道的更多库),ember.js或angular.js.由于我们正在使用asp.net,我认为我可以使用asp.net MVC处理身份验证和路由,根据路由提供单独的视图,他只能处理数据操作,但是,我似乎无法想象如何从javascript框架中分离路由,我已经研究了ember.js和骨干,它们似乎都需要在它们的末端处理路由才能真正起作用.

有没有人知道如何在不需要路由的情况下实现数据操作?

Ale*_*sky 10

您所描述的通常称为面向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
Run Code Online (Sandbox Code Playgroud)

如果您对.NET充满信心,那么WebAPI可能是不错的选择.通常您更喜欢JSON输出,WebAPI可以为您处理内容协商.

现在,客户端工作是使用 API数据并在浏览器中动态创建HTML.现在有很多选择:Backbone.js,Angular.js等.

请注意:客户端路由和服务器端路由完全不同.

服务器端路由:将特定HTTP请求路由到特定控制器操作(或任何功能).

客户端路由:检测URL更改并触发相应的JavaScript函数来处理更改.客户端路由对于SPA(单页面应用程序)至关重要.您可以在该博客文章中找到有关SPA的更多信息.