Advertisement Advertisement

By VARINDIA    2017-05-19

.NET Core 1.0 was released about a year back. It initiated exciting changes in the .NET world and is expected to have even bigger implications on Microsoft’s development ecosystem for years to come. The idea behind this is to develop a cross-platform software as easy and modular as something like Node.js.


.NET Core is a rewrite of the .NET Framework which supports multiple application models such as ASP.NET Core. By including only the required dependencies, it performs with a smaller memory footprint. Being an open source platform, experts suggest that .NET Core is “the future of .NET” as it supports all platforms: Windows, Linux and Mac, while promoting open collaboration.


The name ASP.NET Core created a bit of a confusion; being similar to different flavors of new versions of .NET. While both share many a similarities of .NET platform components, there are fundamental differences between the two that determine which option should one choose depending on what one wants to achieve.


.NET Frameworks platform supports Windows and Web applications, but it isn't particularly future-proof, throwing long-term risks. However, .NET Core requires developers to educate themselves and the management to make the shift up from .NET Frameworks. So for teams with a pre-configured environment and systems, .NET Framework is a better & economical choice.


Let’s see what all makes .NET Framework a better choice:


* Don’t want to take risk on an application you need to build immediately and looking for a stable environment to build and deploy your app.

* You don’t have .NET Core capabilities as of now, and investing on .NET Core training or hiring right skills on board will impact you ROI.

* Working on something like Maintenance or extending functionality or an existing application.

* You are a committed enthusiast of WinForms or WCF.

* You have a team with .NET expertise who has a proven record for building production-ready softwares and you don’t want to risk this with ‘newness’ of .NET Core and the continuous upgrades and changes that might come in quick successions.


You might have some concerns/excuses; but there are few key aspects that will push you to adopt .NET Core for your next project


* If looking for a platform independent solution (Windows, Linux and MacOS); the best choice will be .NET Core as it is directly and officially supported by Microsoft.

* If you’re implementing a microservices oriented system composed of multiple independent, dynamically scalable, stateful or stateless microservices; then .NET Core and its API surface is a good choice. The advantage is that you can use different technologies/ frameworks/ languages at microservice level, allowing you to use the best approach/ technology as per the micro areas in your system, so to get highly performant and scalable microservices.

* High Performance: according to Microsoft, ASP.NET Core outperforms ASP.NET by a factor of 10, and it also leads other popular industry technologies for microservices such as Java servlets, Go and node.js.

* Greater scalability allows you to do more with the same amount of infrastructure/hardware; you’ll have a richer experience for your end users – at a lower cost.

* Cross version installation support: Easy side-by-side installation of different versions of .NET Core on the same machine allows you to have multiple services on the same server, each of them on its own version of .NET Core, eliminating risks and saving money in application upgrades and IT operations.


You can do smart things like building a web application using ASP.NET Core 1.0 and target .NET Framework 4.6 and/or .NET Core. The .NET Framework 4.6 runs on top of Windows operating system, where .NET Core 1.0 is a cross platform framework and runs on top of Windows and Non-windows operating systems. The key catch here remains that, .NET Core 1.0 doesn’t have all the features and functionality of .NET Framework 4.6!


Navneet K, Gaur
Senior Project Manager, Xavient Information Systems