.NET Core Version 1 Released - So What?
Written by Mike James   
Wednesday, 29 June 2016

In some senses this is a momentous event - Microsoft has a Version 1 of the cross-platform open source .NET Core. But is it momentous more because of the change in approach it signals, or is there some real value in it. In short, should you rush out and install .NET Core?

net2

Mostly the answer is probably not.

There are some programmers who want to do exactly what .NET Core is designed for and for these it is an exciting time. For the average programmer, it is difficult to see where the revolution would lead and why anyone would want to follow. 

Version1.0 of .NET core is a cross-platform basic library for .NET applications. It supports all of the standard .NET languages - C#, VB, F# and C++. You can write programs that will run under Windows, OS X, Linux and with Xamarin iOS. It is supported by Red Hat and, in fact, under Linux the Red Hat implementation is the standard. 

It is composed of the .NET Runtime which will run compiled MSIL code; a framework library that provides primitive data types etc; a set of SDK tools - compilers etc; and a loader. 

 

NETCORE

 

In many ways .NET Core doesn't even provide as much infrastructure as Mono, the first open source port of .NET, did and still does. The Mono project even had an open source version of Silverlight - something that isn't likely to happen in the official open source project.

So isn't the ability to run .NET programs on just about any platform that matters (note: BSD Unix seems to be missing) an important opportunity?

The big problem is that there is no common UI.

Microsoft hasn't, and isn't likely to open source Win Forms or WPF and who knows what dependencies Universal Apps have. The big problem is that Win Forms needs Windows and there rest need DirectX which are only available on Windows. 

What this means is that if you are targeting .NET core then the only sort of cross-platform applications you can write are console apps - and not many programmers want to write console apps.  This is the reason that the .NET Blog says:

".NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications."

The web apps reference really means in conjunction with ASP.NET Core 1, which has also just been released. This is great if you are working on a brand new MVC-style ASP app, but not if you have a legacy Web Forms ASP .NET app. While there are some enthusiastic people excited by the new way of doing Microsoft-style websites, it is difficult to see why a this is preferable to other approaches unless you are already a Microsoft shop, and even in this case it is a young technology that might not be a good bet for the future. 

If you don't buy into the new ASP.NET you can create microservices, libraries and console apps - well that's still a minority. Most apps need a GUI of some description and this is currently what is lacking. There is no cross platform GUI for .NET Core except for Xamarin Forms, which is another unknown technology for most Microsoft programmers. 

The bottom line is that .NET Core is a step in the progress of the Open Sourcing of selected Microsoft technologies and as such we should celebrate. 

Should you rush off, download it and get programming?

Probably not.

net2

More Information

Announcing .NET Core 1.0

Related Articles

Xamarin Now Free - Does This Change Everything Or Nothing? 

ASP.NET Updated And Renamed 

Microsoft And Red Hat To Bring .NET To Linux 

The State Of .NET Core

Microsoft Open Sources .NET?

Microsoft Mass Migration To GitHub

Not Dumping .NET - Microsoft's Method

Dumping .NET - Microsoft's Madness

Microsoft Open Sources .NET?

.NET Goes Open Source 

WPF Lives!  

Microsoft v The Developers       

Was .NET all a mistake?

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


Not So Quick! WebAssembly
30/01/2019

A lot of hopes are pinned on the future success of WebAssembly as an alternative to native apps. Of course, for this to be true WebAssembly has to be fast. But how fast is it?



SQLite Introduces Vacuum Into
12/02/2019

The team at SQLite has added a Vacuum Into command that lets you back up a database atomically so that the backup is as small as possible and contains no forensic traces of deleted content.


More News

 

Python

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 29 June 2016 )