推荐asp.net mvc SPA

时间:2015-02-17 13:13:13

标签: asp.net-mvc single-page-application

我目前拥有visual studio 2010,并希望获得有关利用单页应用程序的最佳方式的一些建议。我以前使用ExtJs运行良好,但是我想知道现在有没有人会推荐的框架?这是驾驶舱显示统计数据和显示图表等。

1 个答案:

答案 0 :(得分:7)

选择IDE

首先,你说你目前有VS2010。

我不得不问:你不能让VS2015(预览版)启动并运行吗?这是免费的,一旦它发布,你应该可以通过一些MSDN订阅或(如果这对你来说太贵了)获得MS注册合作伙伴+ MAPS订阅(其中也包括Windows和Office)。

如果你真的不能,那没关系。你可以用VS2010完成我所说的一切。但是VS2015使得使用这些技术变得非常容易。

选择服务器端平台

您想要创建单页网站/应用程序。非常好。您正走在现代应用的正确轨道上。但那是关于客户端的,而不是服务器端的。

为了使思考变得简单,您可以选择MVC或WebAPI。当然还有其他的选择,包括WebForms,PHP等,但我猜你想让事情变得非常干净和快速,所以你可以选择这两个现代框架。

为了这个答案(这是一个非常简单并且缺少许多东西)Asp.net MVC是关于Razor和观点,而WebAPI是关于REST和Json。

你可以混合两者,从WebApi服务Razor并从MVC发送Json,但我在这里的选择是使用WebAPI强制你使用REST调用,Json和纯HTML文件来解决所有问题。你会明白为什么。

选择客户端框架

有很多选择可以帮助您使用SPA。

我最喜欢AngularJS。这很简单,它很有效,它由Google创建和使用(所以它必须工作,期间)它是多浏览器兼容的,并且有许多HTML5插件可以使用(回退到其他方法,如cookie)。

Angular将帮助您使用基础JavaScript应用程序和模块来创建复合应用程序,并考虑到MVC。你不会真的需要jQuery,除非你做的事情非常复杂。此外,Angular可以帮助您防止泄漏并变得越来越异步,这对现代应用程序很有用。

此外,Angular将帮助您进行绑定和HTML生成。所以,实际上,除非是一个极端特定的复杂案例,否则你不会真正使用Razor。您将发送一个模板HTML,其中包含Angular将使用某些Json或某些特定指令(HTML更改/生成/更新)呈现的标记。

主题

有很多方法可以为您的应用提供主题。一个好的是Angular Boostrap(来自AngularUI)。你可以使用bootstrap js和css(使用本机引导主题)并创建出色的应用程序。

如果你喜欢Boostrap,但是你正在研究更像Windows 8的东西,你可以使用BootMetro

如果你厌倦了Bootstrap,你可以尝试看起来非常好的Foundation

或者您可以google front-end frameworks并找到自己的。

但是如果你不想在这里依赖第三方框架,你可以创建自己的css规则。请记住尽可能保持干净并使用SASS或LESS,这样可以避免额外的编码。

图表

查看D3.js。你可以用它构建出色的图表。如果您使用的是Angular,请尝试阅读this post on creating directives for D3these ready-to-use directives

额外注意

如果你可以尝试VS2015,那就跳进AspNet 5(MVC / WebApi)。您将拥有更好的开发方法,更清晰的框架,更快的应用程序和相对稳定的环境。您可以使用AspNet 5(iis)或AspNet 5核心(这将使您的应用程序可以在任何地方运行,包括Linux / Mac,或者从安装或未安装IIS的笔式驱动器)。