ASP.NET 是微软基于.NET 框架推出的Web编程框架。
ASP.NET起初借鉴了WinForm编程模型,就是拖拖控件就能实现界面编程,这个时候的ASP.NET 也叫ASP.NET WebForm,后来由于其他公司的竞争以及不断市场需求MVC编程模型开始流行,加之WebForm编程模型自身的缺陷,它违背了Web编程最基本的概念,导致微软不得不做出改变,于是基于ASP.NET 的MVC 编程模型被支持!
其实在ASP.NET 之前还有个ASP,是微软还没推出.NET 框架前的web编程解决方案,但ASP.NET 和ASP一点关系也没有,ASP更像是JSP、PHP 等编程技术,就是在html标签中加入特殊的服务器标签,如<% %> , PHP 是<php? > ,JSP是 <% %> 等,都是在服务器端渲染后返回HTML+JS+CSS 给浏览器解析成页面。
所以到现在,WebForm已经成为历史了,ASP.NET MVC的版本也一直在迭代中 v1,v2都还是使用和ASP服务器一样的服务器标签<%%>作为服务器标记作为渲染标记,到了V3的时候开始引进了Razor渲染引擎,使得在HTML页面编写服务器标记更直观和方便高效了。
随着市场环境的变化,开源技术和跨平台技术给微软相当大的压力,促使微软不得不拥抱开源和跨平台,于是微软推出了跨平台解决方案.NET Core。以前的ASP.NET 都只能在Windows服务器上部署,这限制了很多公司和个人对自主把控技术的能力。在.NET Core框架对应的web编程模型当然就是ASP.NET Core 了。ASP.NET Core 版本也在不断的迭代中,除了对标ASP.NET MVC,ASP.NET WebApi ,有相应的 ASP.NET Core MVC, ASP.NET Core WebApi ,还引进了 ASP.NET Core RazorPage,它是基于MVVM的编程模型。还有其他的编程模型如:Blazor 等。
技术发展从来没停止过,随着前端发展越来越带劲,前端3大框架Vue.js 、Anglar、React的流行,以及多端技术(移动原生app,微信小程序、支付宝小程序、钉钉小程序等等等)更适合快速开发快速迭代的开发方式,不管前端技术如何变化,其所在编程结构方面都不会变的,即前端(PC浏览器,移动设备浏览器,各类APP等)就是向后端请求数据,得到数据后展示数据,而后端接收前端的请求,处理请求并返回结果,事情已经都很明确了,这也符合大家的期待,我们叫这种编程方式为“前后端分离”。
---------------------------------------------后续有补充的再加上,先想到这么多---------------------------------------------------