【问题标题】:Angularjs + ASP.NET MVC + ASP.NET Web APIAngularjs + ASP.NET MVC + ASP.NET Web API
【发布时间】:2014-05-27 17:56:40
【问题描述】:

我正计划构建我的新 Web 应用程序。我擅长 ASP.NET MVC 和 jQuery,并且也有 Web API 的工作知识。我是 Angularjs 的新手,但我想在客户端使用它来处理需要 DOM 操作的复杂页面。我有以下顾虑:

  1. 在知道单页应用程序框架将是一个具有许多页面和复杂逻辑/算法的中等规模应用程序之后,我是否仍应考虑它。
  2. 我听说有人在谈论用 ASP.NET Web API + Angularjs 完全替换 ASP.NET MVC + jQuery。对于具有复杂逻辑的中型或大型 Web 应用程序,它真的是一个更好的选择吗?如果是,那么会话、身份验证等的替代方案是什么。
  3. 同时使用 ASP.NET Web API、ASP.NET MVC 和 Angularjs 是否是一个明智的决定
  4. 最新版本的jQuery之间的兼容性是什么, Bootstrap 和 Angularjs
  5. 使用 Angularjs + SPA 代替 ASP.NET MVC + jQuery(非 SPA) 会增加开发时间/成本

是否有人使用 Angularjs 编写过中/大型复杂的 Web 应用程序?

【问题讨论】:

  • 您的问题都取决于您对工具的熟悉程度。例如,如果您不了解 JavaScript,那将变得越来越困难。
  • 我刚刚更新了这个问题。我也很擅长 jQuery。很抱歉之前没有提及。我一直在使用 ASP.NET MVC 和 jQuery。我已经在他们的网站上浏览了 Angularjs 的官方教程,看起来也很简单,但是太基础了。
  • 你是说 Angular 太基础还是教程太基础?角度是anything but basic
  • 可能想看superdevelopment.com/2013/12/16/…作者更喜欢Web API + Angular。

标签: jquery asp.net-mvc angularjs twitter-bootstrap asp.net-web-api


【解决方案1】:

在知道单页应用程序框架将是一个具有许多页面和复杂逻辑/算法的中等规模应用程序之后,我是否仍然应该考虑它。

我在 SPA 方面没有太多经验。 MVC 并不是真正为解决问题而设计的,但 AngularJS 可以很好地使用这种方法。在这里你不会有任何我能看到的困难。

我听到人们谈论用 ASP.NET Web API + Angularjs 完全替换 ASP.NET MVC + jQuery。对于具有复杂逻辑的中型或大型 Web 应用程序,它真的是一个更好的选择吗?如果是,那么会话、身份验证等的替代方案是什么。

将 jQuery 替换为 AngularJS,除了少数情况下 jQuery 可以做 Angular 不能做的事情。根据我的经验,我只将 jQuery 用于罕见的 DOM 选择情况。

Angular JS 非常擅长分离关注点、数据绑定、无缝 UI 更新和鼓励良好的编程实践,例如 IOC/dependency injectionSOLID

WebApi 不会替换 MVC 本身;但你应该做的是在有意义的地方使用 WebApi。也就是说,每当您使用 Angular 进行异步 (AJAX) 调用时,它都应该与 WebApi 后端进行交互。简单的获取/发布内容。

同时使用 ASP.NET Web API、ASP.NET MVC 和 Angularjs 是一个明智的决定吗?

当然。我鼓励它。

最新版本的 jQuery、Bootstrap 和 Angularjs 之间的兼容性如何。

Bootstrap 依赖于 jQuery。角度没有。他们都完美地相互合作。我都使用它们(但我不直接与 jQuery 进行太多交互)。

使用 Angularjs + SPA 而不是 ASP.NET MVC + jQuery(非 SPA)会增加开发时间/成本吗?

AngularJs 有一个学习曲线,并不像 jQuery 那样简单。也就是说,它不像 jQuery 那样 pick-up-and-go

一开始会更费时间,但我认为随着时间的推移,易于调试、强制代码分离和更好的实践意味着 Angular 更健壮、更灵活、更少的代码、更多的代码重用等等。

请注意,虽然我是 AngularJS 的粉丝,但我确信 other javascript frameworks(如 Ember、Backbone、Knockout 等)同样出色。个人喜好/经验。

【讨论】:

  • 我习惯于通过在基本控制器中使用共享/通用方法/属性或在控制器中操作的前/后执行事件来概括代码,考虑到网络,我是否必须在 javascript 中完成所有这些api只会对数据负责?另外,我如何利用 SPA 中的会话来管理我的服务器端的东西。
【解决方案2】:

我处于类似的情况,但是当与 MVC 一起使用时,我已经开始看到使用这些较新的框架(例如 AngularJS)的“迷雾”。我已经浏览了 Pluralsight 上的几个在线教程,并同意其中一位作者 Shawn Wildermuth,他建议在考虑 SPA 概念时使用“组合”方法。基本上,将“SPA 页面”限制为仅允许使用的页面,否则使用 MVC 视图等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 2014-06-02
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2015-09-17
    • 2012-10-11
    相关资源
    最近更新 更多