- This topic has 0 replies, 1 voice, and was last updated 4 months, 3 weeks ago by Aruorihwo.
- January 31, 2020 at 11:15 pm #84929Participant@aruorihwo
Right now, in the .Net developer’s world, there has been a massive rave about .Net Core. Some coders are wondering, “what is going on again?”, while others are scrambling to switch between the two. First, for the benefit of those that have no idea what .Net Core or .Net Framework is, I’m going to do a brief description of both before we delve into looking at the differences and similarities.
Simply put, .Net Framework is a software development framework developed by the mighty Microsoft to create applications that would run on windows. It can be used to create both stand-alone desktop applications and web-based applications. ASP.Net, WPF and Windows Forms are all part of the .Net Framework. You use WPF and Windows Forms to develop desktop applications while web based applications are developed using ASP.Net
On the other hand, .Net Core is an open-source development platform with cross-platform usage maintained by Microsoft. It can be used to build device, cloud, and IoT applications. It is not a full framework. Rather, it’s more like a subset of the .Net Framework. .Net Core is a successor of .Net Framework. So naturally, it’s an upgraded version of the latter. In this post, we would be attempting to point out some differences between both.
Differences between .Net Framework and .Net Core
Some Major Differences between .Net Framework and .Net Core are;
.Net Framework is not open source. It does have only a few of its component open source whereas .Net Core is truly open source. It was made as an open-source platform so developers do not have to pay to license fees.
.Net Framework only allows developers to build on a single platform which is the Windows platform while .Net Core is cross-platform thereby allowing developers to build across multiple platforms. This makes it easy for developers to move their applications across the various platforms. The three major platforms being Windows, OS X (Mac systems) and Linux.
.Net Framework is used to build both desktop and web applications but .Net Core is used for web, windows mobile and windows store applications. Both can do web applications but vary in the other types of applications they can develop.
Content and Packaging
.Net Framework comes with a complete bundle of libraries. So whichever library a developer needs to build his applications can be found in the bundle. However, this also means that libraries that are not needed are also included in the bundle, making it very overweight.
This is quite different from how .Net Core operates. .Net Core, on the other hand, comes with a set of NuGet packages, although common libraries are still a part of the bundle, the developer is free to include other libraries as needed thereby making it lightweight.
.Net Core enables developers to enhance the performance of applications better and more effectively than .Net Framework. This is especially true because of how lightweight it is and the fact that it consumes less resources
It’s easier to develop microservices on .Net Core as it has support for microservices and allows a mix of technology that can be minimalized for each service. .Net Framework doesn’t support of microservices.
.Net Framework supports both WCF services and REST services while .Net Core doesn’t support WCF service and you would always need to create a REST API.
Which do I use? .Net Core or .Net Framework?
This is the question every .Net developer is itching to have answered. Do I go for .Net Core or follow .Net framework. We would try to answer this below based on today. But you would have to keep it at the back of your mind that in a the nearest future, probably a year or more down the line, .Net Core would be the obvious and smart choice. However for today, this is what we have to say.
You should use .Net Core if you:
- Are a new developer learning .Net
- Want new features, APIs, runtime improvements
- Enjoy working with open source
- Want better and faster performance
- Don’t mind upgrading, changing and learning new things
- Want to be able to deploy different .Net Core versions side by side
- Self-contained applications
You should use .Net Framework if you:
- Want older APIs
- Want a steady environment to work in
- Do not want to constantly upgrade and make changes
- Have already completed apps, and just want to explore more functionality
- Are not interested in learning anything new
In conclusion, .Net Core is the future of .Net. It has some fundamental changes made on what was on .Net Framework and going forward all upgrades to .Net would be focused on .Net Core. There won’t be any more upgrades to the .Net Framework. Developers seeking to improve their careers should endeavor to keep up with the trend even if it seems like you have no use for it currently.
- You must be logged in to reply to this topic.