Microsoft Build 2020: Every Windows announcement

A tablet on a table showing the Windows 10 logo

Developers are always keen to get new toys to play with, and this year Microsoft’s Build conference delivered some absolute corkers. Not only did the company release the first official 1.0 version of its new Windows Terminal command-line interface, but it also announced a new package manager, new .NET development tools and even a couple new additions to PowerToys.

These cool new additions haven’t come at the expense of functionality though, and Microsoft has also shared more details on foundational changes to how Windows app development will work in future. One key example of this is Project Reunion, which aims to close the gulf between Win32 and UWP apps.

Microsoft Build 2020: Newly-announced Windows products

Windows Package Manager

Developers love a shortcut - some of the world’s most game-changing technologies were invented by smart people who wanted to find a quicker way to do things, after all - so the new Windows Package Manager is likely to be a big hit indeed. Similar to the Linux equivalent, Windows Package Manager (AKA winget) allows developers to search and install common open-source tools via the command line, or even via a script.

Not only is this hugely more convenient for developers than navigating to a web page to download and install specific tools, but it could also make the onboarding process for new technical staff dramatically easier. Rather than spending hours or days manually installing specific tools and configurations, one script can be used to grab and install everything that’s needed.

The repository of software that winget can pull from is open-source and Microsoft is asking devs to add their tools to it. Windows Package Manager is currently in preview, with the 1.0 release pencilled in for May next year.

.NET MAUI

The proliferation of different device categories and form factors in recent years has been tough for developers to keep up with, but Microsoft is hoping to ease that burden with the introduction of the .NET Multi-platform App UI - or .NET MAUI, to give it its much snappier acronym.

Based on the Xamarin.Forms cross-platform development framework, MAUI allows developers to use a single codebase and project file to develop native applications for multiple different devices with minimal additional work. MAUI will be available in all of Microsoft’s IDE tools and will support XAML and MVVM code patterns, as well as Blazor and MVU with C#.

Microsoft is aiming to make the transition to MAUI (which will reach general availability alongside .NET version 6 in November 2021 after going into preview later this year) as easy as possible for existing Xamarin.Forms developers. MAUI will use the same controls and APIs, with migration guides and support available to help devs make the switch.

Project Reunion

The Universal Windows Platform, announced alongside Windows 10 a number of years ago, was an ambitious effort to create a library of highly portable applications that could run across all multiple device categories including PC, Xbox, mobile, HoloLens, IoT and more. The project faltered, however, as developers proved unwilling to abandon the trusty Win32 API that remains the basis for most desktop applications.

Microsoft’s latest attempt to kick-start the growth of the UWP ecosystem is Project Reunion, a suite of tools, updates and frameworks designed to unify the Win32 and UWP APIs, making it easier to add newer functionality to older apps and port them across to UWP. Microsoft will be decoupling both apps from the OS, enhancing backwards-compatibility for new code, and introducing new capabilities like the ability to embed web content within desktop applications via Chromium and Edge.

Microsoft Build 2020: Windows products now in preview

Preview 4 for .NET 5 is now available

.NET is one of the foundational building blocks of the Microsoft ecosystem, and the fourth preview of .NET 5 is now officially available prior to the full release in November. The latest release continues to bring Microsoft closer to its goal of unifying all the various offshoots of .NET under a single banner, but it hasn’t quite managed to unite its .NET Core and Xamarin tools for this release due to the coronavirus crisis - that’ll be coming in .NET 6, according to the company.

What developers will get with this release is a raft of performance improvements for various functions, native support for Windows ARM64 devices (like the Surface Pro X) and new container APIs, as well as C# 9 and F# 5. As with the majority of the announcements form this year’s Build, the focus is very much on enabling developers to work on modern cloud-native and multi-platform applications with Microsoft’s tools.

Host single-page JavaScript apps with App Service Static Web Apps

Reactive web applications are all the rage these days, and Microsoft is supporting this with a new Azure App Service hosting option for stative web apps. The service is now in public preview and allows devs to host JavaScript-based single-page apps built on frameworks including Angular, React and Vue with fast deployment and minimal configuration. It also integrates with GitHub Actions to connect these apps toCI/CD pipelines for quality and security testing purposes.

Microsoft Build 2020: Windows products now in general availability

Windows Terminal brings some colour to the command line

Arguably one of the coolest products hitting general availability at this year’s Build is the new Windows Terminal app. Initially previewed at last year’s show, the 1.0 version includes a heap of cool features, such as GPU-accelerated text rendering for faster performance and support for Unicode and UTF-8 characters - which means it officially supports emojis.

It’s also incredibly customisable, including the ability to add background images and GIFs, custom keyboard shortcuts and bindings, and even multiple profiles, each with their own separate customisations. One popular feature is a setting to give the terminal window the appearance of an old-school CRT monitor, complete with glowing green text and scan lines.

Windows Terminal can be used with all the various command-line systems Microsoft supports, including Windows, PowerShell and Windows Subsystem for Linux. It’s been in public preview for a while, but with the 1.0 release, Microsoft says it’s now stable enough for enterprise use.

Windows Subsystem for Linux 2 brings GPU acceleration and GUI apps

Developers everywhere were flabbergasted when Microsoft unveiled Windows Subsystem for Linux back in 2016, giving users the capability to run native Linux distros on top of Windows for the very first time. The latest version of the software, WSL 2, was previewed at last year’s Build, and it’s generally available in the next Windows feature update.

The headline changes are that it’s between three and six times faster than the original software, according to Microsoft, and boots in just two seconds. It also runs on top of a genuine VM-based Linux kernel image, resulting in full compatibility with a ‘proper’ Linux environment.

More changes are on the way, too; WSL will soon be able to take advantage of GPU hardware acceleration via Nvidia CUDA and DirectML to provide more compute horsepower for things like machine learning tasks, and it will also be able to render Linux apps which require a graphical user interface, greatly enhancing its flexibility. Integration with the Windows File Explorer is also set to be introduced, allowing devs to access files stores within their WSL directories without having to fire up a distro. These changes, along with a simplified single-command installation experience, are set to launch later in its development cycle.

Microsoft Build 2020: Windows products with updated features

Visual Studio

Microsoft’s family of IDE tools has received a lot of love at this year’s Build; Visual Studio’s Live Share collaborative development tools now support both text and voice chat capabilities for smoother knowledge transfer, and there are lower costs and preview instances for Microsoft’s Visual Studio Codespaces.

This particular feature gives developers access to a cloud-hosted environment in which to run code, which can be accessed by multiple people to collaborate on projects. In Visual Studio 2019, Windows-based Codespace instances (which are still in private preview) can now be used to build C++, ASP.NET Core and .NET Core projects

Windows for IoT

Microsoft’s Windows for IoT offering, which provides a basis for running embedded IoT devices in the field, will be significantly improved over the next year. The next LTS Windows release will bring the Windows 10 IoT Core and Windows 10 IoT Enterprise platforms together, for example, while device footprints will be able to be shrunk thanks to size reductions in the Windows for IoT OS itself of up to 40%.

Devices will be able to receive over-the-air updates, and will also be able to run Linux containers through Azure IoT Edge. These features will be available soon in preview, before rolling out fully next year.

ASP.NET Blazor

JavaScript is one of the most popular languages around for web development, but there’s still an awful lot of people that know C#. Microsoft’s ASP.NET Blazor product allows those people to build interactive front-end web components using C# instead of JavaScript, and it now supports WebAssembly as well, enabling the construction of client-side web abbs that run completely in the browser with .NET tools.

According to Microsoft, these .NET-based apps run faster and have less of a memory overhead than traditional JavaScript-based apps, and the addition of WebAssembly means that developers can reuse .NET code and libraries with Blazor.

Adam Shepherd

Adam Shepherd has been a technology journalist since 2015, covering everything from cloud storage and security, to smartphones and servers. Over the course of his career, he’s seen the spread of 5G, the growing ubiquity of wireless devices, and the start of the connected revolution. He’s also been to more trade shows and technology conferences than he cares to count.

Adam is an avid follower of the latest hardware innovations, and he is never happier than when tinkering with complex network configurations, or exploring a new Linux distro. He was also previously a co-host on the ITPro Podcast, where he was often found ranting about his love of strange gadgets, his disdain for Windows Mobile, and everything in between.

You can find Adam tweeting about enterprise technology (or more often bad jokes) @AdamShepherUK.