推荐asp.net mvc SPA

Mar*_*ard 1 asp.net-mvc single-page-application

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

And*_*tos 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.

或者你可以谷歌front-end frameworks找到你自己的.

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

图表

看看到D3.js.你可以用它构建出色的图表.如果您正在使用Angular,请尝试阅读有关创建D3指令这些即用指令的帖子.

额外的说明

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