This is an archive of my weekly (free!) newsletter, The .NET Stacks. Consider subscribing today to get this content right away! Subscribers don’t have to wait a week to receive the content.
Welcome to the very first issue of The .NET Stacks! I appreciate all of you for being my first subscribers—even before it was even launched. If you have any suggestions, you can simply reply to this email or hit me up on Twitter. And if you like what you see, I would love for you to share with others as well. Let’s get started!
The three things you need to know to keep you current and impress your colleagues (the details of which are in this newsletter):
- With .NET 5, to be released in November 2020, comes the vision of “One .NET,” including Xamarin! A core tenet is producing one .NET runtime and framework that can be used everywhere.
- C# 9 is coming along, which brings a ton of improvements like init-only properties and records (among many, many other things)
As you may have heard, Microsoft Build occurred this week—from the comfort of our homes. The real question is: will we ever want to go back, after having this go so seamlessly?
All the content is available for on-demand viewing on the Build site and Channel 9. Here are the keynotes:
- Empowering every developer, with Satya Nadella
- Every developer is welcome, with Scott Hanselman and guests
- Azure: Invent with purpose
- Building the tools to work and learn, with Rajesh Jha and guests
On top of the keynotes, there were several valuable break-out sessions that you can watch at your convenience. Of course, a ton of announcements/news:
- The new Windows Terminal is live with the 1.0 release. Who thought you could have fun with the terminal?
- The official Windows Package Manager is now in preview.
- C# 9 is really coming along, and so is F# 5.
- Not new, but definitely showcased by Scott Hanselman and others at Build: PowerToys, a set of powerful utilities for Windows.
- Preview 4 of .NET 5 is now available. .NET 5, the culmination of the “One .NET” mission, will be released in November.
- Microsoft released .NET Multi-Platform App UI (.NET MAUI), the evolution of Xamarin.Forms into unified .NET (in .NET 6). This promises the ability to write code for any device from a single codebase.
- C# in the browser is finally GA, with Blazor WebAssembly support! It’s turned into a mature ecosystem very quickly.
- While announced before Build, they showcased Visual Studio Codespaces (formerly Visual Studio Online), which allows you to work with fully-configured environments on the fly, even from the browser.
- Azure Static Web Apps have rolled out (in preview), and looks quite promising.
- Learn TV is now live.
For many of us who have been writing .NET for awhile, we can easily split Microsoft into two companies: the Gates/Ballmer years (“OId Microsoft”), with its resistance to open source in favor of world dominance and Microsoft lock-in; and two, the kindler/gentler Microsoft who strives to be open to all, in favor of driving business to its Azure offerings (“New Microsoft”).
When New Microsoft announced the Windows Package Manager, it was met with quite a bit of skepticism from the community, and caused one spirited GitHub discussion. Leaders in the space, like Chocolatey, don’t seem to be worried yet, but some folks in the community are asking: why is this needed, with so many community projects out there that already solve this problem (or are further along)? Microsoft points at the issues delivering a native app as well as security considerations.
Microsoft’s stance of “if you are happy with what you use, great” comes off to some as a little naive, considering how the remnants of Old Microsoft still linger to some folks. As for the community, some patience would help without jumping to conclusions, as Microsoft has open-sourced this and is open to feedback—and New Microsoft has a track record of working with developers, not against them.
This section is a bit brief because of all the Build announcements, but alas:
- A couple .NET design reviews this week: connection abstractions and ARM.
- Ben Foster talks about binding and validating enums for ASP.NET Core.
- Jason Roberts illustrates the power of feature filters in the Microsoft.FeatureManagement library.
- Thomas Levesque talks hash codes.
- Shahed Chowdhuri discusses tag helper authoring in ASP.NET Core 3.1.
- Thomas Ardal shows how to implement always signed in with ASP.NET Core and Azure.
- Steve Fenton talks about simplified console apps with C# 9.
Care to show off what you’re building? Reach out at email@example.com, and it might be featured in a future newsletter.
I would love to hear any feedback you have for The .NET Stacks! For a little while, I’ll be trying some new things—as with software, some might work and some might not. My goal is to make this the one-stop shop for weekly updates on developing in the .NET ecosystem, so I look forward to any feedback you can provide. You can directly reply to this email, or talk to me on Twitter as well. I’ll talk to you next week!