What is Microsoft .NET Core 1.0
Microsoft's NET Framework has been an integrated component of all recent versions of the Windows operating system. While the actual version of the Framework installed by default differs with every release of Windows, all recent Windows versions have in common that they support Microsoft .Net to a degree.
The versions that were to new for an operating system could be installed to add support for these versions.
Microsoft has made the decision to reboot the .Net Framework by making it open source and cross-platform.
The company announced back in 2014 that the full server stack would become open source:
Delivering on its promise to support cross-platform development, Microsoft is providing the full .NET server stack in open source, including ASP.NET, the .NET compiler, the .NET Core Runtime, Framework and Libraries, enabling developers to build with .NET across Windows, Mac or Linux.
Microsoft wanted to name the new versions that came out of the reboot as version 5, so it would be ASP.NET 5 or Net Framework 5.
A new blog post on Scott Hanselman's blog indicates that Microsoft changed its mind in this regard. The main reason why it decided not to go with version 5 of the products was that it made the product appear an update to the current version.
Since that is not the case, Microsoft made the decision to name the components in the following way instead:
ASP.NET 5 is now ASP.NET Core 1.0.
.NET Core 5 is now .NET Core 1.0.
Entity Framework 7 is now Entity Framework Core 1.0 or EF Core 1.0 colloquially.
Version 1.0 indicates that these products are new which means that users won't confuse them with the current stable versions of ASP.NET and the .NET Framework.
Hanselman confirms that the core version of NET won't be fully compatible with the current versions of the NET, which means that .NET Core 1.0 won't be enough to guarantee full compatibility with programs and applications requiring certain NET features.
ASP.NET 4.6 and the NET Framework 4.6 are the "more mature platform" currently nut ASP .NET Core will get there one day but not with the version 1.0 release.
It is likely that the move will still confuse some users especially when it comes to the question whether they should install .NET Core 1.0 on their machine or not.
Now You: What's your take on the reboot?
If I have, say, a 25% knowledge rate of computing (computer, computing, Web) then the .Net Framework saga belongs to the remaining 75% of total illiteracy. I’m aware of only two things concerning this no-man’s land :
1- Several applications require it;
2- Installing only version V would handle all previous V minus x versions, anyway that’s what I believe to have understood correctly after having spent hours searching for information made available for the low to average user. From that, I still don’t understand why a new version of .Net Framework doesn’t install as an update but adds itself to previous versions. In other words, I do not conceptualize the architecture’s logic of this “library”.
So, if I’m thankful for this article, when it comes to my very limited understanding of the area, .Net Core appears to me as adding confusion to complexity : I am totally dropped out. Anyway, let’s admit it, we are confronted to many things in life without necessarily understanding them. Unfortunately. And it’s up to me and to no one else to make the effort of understanding. Yet, I pain :)
What is really confusing, Tom, is that Scott Hanselmann states this software will not be fully compatible with older versions. He continues by saying that there there is no guarantee of compatibility with applications and programs requiring “certain” NET features. So, do I update or pretend that I don’t know about it :(
Also, piling code layer upon code layer to the existing NET software seems to be a guarantee of future problems.
Why does MS do this instead of making a clean installation? MS does the same with Win KB updates which replace out of date KBs. The old ones never seem to be removed.
I am as befuddled as you are :)
Despite that, thanks to Martin for yet another interesting article.
Whole IT industry seems to be going into direction of artificially inflating software as if they get some sort of tokens for it. One can’t discount possibility such thing serves as some sort of NSA encrypted virtual P2P distributed computing real estate that is being traded/used on some sort of black budget market for rainbows and cloud technology. Windows XP and Windows 10 don’t differ that much in functionality. Size difference is what 10 times? Think of firefox when it was 1-3 MB in size and now it’s ballooned to over 40MB in size. Functionality and customization wise current firefox 40MB version offers even less than one that was 3MB in size. Of course they have piled all kind of crap into it like developer tools, telemetry, etc
Indeed, juju, bloated, inflating applications, software is a general trend. I wonder if it’s not a human’s natural trend to be frank. But there is a .Net specificity which is that it doesn’t update by replacing but by adding itself, and that is annoying for many users.
One “good reason” to stack it, is it takes less time to add new lines ontop existing code, than to scrap it and start fresh. Sure, you could justify it by saying “In the long run, a clean slate will save money” but they’re not looking at that when the budget for “Improvements”. Time = money and this is (more-or-less) a “free” product. In the end, they’re not really going to make their money back spent on it as a whole.
It’s basically the same way with the KB.
But I will disagree with Windows XP and Windows 10 not much different in functionality (if you said Windows XP and Windows 7, I would agree as an over-all).
Windows 10 can natively handle multitasking, multiple monitors and multiple desktops far superior to XP, Vista or Windows 7. While it’s core architecture isn’t much different from Windows 8/8.1, there is a huge difference between it and Windows XP (which is why only Windows Vista and up could easily upgrade to Windows 8/8.1 and XP has to do a clean install).
Most of the file size difference is due to increase security, and additional functionality that the common user will never use (and some of it is hard-disabled because of version differences).
Same could be said for most programs now.
As I understand it, the main things missing from .NET Core (1.0) that would be in the .NET Framework (4.6) are things that are Windows-specific: Windows Forms, Windows Presentation Foundation, graphics stacks, and certain things like that. The problem being that there’s no reasonable way to port those to Linux or Mac or whatever because of the fundamentally different architectures of those OSes, while .NET Core is supposed to be completely cross-platform. (Not to say I wouldn’t appreciate the effort, because a cross-platform UI abstraction would be incredibly useful.)
It also doesn’t support VB and F#, as the work to adapt those to .NET Core just hasn’t been completed yet.
If you’re on Windows, the only reason to install .NET Core would be to test applications you’re developing for other platforms in the more limited environment. If you’re on anything *except* Windows, then obviously .NET Core is the only relevant choice for “which .NET version you need” (assuming you need it at all), because the full .NET Framework doesn’t exist on those platforms.
So practically with .net core 1.0 we have java without swing.
@michaelangelo – java without swing? What? Do you know what you’re talking about?
You still have the following UI toolkits: Windows Forms, WPF, UWP, Xamarin.Forms, Eto.Forms and ASP.NET
Sooooo… no, not accurate.
So, is this a successor to .NET Framework, or…?
The reason of adding at installation and not replacing is side-by-side execution:
It’s a feature. A very important one when you are in enterprise environment.