Just in time for summer (at least for those of us in the northern hemisphere), there is a new minor release of ASP.NET Core 2 and .NET Core 2 to play with. It has lots of new features and plenty of improvements to existing functionality.
I’ve picked 6 of the features that I think stand out. Make sure you read beyond just the new features though.
The main headline for this release is that there is a new version of SignalR, the server-push framework. You may have used SignalR before and it makes it easy to implement WebSockets with a fall-back to long-polling. However, the new version has been rewritten, incorporating lessons learned when scaling the previous version. There’s also a preview of a managed service, hosted on Azure.
.NET Core 2.1 now fully supports ARM chips (v7 or higher). This means that you can build your code on a Raspberry Pi (v2 or higher). Previously, you needed to build on a PC and copy over the result, as I demonstrated in this talk at the Financial Times.
The Single Page Application templates have been updated, which is good news for those of us who want to get started quickly and still follow best practices. I’ve been doing a lot of Angular work with ASP.NET APIs recently and I’ve also been known to do some React and Redux apps too (e.g. the video of this talk), so this is a welcome update.
HTTPS / TLS
HTTPS is now on by default, yay! This is a great step forward for security and privacy on the web. The earlier in the development process you start, the easier it is. Security shouldn’t be just a deployment-time concern, that’s not Agile. You don’t need to understand how encryption works to implement this but if you’re interested then you can read my primer blog post.
If you’ve not heard of the General Data Protection Regulation then you clearly haven’t checked your emails recently. It’s amazing how many companies have data on you and now can’t keep it without your explicit consent. GDPR gets a fair amount of hate in some tech circles, but I think it’s fantastic, and long overdue. Those who don’t like it must have been doing some morally dubious stuff before. ASP.NET Core 2 now includes helpers for consent opt-in and cookie management.
While new features are great, what is even better is the continued focus on high performance. There are new data structures (such as
Span<T>), plenty of optimisations and a new compression algorithm (Brotli). You can read a very thorough set of benchmarks to check the details but to summarise, upgrading provides a significant performance boost for certain workloads. If you want more on performance then there’s a book for that 😁, and it even covers Brotli.
.NET Standard support is growing all the time, so you should be able to use your favourite NuGet packages, libraries and frameworks with .NET Core. If you have anything to add then please open a pull request on my ANCLAFS repo. It’s no longer a case of limited support, as it was when .NET Core first launched.
There is an update for Visual Studio 2017 (15.7.3) but you can also install the SDK and use the command line. You could (and should) try it with Visual Studio Code, which I use practically every day and it just keeps getting better.
If you’re looking for a quick guide to get started with .NET Core 2 on Windows, Mac, Linux or Docker then you should check out my latest book on Amazon.
If you’ve read this far you might be wondering about the picture of the avocado. I could make a tenuous analogy to the stone of .NET Core surrounded by the flesh of ASP.NET Core, but really I just like avocados.