我是.NET生态系统的新手,并且想了解它的工具。根据我在文档和官方博客中所读的内容得出的结论是:
可以建造SPA/PWA
1.1。如果将那些框架用作REST API服务器,则使用ASP.NET, ASP.NET MVC and ASP.NET Core (MVC)
。客户端使用React, Vue or Angular
编写。
1.2。使用ASP.NET, ASP.NET MVC
使用部分视图渲染。甚至可以在SPA
网站上获得类似SSR
的行为。
使用ASP.NET, ASP.NET MVC
和.NET Core
,ASP.NET Core (MVC)
都可以构建API Web服务器。 M * C在这里更有意义吗?
可以通过以下方式构建SSR
应用(例如曾经在2000年初使用的传统网站)
3.1。 ASP.NET Web Forms
3.2。 ASP.NET
3.3。 ASP.NET MVC
对于较新的ASP.NET Core (MVC)
,可以使用Blazor
UI框架或Razor Pages作为UI。在这种情况下,将不使用以下任何一项:React
,Vue
,Angular
。
有这个问题:
ASP.NET Web API
是仅用于构建API服务器,还是可以使用它创建功能完善的网站?我对Web /软件开发有一个很好的主意。但是我从未使用过.NET Framework。所以我的问题是关于了解其组成部分。想象一下,我需要了解各个公司运行的.NET项目。我需要对.NET可以做什么以及这些固件的用途有所了解。我的目标是研究.NET项目的组成部分并了解它是什么。虽然API和新的.NET核心很容易理解,但是较旧的ASP.NET(MVC),Web Form,WinForm以及Blazer / Razor如何与例如如果没有.NET经验,React(如果是的话)并不容易。
答案 0 :(得分:0)
我不确定您是指旧的(.net核心之前)Asp.Net还是新的(核心)。
如果您尝试构建新的东西,我不建议您使用旧的非核心版本。 dotnet的当前版本为dotnet core 2.2
。它没有ASP.NET Web API
作为单独的功能。相反,它具有ASP.NET Core MVC
,其中结合了MVC
和WebApi
的功能。
可以使用Razor引擎使用服务器渲染来创建SPA应用程序和“旧”类型的网站。以这种方式构建的应用程序可以在Linux和Windows上运行。
您自己选择了控制器将返回的内容:用于API的Json数据或用于“经典” Web应用程序的呈现HTML。
P.S。以我的观点(偏见),如今在.net core中使用这两种类型的Web应用程序启动,启动和运行实际上非常容易。与臭名昭著的msdn页面相比,Microsoft对该文档进行了极大的改进,而这些msdn页面没有教程,而只是关于每种方法/属性/等的非常基本的描述。做。他们现在在their website上有很好的文档。
P.P.S。 Razor不反对React,它是Asp.Net的服务器端渲染部分。 Blazor最近是WebAssembly之上的实验技术。似乎现在已在Official Perview中。
答案 1 :(得分:0)
据我了解,您的问题分为两部分。首先是您可以使用ASP.net Web APi构建的内容,其次是如何在Asp.net中创建功能齐全的网站
是的,Asp.net API仅用于在服务器上构建API。通常,SPA,移动应用程序或另一个Asp.net Web应用程序或.net应用程序都可以使用此API。
要制作功能全面的网站,可以使用Asp.net MVC或Web窗体。我们可以说这是asp.net的两种风格。 Web表单已过时,不再使用。人们更喜欢使用MVC。现在,MVC是一个广义的概念,并为Web开发提供了模式。在MVC中,您具有处理请求的控制器和API控制器。控制器返回视图,而API仅返回数据。因此,如果您使用Angular或React构建网站,则如果您的网站是动态的,则需要API提供数据。如果您的网站是静态的,则服务器端不需要任何内容。
现在,.net有了.net框架,之后才有了称为.net core的新版本。您可以使用任何此框架来构建网站。但是,有了.net core,您就可以与Windows机器(例如Linux或Mac)分开运行网站。
答案 2 :(得分:0)
这实际上取决于您希望构建的内容。通常,我们会构建api,以便在不同的客户端(例如,WEB,Mobile)中提供不同的服务。您需要了解工作的目的。如果您想创建一个可能在移动设备上实现未来的Web应用程序,则应选择API
。
现在问您一个问题,API
在这里用于数据操作和不同类型的身份验证。您无法通过views (html response)
重定向或切换api
。因此,您无法使用Asp.NET Web Api
建立功能完整的网站。您需要为Api
创建一个网络或移动客户端,并使用api
来使您的应用正常运行。
您的客户可以是Django
,Asp.NET MVC
,Sprint Boot
Android
等。