.NET 5 is going to launch and if you are an enterprise developer of .NET then after listening to this news of .NET 5 there would be a lot of confusion arise in your mind. Like is .NET framework is going to die? Is the .NET core is going to die? Should now we only need .NET 5? What basically is .NET 5? What would be the future of .NET overall? So in this article, I am going to answer all these questions.
On a side note, I also make a video about this topic on YouTube click here to watch the video. (if you understand Urdu or Hindi).
History Lesson of .NET Framework
.NET is a free, cross-platform, open-source developer platform for building many different types of applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, and IoT. You can write .NET apps in C#, F#, or Visual Basic. Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). NET Framework was released on 13 February 2002.
Drawback of .NET Framework
.NET was written in a way that the application build with .NET could only run on window servers. It means that if you write a web app then you can only host that on window servers. And if look at the prices we can see that window servers are more costly then Linux servers. This was a good strategy from a business perspective but not good for the developer community. This is the era of open source. This was the thing which I believe was the biggest drawback of the .NET framework.
Twist in the Story
In a meanwhile, Xamarin launches the Mono which was the first open-source implementation of .NET CLI (Common Language Infrastructure) and CLS (Common Language Specifications). Xamarin.Android (formerly Mono for Android) and Xamarin.IOS (formerly MonoTouch), which are cross-platform implementations of CLI and CLS. Microsoft acquires Xamarin in 2016. Going forward Microsoft launch his own open-source implementation of .NET which we can call .NET Core.
.NET Framework VS .NET Core
At that time in 2017, we were two kinds alike similar but different frameworks. .NET and .NET Core. .NET which is in his 4.8th version is not open source and you can only build apps that run on window servers. On the other hand, we have .NET Core which is a fully open-source and you can build the native apps for all platforms.
Reason for Lunching .NET 5
.NET and .NET Core was the headache for developers as well as for Microsoft. Developers were confused between these two frameworks. Also, it was difficult for Microsoft to maintain the two frameworks that are almost the same, and also there was MONO as well. So Microsoft combines the best practice from the .NET framework, .NET Core, and Mono Project, and combine together in the form of .NET 5.
- .NEt 5 Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences.
- Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin, and Mono.
- Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios.
Is it Worthless to Learn the .NET Framework Now
Now question arise that after the .NET core and .NET 5 there would be no point to learn .NET 4.Something Framework now. The answer is no. You have to understand this thing that .NET stay for quite a long period and lot of giant products was build in .NET Framework. I even say projects that was written in Web Forms. So companies need a developers of .NET to maintain there software’s. It is not an easy job to upgrade those big products into latest greatest technology. This is a quit costly thing. Also some companies not even bother to upgrade there technology stack. So we have to learn .NET Framework as well.
.NET Core VS .NET 5
One more question that arises that now can I skip .NET Core and learn .NET 5 directly? Again answer is no. You cannot skip .NET Core as well. .NET Core is the way toward .NET 5. .NET Core helps you to get to .NET 5 more quickly and still it is a valid choice. There is a lot of jobs out there .NET Core as well.
The knowledge of the latest technology is important to keep you upgraded but we cannot leave the legacy technologies. Businesses work mostly in old technologies. So if we talk about the job market. Then we have to stay little behind from the latest. Learn .NET 5 it is going to be the future but don’t leave .NET and .NET core.