.NET Framework, as remembered by everyone – powerful, but highly demanding, needs Windows to be hosted, requires some expertise to be deployed, programs are “heavy” and need a special environment to run, great when you have decent funds and time to invest in preparing the architecture. But when you are on a budget or building a smaller system it’s probably better to avoid it since there are cheaper and simpler solutions…
And now for something completely different:
.NET Core – characteristics
Release by Microsoft in 2016 was about to change the world of .NET forever. Free, open-source, and cross-platform. For the first time in history, developers could have fully developed and deploy their applications using .NET on the different operating systems than Windows (let’s not talk about Mono here).
Core does not require Visual Studio anymore. Actually, any text editor can be used and the app can be compiled and run using a command-line interface.
Thanks to the modular structure, .NET Core applications can be way smaller than the original .NET Framework ones used to be. They no longer need to be hosted on the IIS server, which is a robust but complicated and immense solution.
Virtually all the problems that “old” .NET had had have been resolved in a very elegant and successful manner.
The problem is… its name still can be associated with an old version and many people don’t even realize that nearly all that was true a few years ago for .NET but now is simply not valid anymore.
Let’s take a closer look at things that have changed.
How does .NET Core compare with the .NET framework
The big surprise and very interesting move is the fact that .NET Core is not only free but also open-source! But what does it really mean for someone who wants to start a new project and considers the technology? Open-source gives access to the knowledge for the developers, helping them understand the framework better, which helps to build libraries and tools that can be used to deliver tasks. It can also help to solve problems that may come out during development. It also makes the product more trustworthy.
What are the other advantages of the .NET Core? We get rid of the restriction of using Windows OS and IIS Server – .NET Core allows us to develop on any OS we want using any IDE we want (as long as it supports .NET Core, but trust me, there are lots to choose from)! Linux servers are the most popular hosting services available and now they can be used to run .NET projects. Neat!
Nowadays container solutions are very popular. .NET Core works flawlessly with Docker. Not only to test and develop but also to be used in production deployments, taking care of preparing the system with prerequisite requirements and configuration.
Thanks to its structure, .NET Core supports microservices that can now easily be spread between different machines and even operating systems what improves scalability possibilities.
From now on we can also use command-line style development on every OS (Mac, Linux, and Windows) of course we can still do the whole process of building, testing, and running our solution from our IDE but it’s nice to have an alternative, especially for projects that can’t afford Visual Studio or simply don’t want to use it.
How does .NET Core compare with other frameworks
In the world of backend development, there are many languages and frameworks available but .NET Core, Node.JS, Spring, and Symphony emerge as the leaders of the stake. Let’s take a closer look and compare them with each other. All have large, active, and vibrant communities.
What makes frameworks like Python’s Django, PHP’s Symphony, and Node.JS’s Express so popular? They are free, open-source, possible to deploy on most operating systems, have homogeneous communities with a lot of ready to use packages, libraries, and templates. Many tools can help in developing and deploying applications, lots of them are free. Applications written in those languages are lightweight yet efficient.
Are those arguments against choosing .NET Core?
No! All the advantages listed above are totally valid for .NET Core, too!
- Free IDE? Checked! VS Code, VS Community, or virtually any text editor used with CLI.
- Community? Checked! Centered around Stack Overflow (over 10k answered topics)
- Multiple supported OSes? Checked! macOS, Linux, and Windows, also with Docker support!
- Lightweight? Checked! .NET Core apps are modular, meaning they can be built only with needed components.
So everything checks out, but wait – there’s more! What makes .NET Core stand out amongst the other frameworks is a dedicated cloud platform as you may know from our previous articles – Azure.
Who can benefit from using .NET Core?
As many people remember, .NET Framework was best for enterprise, big, and usually long-running, projects. It is still true for .NET Core. It provides a highly reliable environment with very good performance, allowing scaling of the application, testing, and hosting or migrating it into the cloud. Giving a high level of security allows it to be used in even most security-tight applications. The C# language used in Core has still the same syntax so developers that have previously worked in the .NET Framework will be able to quickly switch into the new version.
What about smaller projects? Or startups? In such, the budget is usually tight and there’s no need for such complex solutions. Time and money often play an important role.
.NET Core is a perfect choice for such projects!
As we already described, it can be hosted on nearly any machine or cloud, the project can be developed with free tools and no additional licenses must be purchased.
Since it’s a very popular solution, we can count on support all over the internet, both thanks to rich documentation and an active community.
Using .NET Core – conclusions
Whether you are starting a big project with a decent budget or startup that requires the quickest and cheapest solution possible, you should not be scared of .NET Core. Keep in mind that all those things we feared about .NET are long gone, and we are left with highly efficient, capable of performing even the most complicated tasks with great support and available tools and extensions, that is also free, open-source, lightweight and able to work on lots of operating systems. Having all of those advantages it is not sacrificing its powers that we already know.
Now the old .NET is dead, long live the .NET Core!
Do you want to develop your next project using .NET Core? Don’t hesitate to contact us! Our long time expertise in this technology will be put in good use!