9 ms·
I'll be honest, as much as I love the improvements with .NET Core/.NET Standard, Microsoft's branding strategy leaves a lot to be desired. vNext has already be
by lol768 7y ago
I'll be honest, as much as I love the improvements with .NET Core/.NET Standard, Microsoft's branding strategy leaves a lot to be desired.
vNext has already been historically used in the context of ASP.NET to refer to ASP.NET (not to be confused with ASP.NET MVC) v6. We restarted the versioning back with ASP.NET Core, now on version 2. Entity Framework used to be a .NET framework component but is now standalone, and has a Core version? Does Blazor (or is it Razor Components now) share the .NET branding?
Separate to the web stuff, we have the .NET platform - .NET framework is the non-cross platform version for which we're on version 4, but it implements .NET Standard v2 along with .NET Core, which has a Linux runtime. Mono also implements .NET Standard v2 and has a Linux runtime.
I remember many years ago when we also had Microsoft .NET Passport.. which was completely unrelated to everything else that I've mentioned related to the .NET brand.
And now we have .NET 5 which is neither Framework nor Core - so will ASP.NET drop this Core branding too? Is it just me, or is this all incredibly convoluted?
- phillipcarter 7y ago> And now we have .NET 5 which is neither Framework nor Core Just to note, the blog post explicitly says that .NET 5 is the next version of .NET Core. It's where .NET Core is going, and given that so much more of the .NET "picture" is being realized with it, the name is changing to be more reflective of the fact that it's not really a "core" (small) thing anymore.
- lol768 7y agoYes, indeed. But will that change also apply to the other projects that target .NET Core (now ".NET")? Will Entity Framework Core become Entity Framework and clash with the 'full-fat' Entity Framework? The blog post suggests this won't happen by referencing ASP.NET Core 3. And where does this leave the legacy .NET Framework? It reads as a sub-project of '.NET' (previously .NET Core) but it very much isn't because it provides a set of older APIs. We seemingly have two meanings for .NET now, referring to .NET Core (which I guess only applies when suffixed with v5+) and the wider array of .NET projects, whatever they are.
- D_Guidi 7y agoLegacy net framework Will stop with 4.8, as said some months ago EDIT: more on this here https://devblogs.microsoft.com/dotnet/update-on-net-core-3-0-and-net-framework-4-8/ https://devblogs.microsoft.com/dotnet/update-on-net-core-3-0...
- lol768 7y agoFair enough - but the wealth of documentation for it will continue to exist, as will older applications targetting it. This seems problematic if you want to search for ".NET" (meaning .NET Core).
- cm2187 7y agoI missed that, and that would be a pretty big deal. I thought the message was of a side by side evolution, with full framework getting features possibly with a delay.
- manigandham 7y agoThere's no point since .NET Core 3.0 can run desktop applications now.
- lol768 7y agoAll the desktop stuff is only on Windows though, right? If I'm not mistaken this is the first major .NET Core component that is not cross-platform, which is confusing in itself.
- manigandham 7y agoYes, since it's using Windows components like WPF. I dont think they ever had a plan for a cross-platform desktop UI kit.
- solarkraft 7y ago
- pknopf 7y agoI look at this ".NET 5" thing as a PR move to end full framework. "We aren't ending full framework, we have .NET 5!" If you are developing new apps in full framework, you are doing it wrong.
- pjmlp 7y agoThen we are doing it wrong, until the 3rd party libraries that we require, actually bother to make it right.
- tstrass 7y agoIf you're developing an application with a Windows desktop GUI, you're still doing it on full framework (WPF, WinForms, UWP). They're folding that into .NET 5, and I haven't seen anything indicating that they see that as "doing it wrong". This is only one case of developing for full framework, but it's a big one. I imagine any other cases where the developer community really needs full framework capabilities that still aren't ported to CoreCLR, they'll fold that in just the same as with the UI frameworks, as a Windows-specific capability. Maybe they end up sunsetting more than I think, but for now this seems more like consolidating Core and Framework than ending Framework.
- thrower123 7y agoThere are a ridiculous amount of first-party Microsoft SDKs for products they are pushing heavily that don't support Core yet. Unless there is a newer version than last month, one of those is the Bot Framework extensions for Microsoft Teams, which they are just slamming ahead with.
- Nuzzerino 7y agoLast time I tried to seriously switch from Framework to Core, I was dismayed to find that Assemblies could not be unloaded from memory in Core after they were loaded. That was something that depended on the AppDomain functionality, which existed in Framework only. Thankfully, they finally got around to adding support in .NET 3.0 (https://www.strathweb.com/2019/01/collectible-assemblies-in-net-core-3-0/ https://www.strathweb.com/2019/01/collectible-assemblies-in-...).
- JamesBarney 7y ago> And now we have .NET 5 which is neither Framework nor Core - so will ASP.NET drop this Core branding too? Is it just me, or is this all incredibly convoluted? My understanding is .NET 5 is both. Previously .net framework and .net core were both implementations but also api surfaces. And it's my understanding that .Net 5 will basically "implement" both. So .net standard won't be necessary because if all implementations(.net core + mono) implement all the difference api surfaces then you don't need a "common" api surface. So there will only be two implementations. Mono and .NET core which will provide all the same api surface as .net framework + .net core(and therefore .net standard).
- coldacid 7y ago.NET Standard will probably still be necessary due to the fact that Mono will still continue to exist separately thanks to products which embed it (such as Unity).
- WorldMaker 7y agoThis vision structure paints Mono as "merging" into .NET 5 where the MonoVM will be a optional switch with CoreRT and the goal of MonoFX entirely dropped for CoreFX. It also sounds like they want to converge the hosting APIs so that products such as Unity may easily switch between MonoVM and CoreRT. At that point, if Mono is .NET 5 and Core is .NET 5 (embedders like Unity would move to embed to .NET 5), there maybe isn't really a need for .NET Standard.
- deleted 7y ago[deleted]
- 300bps 7y agoThe first two sentences of the article sum up the announcement and eliminates most of the confusion: Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family. There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more. I think Microsoft has been guilty of what you say in the past but this announcement and their product offering going forward could not be more clear.
- recursive 7y agoIf they just said ".net framework is being discontinued; .net core will be known as .net", that would help a lot.
- goto11 7y agoIt is quite confusing and misleading to say "There will be just one .NET going forward" since this will not affect the .net framework at all - there will still be two incompatible platforms (4.8 and 5/core) for the foreseeable future. They just changed the name of one of them. I think the problem with MS is they want a simple name change to look like some new unifying strategy. Developers would be much happier if they just cut out the bullshit and made it clear this is just a name change of .net core. The name change in itself is fine. MS is just FUD'ing themselves with these confusing messages.
- ksec 7y ago>It is quite confusing and misleading to say "There will be just one .NET going forward" since this will not affect the .net framework at all - there will still be two incompatible platforms (4.8 and 5/core) for the foreseeable future. They just changed the name of one of them. Well, everything will move to 5. And the framework at 4.8 will stop being developed. And 5 ( Core, whatever you want to call it, ) is incompatible with the .Net 4.8. How misleading is it?
- goto11 7y ago> everything will move to 5 Not likely. Many libraries (like web forms) will probably never be migrated. We will have two incompatible .net's for the foreseeable future. Changing a name does not change that.
- jaabe 7y agoIt’s getting silly indeed, it’s also getting unproductive. You have to spend too much time thinking about tooling instead of just building things.
- manigandham 7y agoYes, the branding is terrible and has been for some time. It's good that most of it is merging but this is still years away and will create a lot of historical churn in its wake. Even with the tremendous strides in tooling and docs, the naming and runtime complexity is the biggest hurdle in getting new developers to the ecosystem. Just about every other major stack has a far simpler setup. Even ".NET" is hard to search for.
- rdiddly 7y agoYeah, the dot has always been unwelcome now that you mention it. Including in my filesystem. Not to mention the fact that the whole thing was named after an experience that to me at least has always meant "Shoot, .com isn't available!"
- jmartinpetersen 7y agoAs I have gathered from talking to former Microsoft developers and evangelists, vNext is generally embraced to mean "the next great version", maybe primarily for developer centric stuff. Personally, I've been hearing about MS Build vNext and TFS vNext for the last 8 years, and there's been several releases since then. Maybe that's why I kind of associate it with vaporware, even though that's probably unfair. What would be a great naming schemes for retro fitting an open standard with a new, open implementation for a subset of the existing framework?
- arwhatever 7y agoYou haven't even mentioned the runtimes, and the target platforms, and the whatever elses.
- Zenst 7y agoGiven the embracing of other platgforms, and the convergance aspect of one .NET to rule them all. WHy they didn't rebrand it is a mistake they will probably end up doing if they want to pull in dev's on other platforms. Many who's exposure to .NET will be of a legacy flavour and maybe left a sour taste. A taste that will stick with them upon anything .NET. I'd vote for .ONE, one API to rule them all. Though convoluted does sell books, I'm sure we will see a title "When is .NET not .NET" soon.
- rqqt 7y ago.ONE Yeah, that's easy to search for! /end sarcasm
- justinmchase 7y agoIt sounds like they're trying to improve this situation in this build by replacing and unifying it all around 5 and give it a clear path forward. But yeah, it got a little crazy with divergent visions there.
- greggyb 7y agoTo draw an analogy to Debian, vNext is somewhat similar to Sid. The name is a moving pointer. In a Microsoft context, there is not an unstable connotation like Debian's Sid is. vNext is a term used across much of the Microsoft ecosystem to denote the current WIP version of a specific technology. SQL Server vNext has pointed variously at what became the 2017 release and currently points at the 2019 release (and will soon point to the next release after that).
- kevingadd 7y agoI work on Mono and used to maintain a .NET cross compiler and the Core / Standard / Framework terminology still makes no sense to me. On the bright side unifying products and libraries and stuff will mean it doesn't have to confuse me anymore (:
- sk5t 7y agoExcellent recall--I had almost entirely forgotten about ".NET Passport," one of Microsoft's many premature plays at being an identity provider. This certainly added to confusion at the time about .NET's actual form... something to do with XML, or web services? And an awkward new ORM that will definitely not become well-loathed in near-record time?