Considerations when deciding between .NET Core or .NET framework?
When it comes to choosing a framework for developing windows applications the first question that is usually asked is : “Are we making use of .NET or .NET Core framework?”. This is a very important question and can be a lasting decision in an applications life cycle.
This blog will compare .NET with NET Core and highlight the benefits and downfalls of both frameworks, and hopefully will help you decide which of the two frameworks to choose for your development needs.
.NET Core is a framework developed by Microsoft to allow developers to write applications by making use of Visual Studio and familiar coding languages and be able to deploy applications on any platform. Microsoft released their version of .NET Core on June 27, 2016, along with Microsoft Visual Studio 2015 Update 3, which enables .NET Core development. .NET Core 1.0.4 and .NET Core 1.1.1 were released along with .NET Core Tools 1.0 and Visual Studio 2017 on March 7, 2017. (.NET Core, n.d.)
Below is a list of the benefits and downfalls of .NET Core.
Some benefits of using .NET Core
• Applications written in .NET Core can work multiple different platforms like Linux, Windows, Mac etc.
• .NET Core is an open source (OpenSource.Com, n.d.) framework that allows multiple people to contribute to the main source of the framework.
• .NET Core is designed in such a way that all components or references are loosely coupled and used by using dependency injection.
• Applications written in .NET Core can be hosted in containers that provides scaling by creating multiple new instances of the same applications.
Downfalls of .NET Core
• Not all third-party libraries are supported with .NET Core.
• .NET Core is still an evolving framework and the framework can change drastically between versions.
• .NET Core is not backward compatible and thus needs specific sdks (Software Development Kits) to be setup for versions when deploying.
The .NET framework released by Microsoft is one of the most used frameworks when it comes to developing software applications that needs to run on Microsoft. .NET framework was released on 13 February 2002 (Wikipedia, n.d.).
Benefits of using .NET
• Reliable framework with multiple service packs and frequent releases. (Wikipedia, n.d.).
• Not open source resulting in the releases to be very stable.
• Backward compatible to a degree. Most applications can easily be converted between previous versions of the framework.
• Support and documentation is very easy to come by.
• Application support on .NET is large with many developers being able to develop on the .NET framework.
Downfalls of .NET
• Platform dependent and will only work on Microsoft operating systems.
• Scalability is limited and mostly result in increase of hardware resources.
So, how do you decide between using .NET Core or .NET Framework?
If you are building new applications and .NET Core provides all the functionality to achieve your goal, I recommend using .NET Core. The benefits of .NET Core outweighs the draw backs when it comes to scalability and cross platform availability.
When you are expanding or extending the functionality on application build on .NET framework keep using .NET framework as your framework of choice as not all third-party libraries are supported with .NET Core.
Always remember to rather extend than to migrate to a new framework.
.NET Core. (n.d.). Retrieved 4 30, 2020, from Wikipedia: The Free Encyclopedia: http://en.wikipedia.org/wiki/.NET_Core
.NET Core vs. .NET Framework for server apps. (n.d.). Retrieved from Microsoft: https://docs.microsoft.com/en-us/dotnet/standard/choosing-core-framework-server
OpenSource.Com. (n.d.). What is open source? Retrieved from OpenSource.com: https://opensource.com/resources/what-open-source
Wikipedia. (n.d.). Retrieved from .NET Framework version history: https://en.wikipedia.org/wiki/.NET_Framework_version_history
Published By: Christoff Labuschagne