This article is about my opinion and advice on why should you learn .Net Core in 2020 and beyond. This will help you in making the right decision when selecting a technology stack. I will not be comparing .Net Core with other programming platforms except when it’s necessary to explain a point. This is not a comparison article between .Net Core and other technologies and will only focus on the benefits of learning .Net Core and your future with it.
If you are an experienced .Net developer then learning .Net Core becomes mandatory for you although the benefits of learning goes far beyond that just having this single criterion. For starters having no or limited programming background, learning .Net Core can take you a long way as well. Below are some of the most important factors that will help you decide and go ahead with .Net Core. These are applicable to both experienced as well as fresh graduates who are starting their IT carrier.
If you want to have a look at a sample .Net Core MVC web application with Unit Test project alongside, please visit this blog and have a look.
Reasons why you should learn .Net Core in years to come
1. .Net Core is Cross Platform
.Net Framework is Microsoft’s proprietary closed source framework and only supports the Windows platform. This kept .Net usage for development very limited and constrained. Anytime there was a debate like .Net vs JAVA, in most cases, JAVA won since it is an open-source platform and can run across any platform including Windows, Linux and Mac. As part of an enterprise strategy, no organizations would like to get locked by vendors while developing their systems and applications and that was exactly the case with .Net Framework. Applications developed with .Net could not be ported to Linux or Mac and was only being used where Windows was a dominant OS. For the same reason, if there were cross-platform integration needs, companies used to select Java rather than .Net.
Over the past few years, Microsoft has shifted its strategy to be more Open Source friendly and in fact, started to embrace open source. Some of the examples are their acquisition of GitHub, integrating Git in their development platforms, opening up Office Products for Linux and Mac, adding support for Python, Angular, and many more. One of the latest addition is making a new version .Net Open Source and provide Cross-Platform support.
.Net Core is now a fully open-sourced framework available on GitHub. It has cross-platform support which means we can use the same framework to build applications for all available platforms including Windows, Linux, and Mac. This makes it a direct competitor when compared with other cross-platform programming frameworks.
2. One Framework For All
This is one of the top reasons to make you learn .Net Core. .Net Core can be used for almost all kinds of systems development across any hosting environments and any platforms. It is one of the most complete frameworks in this respect. Some of the use-cases are mentioned below.
- Web Applications for Windows – Linux – Mac – We can use Visual Studio with .Net Core to implement web applications for any platform of choice.
- Cloud Applications – At a high level, Cloud is just a new hosting environment for applications with additional capabilities. .Net Core can be used to implement Cloud-hosted applications for any supported platform. Through its Visual Studio product line, Microsoft Provides seamless support for Azure implementations using .Net Core.
- Gaming – Unity is one of the topic Game development frameworks based on C#. Using .Net Core with C# we can implement great games.
- AI & ML Applications – Azure provides ML.Net and Azure ML Studio and we can use .Net Core for implementing Machine Learning use cases as well.
- IOT – .Net Core also has libraries to implement IOT based systems as well.
- Mobility – .Net Core can be used for implementing Native Mobile Applications. Using Xamarin and Xamarin Forms available within Visual Studio, we can implement Platform-specific as well as Cross-Platform Mobile Apps.
- Desktop Apps, UWP, WPF – As with .Net, .Net Core can be used to develop Desktop applications as well. Since Windows Applications are very tightly coupled to Windows Platform internals, they are not really cross-platform.
- Browser-Based Applications – Microsoft has this Project called Blazer, where C# , HTML and CSS are being used to develop Browser-based UI. Microsoft is pushing the boundaries using C# everywhere and now even for Browser-based development.
3. Backed By Microsoft
The success of most Frameworks depends on multiple factors such as availability of support, ease of use, features and trust on the vendor. Vendor trust is one of the most critical factors since Organizations will only use a product if there is trust and support backing it up. We have clearly seen Angular and React winning the game when it comes to SPA applications and the core reason behind this was the backing they got from Google and Facebook respectively. There are other frameworks as well but Angular and React got way ahead in the game already.
On the same lines, .Net Core is backed by Microsoft. Microsoft has already committed yearly major releases for .Net Core for years to come. .Net Core will be improved and enhanced with every release adding more functionalities. If companies like Microsoft is backing it up then doubting on .Net Core’s capabilities is no longer a question.
4. C# Is Language of choice in .Net Core
When it comes to Microsoft Platform, C# is and has always been the language of choice. C# has come a long way over the last 20 years or so. It is highly matured, fully Object-Oriented and one of the most complete high-level Programming languages. There is a huge C# community all around the world and .Net Core also embraces C# as its top choice. This means the same language can now be used across all platforms and for any all kinds of use cases as mentioned in the previous sections. If you want to know and learn more about C# features, this is a good article available online and provides good insights into C# and its future.
5. Direct Advantage in Azure Platform
Microsoft Azure is a top choice when it comes to the selection of a Cloud Platform in any enterprise. Azure supports all kinds of OS platforms and technologies but since it’s developed by Microsoft, as a .Net/.Net Core platform developer, we get an added advantage. Azure integrates with Microsoft product line like .Net Core, PowerShell / PowerShell Core, Visual Studio, Office 365 etc seamlessly. Microsoft provides in-built and ready-made capabilities in its products so that they can integrate with the Azure effortlessly. Some of the examples are as below:
- Visual Studio provides built-in capabilities to directly deploy to Azure and provides a lot of project templates for Azure Development.
- Azure provides tools where we can migrate SQL Server on-premise databases to Azure SQL databases.
- There are tools available to migrate and sync local AD to Azure Active Directory.
- Azure and Azure DevOps integration using Azure AD and many more.
If you are a Microsoft developer using .Net Core, you will always have an added advantage when it comes to Cloud Development, Migration, and Integration.
6. Seamless movement for existing .Net Professionals
This is especially for developers who are already working in .Net. Microsoft has officially shipped .Net 5 Preview and .Net Core is the new .Net standard. .Net Framework will still be there and supported for years to come but it won’t be updated anymore. It’s almost mandatory for existing .Net developers to learn .Net Core, pick the pace, and move with Industry. Most of the .Net community has already moved to .Net Core and if you haven’t then now it’s the time.
if you don’t have any previous .Net experience, you can directly start to learn .Net Core. You will be backward compatible if in case you have to support .Net Framework based existing applications.
7. .Net Core for JAVA Developers
If you are from JAVA background and have reasons to move to .Net Core, there will be a learning curve but it won’t be that difficult. JAVA and C# use a similar design and coding principals and movement from one to another should not be that difficult.
8. Fundamental Programming Concepts and Learning Core Framework
Conclusion and Are you going to learn .Net Core?
I hope that the article helped you in making the right decision as Why you should learn .Net Core. Whatever decision you make, I would advise you to always keep a focus on building and improving fundamental skills alongside learning various latest technology trends. Having good coding skills is always a key and helps to add better value in the area of work. Do let me know via comments what was your decision and why you choose or not choose this technology stack. If you want to know more about something or have any feedback do share via comments. Let’s share and connect. Cheers!