What is the future of .NET

Want to know what the future of .NET is? Microsoft just released .NET Core 3.0. Learn here what is the future of .NET in coming years.

The Future of .NET

 
Microsoft just announced .NET Core 3.0, a stable and ready to use by businesses version of .NET Core. YES, businesses now can confidently build .NET Core applications. In this article, let's look at what future looks like for .NET Core.
 
.NET Core 3.0 is a mature business-ready platform. Here are some of the things to know about .NET Core 3.0.
  • .NET Core supports most things that you use in .NET Framework
  • .NET Core supports WinForms and WPF
  • Has Windows compatibility pack
Let's be clear about one more thing. .NET Core does not have and do not have any plan to support the following components of .NET Framework.
  • ASP.NET Web Forms
  • ASP.NET MVC
  • WCF Server
  • Windows Workflow
  • AppDomains
  • Code Access Security
.NET Core will continue to improve and add more features in coming releases. here is what .NET future releases look like. 
 
Future of .NET Core
The ".NET Core" name will change back to ".NET" in 2020 and expect a release of .NET 5.0 in Nov 2020. 
 
 
------------------------ Previous post ----------------------------------- 
 
It was Dec 1999, when I wrote my first C# program. Since then C# and .NET has come a long way. The .NET Framework was introduced in 2001 and 19 years later, here we are. In 2014, Microsoft shifted its focus and open sourced a new version of .NET, and named it .NET Core. Today, .NET Core is managed and run by Microsoft and the open source community.
 
Currently, there are two versions of .NET -- .NET Framework and .NET Core. Going forward, there is going to be only one version of .NET and that is, .NET 5. .NET 5 takes the best of .NET Core, .NET Framework, Xamarin, and Mono to provide libraries, APIs, and run-time to build applications for Windows, Web, Mobile, and IoT devices.
 
C# 8.0 is the latest version of C# language that is supported in Visual Studio 2019. If you plan to build a new application in .NET, you should use .NET Core 3.0 (the current version) and C# 8, that will later be converted to a .NET 5 project. I’m assuming it will have no or minimal changes.
 

.NET – A Unified Platform

 
.NET 5 provides libraries, frameworks, tools, and APIs to build, test, run, and deploy software that targets all platforms including Windows, Linux, IoTs, macOS, iOS, Android, tvOS, watchOS and WebAssembly, and all devices including desktops, web browsers, IoT devices, tablets, mobile phones, and more.
 
.NET 5
 
.NET Core is the future of .NET. The next version of .NET Core 3.0 is .NET 5. .NET 5 is a unified platform that brings .NET everything under a single unified platform including major high-level libraries and APIs, low-level libraries, type systems, run-time components, compilers, languages, and tools.
 

.NET 5 Release Date

 
.NET 5 will is expected to be released in Nov 2020. The first preview of .NET 5 is expected to be available in the first half of 2020 that will be supported by Visual Studio 2019 and Visual Studio Code. Here is a schedule announced by the .NET Team via their blog. 
 
DotNet Schedule 
 
The next version of .NET 5 will be .NET 6.0, .NET 7.0, and .NET 8.0. As a matter of fact, the release dates of these versions are already announced. While .NET 5.0 will be released in Nov 2020, the version 8.0 is expected to be released in Nov 2023.
 
As you can see from the above .NET roadmap, the important releases are going to be available in November of each year.
 

.NET 5 Key Features

 
.NET 5 key features include 
  • A single unified platform for everything including Windows, Mac, Web, Mobile, Cloud, IoT, Gaming, Machine Learning and Data Science.
  • Managed by open source community and supported by Microsoft.
  • Cross-platform with any device anywhere.
  • Supports all major platform capabilities for .NET Framework, .NET Core and Xamarin including Windows Forms, WPF, UWP, ASP.NET MVC, Entity Framework, LINQ and so on.
  • Scalable, fast, and high performance.
  • Smaller deployment and packages.
  • Support of the most productive IDEs and tools including Visual Studio, VS Code, VS for Mac, and Command Line Interface (CLI) 

.NET Languages and Runtimes

 
Mono is the runtime used as a part of Xamarin to build cross-platform applications. CoreCLR is the runtime used as a part of .NET Core.  
In .NET 5, both runtimes will be supported, evolve, and will continue to work together.
 
.NET 5 will support major compilers, languages, and runtime that are currently supported by .NET Framework and .NET Core. C#, F#, and VB.NET are expected to be a part of .NET. XAML is also a major component as a part of .NET supported languages.
 
Learn more about C# programming here:
 
Learn more about TypeScript here:
 

Desktop Development with .NET

 
.NET 5 will support all major desktop development libraries and functionalities. Four major desktop platforms are Windows Forms, WPF, UWP and Xamarin.
 
Windows Forms or WinForms is a UI framework has been a part of .NET since its inception. WinForms allows developers to build Windows UI apps. WinForms uses C# as its backend code.
 
Learn more about WinForms here:
 
WPF allows developers to build modern Windows desktop applications using XAML and C#. WPF was supposed to replace WinForms and for new apps, it has done so but WinForms still continues to be used for legacy Windows desktop applications.
 
Learn more about WPF here:
 
UWP (Universal Windows Platform) framework is used to build next generation modern UI applications for any Windows 10 devices including PC, tablets, smartphones, Xbox, HoloLens, Surface Hub, and Windows 10 IoT Core. UWP provides a UI framework for writing responsive apps that support a number of screen sizes and interaction models, such as touch, mouse and keyboard, game controller, and pen. UWP is the key framework used to build mixed-reality apps for Microsoft HoloLens.
 
Learn more about UWP here:
 
Xamarin as a part of Visual Studio 2019 is a set of tools and libraries for building cross-platform apps on the .NET platform that targets macOS desktop.
 
Learn more about Xamarin here:
 
Entity Framework, LINQ, ADO.NET, GDI+ are other major sub frameworks for desktop development that are supported by .NET 5.
 

Web Development with ASP.NET

 
ASP.NET Core and Web API will be part of .NET 5 to build Web and cloud applications. 
 
ASP.NET is an open source framework for building modern web apps and services. ASP.NET is cross platform and runs on Windows, Linux, macOS, and Docker.
 
Here are some key capabilities of ASP.NET: 
  • ASP.NET provides base framework for processing web requests on Web server
  • Web-page templating syntax, known as Razor, for building dynamic web pages using C#
  • Libraries for common web patterns, such as Model View Controller (MVC)
  • Authentication system that includes libraries, a database, and template pages for handling logins, including multi-factor authentication and external authentication with Google, Twitter, and more.
  • Editor extensions to provide syntax highlighting, code completion, and other functionality specifically for developing web pages
  • Allows you to use your existing backend code, business logic, and data access written in C#
  • Support REST APIs with C# and .NET
  • Real-time apps with SignalR. Learn https://www.c-sharpcorner.com/technologies/signalr
  • Supports Microservices, independently deployable, highly scalable & resilient services
  • Supports TypeScript to build scalable and object-oriented JS apps
  • Dynamic pages using C#, HTML, CSS, and JavaScript with the support of Razor
  • Works with Angular, React, and other popular JS libraries 
Learn more about ASP.NET Core here:
 

Mobile Development with .NET

 
Xamarin, supported by the Mono runtime, is used to build cross-platform mobile apps for iOS, Android, macOS, tvOS, and watchOS platforms. Xamarin provides a set of developer tools, programming languages, and libraries.
 
XAML is the major UI programming language for Xamarin. C# is used as the backend language in Xamarin apps.
 
Learn more about XAML here:
 
Xamarin compiles C# and XAML code into native iOS and Android binaries before they can be deployed on iOS and Android devices.
 
Learn more about Xamarin here:
 

Cloud Development with .NET

 
Azure application development will be a major functionality of .NET 5. Developers will continue to build software targeting Azure and more. Azure cloud development includes a mix of frameworks and tools including ASP.NET, Web API, Serverless computing, data models and Azure databases, microservices, docker containers, DevOps, and more.
 
Learn more about Azure and cloud development here:
 

Game Development with .NET

 
Unity is an integral part of .NET gaming. Unity will be supported by .NET 5 and Visual Studio 2019 to build games for Xbox, mobile, and other gaming platforms.
 
Learn more about Unity here:
 

Machine Learning with .NET 

 

Machine Learning in .NET is implemented via ML.NET. ML.NET is aimed at providing the end-end workflow for consuming ML into .NET apps across various steps of machine learning (pre-processing, feature engineering, modeling, evaluation and operationalization).
ML.NET 1.0 not only lets you build you custom models, you can also automate. It works everywhere including Windows, PowerBI, Azure, and more. ML.NET is extensible and works with TensorFlow, ONNX, and Infer.NET.
 
Learn here: 
 

IoT and Devices Development with .NET

 
.NET 5 will support Windows IoT devices and targets both ARM32 and ARM64 processors. UWP is used to build Windows devices apps running Windows 10 IoT Core. The apps can run on Raspberry Pi, MinnowBoard MAX, DragonBoard 410c, and more.
 
Learn more about UWP and Windows 10 IoT Core development here:
 

Interoperability in .NET

 
.NET will continue to work with other languages and libraries. Angular, React and other popular JS libraries are supported in Visual Studio and can be integrated in .NET projects. 
  • Java interoperability will be available on all platforms.
  • Objective-C and Swift interoperability will be supported on multiple operating systems. Learn more about Swift Programming here: https://www.c-sharpcorner.com/technologies/swift-programming
  • CoreFX will be extended to support static compilation of .NET (ahead-of-time – AOT), smaller footprints and support for more operating systems. 

Developer Tools and Integration

 
Visual Studio, Visual Studio for Mac, Visual Studio Code, and Command Line Interface (CLI) will be the major tools to build .NET 5 applications.
 
Learn more about Visual Studio and its features here:
 

References

 
https://devblogs.microsoft.com/dotnet/introducing-net-5/
https://dotnet.microsoft.com/