Although there are several options frameworks in the. NET ecosystem, unlike in Java, almost no one uses them. One sits on top of Microsoft’s ASP.NET. Whether this is good or bad is for each one’s judgment. But remember that Microsoft did a lot of things after seeing others' mistakes, so it got right more easily. ASP.NET is an umbrella name for various technologies that enable the . NET to work with web.
ASP.NET initially was just Webforms which is a technology that tries to reproduce, as far as possible, the way of programming Windows Forms, maintaining state, artificially, between requests of pages.
This technology helped a lot of people, it was good, and it still serves some purposes. But it’s not very suitable for the real Internet that we have today. It is a supported but legacy technology. It stopped at 4.6 and will only receive sporadic updates absolutely necessary (now not even that).
Then was created the ASP.NET MVC, which is completely different from Webforms. Initially it had several dependencies with classic ASP.NET (Webforms). The current version (ASP.NET Core) no more. And you can easily run on the three main server platforms (someone should use Mac as a :P server). The classic version of it is considered obsolete in favor of ASP.NET Core.
Few people know and fewer still use, but also have the ASP.NET Webpages. Which is a simpler technology that has basically every part of view of the MVC and some facilities for general development, including the main model, but it doesn’t require the MVC model. It’s great for simpler websites that don’t need all this complication, and many don’t need it all, but the staff only hears about MVC and even does simple things about it. Webpages is similar to the classic way of making websites in PHP.
Another family technology is the ASP.NET Webapi which was created precisely to do the opposite, provide data without a view defined. It is used to create Apis based on web technologies. Aaaaah go?! : ) The current version (Core) has been fully integrated with MVC and there will no longer be anything separate.
To provide real-time notifications to connected clients, the ASP.NET Signalr. It is incorporated into Core. There are clients for various technologies even non-web.
ASP.NET Razor Pages is a new model that runs on top of the ASP.NET Core that cuts down the bureaucracy by putting everything in one file. It is possible to keep the view separate if desired. It’s all organized per page. It has a few limitations on MVC. There are important people within Microsoft who say only use it now. For almost all projects is the most interesting. In cases of extreme complexity and that the API is also important is that it uses MVC.
Blazor was created to run in browsers but there is the option to run it on the server and render pages as if it were in the browser.
"Minor technologies"
There are still some auxiliary technologies such as ASP.NET Identity to provide authentication and authorization.
The ASP.NET Razor is the engine of template of these technologies that need a way to assemble a visualization.
The ASP.NET AJAX are extensions to integrate all ASP.NET with AJAX technologies in the client.
Webmatrix is used to integrate all this, but with the new version of ASP.NET, it doesn’t seem to make as much sense.
There was the ASP.NET Dynamic Data, but as far as I know it was replaced by the Entity Framework (the .NET ORM) in most cases. It facilitated the access to data and assembly of pages. The technique of scaffolding has been integrated into ASP.NET. Core has its own version of EF.
Some are obsolete now.
Has a website that centralizes all of this.
I made a question about the new ASP.NET 5 which is the technology that will "survive" and encompass these modern tools, currently it is called ASP.NET Core and version 2 is integrated into the .NET Core standard. Except for Webforms, which can even be integrated with the rest, they should all work together a lot.
New services have now emerged for integration with Azure (the Microsoft cloud).
That’s all open source, with real freedom. There you can see that it has a huge amount of "small" extensions useful for web development. Has tools and libraries for caching, logging, access to various databases and other forms of data access in various ways, HTTP server, session control, proxy, access by Websockets, Webhooks, testing, settings, location, instrumentation, diagnostics, miscellaneous protections, DI, Node, CORS, examples, etc.
I swear I expected this question to be accompanied by an answer from you. But if you want to keep up with the news about dotnet, you can follow the Blog do Scott Hanselman. for example, integration of Nodejs with Visual Studio, use of Grunt with ASP.NET MVC... always has something new.
– Tobias Mesquita
I am voting to close this question as out of scope because it is not clear among the topics said as scope of this site if the question falls under any of them as below: - a specific programming problem - a software algorithm - common tools between developers - practical and well-defined problems concerning software development - theoretical doubts about concepts and practices applied to software development
– SneepS NinjA