asp.net mvc SPA 的推荐

Recommendation for asp.net mvc SPA

我目前有 visual studio 2010,希望就使用单页应用程序的最佳方式获得一些建议。我以前使用过 ExtJs,效果很好,但是我想知道现在是否有人们会推荐的框架?用于驾驶舱显示统计数据,显示图表等。

选择你的IDE

首先,你说你目前有VS2010。

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

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

选择服务器端平台

您想创建一个单页 website/application。那挺好的。您走在现代应用程序的正确轨道上。但那是关于客户端,而不是服务器端。

这里为了简化思路,您可以选择 MVC 或 WebAPI。当然还有其他替代方案,包括 WebForms、PHP 等,但我猜你想让事情变得真正干净和快速,所以你有这两个现代框架可供选择。

为了这个答案(它非常简单并且遗漏了很多东西)Asp.net MVC 是关于 Razor 和视图的,而 WebAPI 是关于 REST 和 Json.

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

选择客户端框架

有很多选项可以帮助您进行 SPA。

我最喜欢AngularJS。它很简单,它有效,它由 Google 创建和使用(所以它必须有效,句号)它是多浏览器兼容的并且有许多 HTML5 插件可供您使用(回退到其他方法,比如饼干)。

Angular 将帮助您使用基础 JavaScript 应用程序和模块来创建复合应用程序,并牢记 MVC。除非您正在做一些非常复杂的事情,否则您将不再真正需要 jQuery 。此外,Angular 可帮助您防止泄漏并变得越来越异步,这对现代应用程序很有好处。

此外,Angular 将帮助您进行绑定和 HTML 生成。所以,实际上,除非在非常特殊的复杂情况下,否则您不会真正使用 Razor。您将发送带有一些标记的模板 HTML,Angular 将使用某些 Json 或某些特定指令(HTML changing/generation/update)呈现。

主题

有多种方法可以为您的应用设置主题。一个好的是Angular Boostrap(来自AngularUI)。然后,您可以使用 bootstrap js 和 css(使用原生 bootstrap 主题)并创建出色的应用程序。

如果您喜欢 Boostrap 但正在寻找更像 Windows 8 的东西,您可以使用 BootMetro.

如果Bootstrap看腻了,可以试试Foundation,真的很好看。

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

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

图表

看看 D3.js. You can build amazing charts with that. If you're using Angular, try reading this post on creating directives for D3 or these ready-to-use directives

补充说明

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