Lui*_*eia 6 asp.net-mvc jquery web-services asp.net-web-api angularjs
在过去的几年里,我一直在使用ASP.Net MVC.我真的习惯使用这种模式开发.关于前端,到目前为止,JQuery已经足以满足我的需求.
然而,随着时间的推移,我越来越多地听到AngularJS是要走的路,并且JQuery变得"有点"过时了.
这就是为什么我一直在研究将AngularJS集成到我当前项目中的一些选项.有一些重要的事实需要考虑:
对于SPA(单页面应用程序)而言,Angular比对非SPA更有意义;
Angular是一个框架,JQuery是一个库;
在ASP.Net MVC范例中,我们通常向客户端发送纯HTML.在Angular项目中,数据通常通过JSON发送给客户端;
Angular和Razor彼此不顺利.Razor是一种抽象,可以帮助程序员呈现复杂(有时不那么复杂)的HTML.对于angular,视图不会在服务器端创建,而是在客户端从JSON传输的模型创建(例如);
Angular与Web API(或任何其他Web服务)密切配合,而JQuery与ASP.Net MVC控制器密切配合;
结论:如果我错了,请纠正我,但似乎使用Angular的大多数应用程序的服务器端只包含Web服务.
我的问题是:是否应该使用webservices来创建整个网站?显然,这正是新一波基于角度的应用程序所发生的事情.
回答你的问题Should webservices be used to create entire websites?
是......如果要求与服务器端资源对话的SPA.
这是否是一个好的要求取决于其他问题的答案:
我们真的需要SPA吗?
我们是否有开发人员技能来建立SPA?如果不是,我们是否愿意雇用或培养现有开发人员并承担这笔费用?
我们能承受额外的发展吗?
额外开发所涉及的成本取决于控制器的"重"程度.如果您拥有一个清晰的架构,其中包含定义良好的域模型和服务(而不是Web服务),并且控制器只是在服务和视图之间进行协调,那么构建WebAPI应该不会太困难.如果您的控制器充满了业务逻辑,您需要将它们转换为WebAPI,在这种情况下,您必须同时更改视图,并且窗口中的并行开发,或您复制,或重构.我建议使用重构,但这不会是微不足道的.
对于你的其他一些观点.您绝对可以在每页的基础上使用Angular将该页面移动到基于ajax的通信而不是完整的帖子和刷新.你也可以像使用jQuery Forms这样的插件轻松地使用JQuery.使用JQuery有利于利用现有知识,坦率地说更直接.Angular,因为它是固执己见的确促进了一种标准的做事方式,所以它确实意味着你的javascript代码库应该保持更加结构化,因为它是mvc应用程序中包含的自己的小客户端应用程序.这里的另一个好处是,如果这成为一个真正的要求,这是一个接近SPA的重要一步.
这是一个结束的想法,这可能是决定采取这种暴跌的因素.创建SPA时,您将创建一个与您公开的API交互的javascript/html客户端.其他客户端也可以使用相同的API,如移动应用或合作伙伴网站.
去SPA的愿望往往是因为作为开发者,你想学习"新浪潮",这是一件好事.只要确保符合条件的人知道他们的用途,并乐意这样做.
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |