I'm reminded of Tom Hanks as Chuck Noland in Cast Away, struggling to push past the crashing waves to escape his lonely little island on a hand-built raft, seeking the freedom of the open sea and the help he hoped to find there.

"Raft 2.0" Scene in Cast Away

An apt metaphor for Microsoft and .NET Core pushing into previously uncharted waters (for them) and the world of free and open source software.

Because remember, there was "Raft 1.0".

"Raft 1.0" Fail

I'm not saying that .NET Core 1.0 was a failure. Just as Chuck Noland learned from his 1.0 effort, Microsoft did the same. And with 2.0 it feels like we've successfully escaped our little island. There's no going back, and it's clear sailing from here.

With .NET Core 2.0 Microsoft has managed to deliver on both platform and tooling at the same time, and deliver big.

Platform

But let's start small and mention that ARM32 support is now available for Linux and Windows. So if you've been wanting to write C# for your Raspberry Pi IoT device, have at it.

Raspberry Pi

The Windows option is Windows 10 IoT Core Edition. And for Linux there are multiple distributions available.

.NET Standard

.NET Standard 2.0 is supported on the following platforms:

  • .NET Framework 4.6.1
  • .NET Core 2.0
  • Mono 5.4
  • Xamarin.iOS 10.14
  • Xamarin.Mac 3.8
  • Xamarin.Android 7.5

So .NET Standard 2.0 is now the way to do portable libraries. The Portable Class Library (PCL) approach has been deprecated.

Cloud

Microsoft has already added support for .NET Core 2.0 to Azure Web Apps in all Azure regions.

Performance

There's an overall performance improvement of around 20% in .NET Core 2.0 due to several factors such as RyuJIT and PGO.

Tooling

There are so many improvements in the area of Visual Studio tooling that it really deserves its own blog post, so stay tuned for that.

Wrap Up

If you're a .NET developer like me, perhaps "your ship has finally come in"...

in the form of .NET Core 2.0.

You've got to be impressed with the commitment and coordination required to push all of this at the same time:

  • 3 Visual Studio Flavors (Windows, Mac, VSCode)
  • .NET Core
  • .NET Standard
  • ASP.NET Core
  • Entity Framework Core
  • Azure

Quite an accomplishment for Microsoft and a terrific sign for those who make a living working on and deploying systems on the Microsoft stack!