5

我一直在思考做一些发展与Backbone.js的JavaScript框架和我目前使用ASP.NET MVC ...ASP.NET MVC + Backbone.js,这有什么意义吗? ASP.NET MVC确实需要?

考虑在此之后,似乎ASP.NET MVC服务器端部分是多余的.. 。

Backbone.js将包含我通过调用我的WCF机器上的REST服务获得的模型。

我的用户界面将由骨干/ JS进行更新...

任何逻辑将是Backbone.js的控制器,有必要将在客户端侧执行。使用

我真的很喜欢一些意见,因为我似乎在假设ASP.NET MVC是由Backbone.js的消灭了已经到达..

Anyboyd两个,为什么?如何?

在此先感谢

+1

骨干。js不再有'Controller' http://documentcloud.github.com/backbone/#Upgrading。另外,你的逻辑不敏感吗?例如,你打算处理客户端的管理吗?当所有的逻辑都是客户端时,什么会阻止非管理员使自己成为管理员? –

+0

@JimSchubert权限和用户在数据库中。安全性在数据库中。你不需要一个服务器 – Raynos

+1

@Raynos:仅仅因为安全性在数据库中,并不意味着它的正确性。 –

回答

6

有趣的是,我会实际上采取相反的方式:保持MVC而不是WCF。无论您的MVC项目是否只为其客户端提供“数据”而不是“视图”,MVC仍然提供了许多Web应用程序所需的管道。

9

我真的很喜欢一些意见,因为我似乎在假设ASP.NET MVC是由Backbone.js的消灭了已经到达..

无骨干在客户端运行。

在客户端和服务器上可以运行什么是有区别的。

但是实际上没有服务器作为中间件,只是通过REST公开数据库。

您当然需要在数据库上设置正确的登录机制和权限以确保安全。

但是,您需要关闭源代码的服务器。

如果您想使用C#/ .NET/Massive代码重用。大量的模式重用使用服务器端中间人。

只有客户端&数据库的大型应用程序的概念是未经测试的,对于“什么是好的实践”几乎没有什么知识,因为它们不存在。

当然,您可以将服务器端javascript改为node.js,而且可以重新使用服务器&客户端上的所有主干模型/集合。这可能会更适合你

+0

“只有客户端和数据库的大型应用程序的概念未经过测试,对”什么是好的实践“,因为这些不存在。” - 不知道你在90年代末/ 2000年初的时候,但我可以想到几百个VBA/SQL应用程序就是这么做的。 –

+0

@WyattBarnett我认为对VBA/SQL应用程序的普遍态度是它们是意大利面和维护噩梦。虽然我没有想到从这些应用程序到网络部门可以传输多少信息/架构设计 – Raynos

2

请参考我answer to a similar question

我简短的回答是MVC使用客户端框架时,是绝对不会浪费。 MVC不仅仅是在Razor中撰写观点。您可以通过选择控制器,操作和路由来获得模型绑定,验证,身份验证和控制URL结构的能力。即使不使用服务器端视图,80%的优点也很有用。