💢 It is not always an easy task to find your way back into Microsoft .Net implementations.
👉 I hope this mindmap can help you to quickly visualize the big picture :
Mindmap : https://www.xmind.net/embed/A3HWW3
(up to date 2020-08)
.NET Standard
One word about .Net Standard :
- .NET Standard is not an implementation of .NET
- it is an API specification common to all implementations of .NET
- it enables portability across different .NET implementations (.Net Framework, .Net Core, Mono, UWP and Xamarin)
.NET implementations
(from Microsoft official documentation)
A .NET app is developed for and runs in one or more implementations of .NET
.NET Framework
The original .NET implementation that has existed since 2002. .NET Framework 4.8 is out and announced to be its last one.
Use .NET Framework for your server application when:
- Your app currently uses .NET Framework (recommendation is to extend instead of migrating)
- Your app uses third-party .NET libraries or NuGet packages not available for .NET Core
- Your app uses .NET technologies that aren't available for .NET Core
Console Applications
A program designed to be used via text-only computer interface
Windows Forms
To create Windows-based applications
Windows Presentation Foundation (WPF)
To create Windows-based applications using a resolution-independent and vector-based rendering engine
ASP.NET
A web framework for building websites and web applications using HTML, CSS, and JavaScript
ASP.NET MVC | ASP.NET Web Apps | ASP.NET Web APIs |
---|---|---|
To build web apps using the Model-View-Controller design pattern | Build full stack web apps with HTML, CSS, JavaScript, and C# | Build secure REST APIs on any platform with C# |
Windows Service Applications
To create long-running executable applications that run in their own Windows sessions (app that is installed as a service)
Windows Communication Foundation (WCF)
A unified programming model for building service-oriented applications
Windows Workflow Foundation
An in-process workflow engine
.NET Core
A cross-platform implementation of .NET . Use it for your server application when :
- you have cross-platform needs
- you are targeting microservices
- you are using Docker containers
Usefull links :
ASP.NET Core
A cross-platform, high-performance, open-source framework for building web apps and services, Internet of Things (IoT) apps, and mobile backends
Razor is a programming syntax used to create dynamic web pages with C#
ASP.NET Core MVC | ASP.NET Core Blazor |
---|---|
To build web apps and APIs using the Model-View-Controller design pattern | A framework for building client-side web UI with C# |
> Blazor WebAssembly
A single-page app framework for building interactive client-side web app using WebAssembly (an open web standard)
> Blazor Server
Decouples component rendering logic. Blazor Server host Razor components on the server in an ASP.NET Core app. UI updates are handled over a SignalR connection.
(Windows Forms)
To migrate Windows Forms apps to .NET Core
(Windows Presentation Foundation (WPF))
To migrate WPF apps to .NET Core
Top comments (0)