.NET Core 3.0 is a huge leap forward
Microsoft has made lots of changes to .NET Core over the years, bringing tons of features over from its more mature and feature-rich sibling, .NET Framework. Still, the feature gap remained quite large for certain scenarios, leaving many developers waiting and wanting for more to be swayed away.
With .NET Core 3.0, which officially arrived this week, Microsoft may just win their hearts and minds once and for all.
The biggest show-stopper that Microsoft removed from the equation with the launch of .NET Core 3.0 is support for desktop applications, which is finally available in the new framework.
The options at this moment involve Windows Forms and WPF (there is some open-source support in there, Microsoft says), which are great when targeting Windows.
"Great, but who cares?" you might ask. Well, fact of the matter is, desktop applications continue to be plenty relevant in this day and age still -- even though web applications dominate the scene.
If you look at Visual Studio, it is still built using .NET Framework -- because even Microsoft did not have the option to leave it behind. And this is the IDE that developers will most likely use to create .NET applications -- not to mention that it is a major piece of software that has helped shape the tech world as we know it today.
Now, with .NET Core 3.0 on the table, it will be interesting to see how these sort of applications will evolve -- will developers choose to stick with .NET Framework, even for the simple reason that it works and that it is cheaper in the short run, or will they try to upgrade to leverage all the goodies that are now on the table?
Microsoft is definitely going to go the latter route, if you ask me, if only to emphasize once more how much it believes in .NET Core. In fact, the software giant says that it already uses it in production workloads, namely on bing.com and dot.net.
That's a major vote of confidence, considering how much traffic Bing gets and the fact that .NET Core 3.0 wasn't even official before this week started.
In case you didn't know, Microsoft actually labeled the most-recent preview releases as production-ready -- which is crazy, I know, but it does prove my point.
Microsoft touts loads of major changes in the official blog post, but the gist of it is that there is lots to like about what .NET Core 3.0 brings to the table if you're coming from a .NET Framework background, considering a switch from a different framework or another programming language -- like Java.
Here are some of the other highlights:
- Support for F# 4.7
- Support for .NET Standard 2.1
- Better JSON performance
- Lowered memory consumption
- Smaller SDK installs
- Improved Docker support
- Linux ARM64 support
- HTTP/2 support
C# 8, which arrived alongside .NET Core 3.0, is only supported in full in this new release. Speaking of the new language version, it's chock full of new features, like default implementations in interfaces, nullable reference types and async streams.
What's more, many NuGet packages that one might or will use with .NET Core 3.0 are also updated to match the new functionality that it has to offer. And new ones are coming as well.
ASP.NET Core, for instance, introduces Blazor and gRPC support and enables HTTP/2 out of the box when Kestrel is used as a web server. Entity Framework Core 3.0 gets more performant queries and support for C# 8 features, among other changes. And these are just some examples.
Of course, as you might expect, .NET Core 3.0 does not come without proper IDE support. Microsoft has released Visual Studio 2019 16.3 and Visual Studio For Mac 8.3 as well, to make it easy for developers to take advantage of all the changes it introduces.
And, if you are looking forward to .NET 5, which Microsoft will bring out in late-2020, you can read more about it here. It's meant to basically replace .NET Framework in full -- well, as much as it makes sense to -- and turn things up a notch on the cross-platform and feature front that we've come to love in .NET Core.
Image Credit: nd3000 / Shutterstock