Skip to main content

Developing for all 1 billion Windows 10 devices and beyond

Written By published May 19, 2020

This year, Microsoft Build 2020 is a digital-only event that we all get to experience from the comfort of our homes. We hope you enjoy learning about the new features and technologies that matter most to you. Today, I will have the privilege of sharing how developers can build apps for modern work using Microsoft 365 and Windows platforms. I will focus on 4 key areas of improvements to the Windows platform:

  1. Unifying app development across the billion Windows 10 devices for all your current and future apps;
  2. Leaning into the cloud and enabling new scenarios for your Windows apps;
  3. Creating new opportunities for you to build connected apps using Microsoft 365 integration in the Windows experience; and
  4. Making Windows great for developer productivity.

Unifying app development across the billion Windows 10 devices

Today we will unveil Project Reunion: our vision for unifying and evolving the Windows developer platform to make it easier to build great apps that work across all the Windows 10 versions and devices people use.

For the past couple of years, we have been breaking down the barrier between Win32 (also called the Windows API) and Universal Windows Platform (UWP) APIs. Project Reunion expands this effort to make it easier to build a great Windows app. It will unify access to existing Win32 and UWP APIs and make them available decoupled from the OS, via tools like NuGet. This will provide a common platform for new apps. Plus, it will help you update and modernize your existing apps with the latest functionality, whether they’re C++, .NET (including WPF, Windows Forms, and UWP) or React Native. As we decouple existing APIs and add new APIs, we are also doing the work to polyfill, as needed, so the APIs work down-level across supported versions of Windows.

Animation showing Project Reunion text.

One of the first components in the Project Reunion journey is WinUI 3 Preview 1, the high performant, Fluent-optimized native UI framework for Windows. With WinUI developers can build great user experiences that adapt and scale across devices, whether they are starting a new project, or modernizing an existing app.

Screenshot of Engaging UI powered by WinUI in Alarms & Clock app

Image 1: Engaging UI powered by WinUI in Alarms & Clock app

We also know there are times when you want to integrate web content in your native app so you can share code across platforms and with the browser. Today, we are expanding WebView2 (another component in the Project Reunion journey) with a new .NET Preview. Now, any Windows app can embed web content with the power of Microsoft Edge and Chromium. WebView2 provides full web functionality across the spectrum of Windows apps, and it’s decoupled from the OS, so you are no longer locked to a particular version of Windows.

An example of a PDF inline using WebView2

Image 2: Showing an example of a PDF inline using WebView2

We invite you to learn and engage with us at this early stage in the Project Reunion GitHub repo, where we’ll be sharing our progress and listening to your feedback as we implement this vision. You can also learn more about WinUI and WebView2 today.

Leaning into the cloud and enabling new scenarios

As organizations shift to enable remote work, Windows Virtual Desktop, built on Azure, has provided the ability to provision and scale virtual desktops and apps faster than was previously possible. It enables organizations to serve your existing app to a growing set of devices that users can access with the Windows Virtual Desktop clients for Windows, MacOS/iOS, and Android.

Because scalability is so important, we introduced a feature called MSIX App Attach. The MSIX App Attach Preview will optimize people’s experiences by untangling the OS image that organizations deploy in the cloud from the apps that people need to access. This means that once you adopt MSIX for Windows desktop, the same investment will soon bring even more benefits when running your app in Windows Virtual Desktop on Azure.

Creating new opportunities for you to build connected apps

We also know you are looking for more ways to build connect apps, and with Microsoft 365 integrations like Microsoft Search and the Microsoft Graph you have even more opportunities. We all use so many tools and apps and it can be cumbersome to find what we need. But Microsoft Search and the Microsoft Graph can draw unique connections between your people, files, and tools so that you can find what you are looking for. These are just two integrations that allow you and your users to be more efficient, but you can do so much more with the Microsoft 365 platform. Additionally, developers can start using our Graph Connectors that are in preview now, and Microsoft Search will be coming to Windows later this year.

Screenshot example of looking up a coworker and finding pertinent information and shared files and apps

Image 3: Look for a coworker and see pertinent information and shared files and apps

Making Windows great for developers

We know it is important for you to stay productive and we appreciate your feedback on how we can make that happen. With advancements to Windows Terminal and Windows Subsystem for Linux you have modern, fast, and powerful tools.

Now available for enterprise use, Windows Terminal 1.0 provides you with the ability to run any command line executable, including WSL distros and Azure Cloud Shell, inside multiple tabs, and panes. You can also use Unicode and UTF-8 characters, have a GPU accelerated text rendering engine, and custom themes, styles, and configurations. The Windows Terminal is available on the Microsoft Store or manually from the Terminal GitHub repo.

Improvements to Windows Subsystem for Linux (WSL) have centered around enabling hardware acceleration, running a Linux GUI app directly, and making it easier to start using Linux apps on Windows. Here are a few details:

  • Added support for graphics processing unit (GPU) compute workflows allows Linux tools to leverage GPUs to enable hardware acceleration for many development scenarios, such as parallel computation and training machine learning (ML) and artificial intelligence (AI) models.
  • Support for Linux graphical user interface (GUI) apps will enable you to open a WSL instance and run a Linux GUI app directly without the need for a third-party X server. This will help you to run your favorite apps in a Linux environment such as an integrated development environment (IDE).
  • WSL will soon support a simplified install experience by running the command ‘wsl.exe – install,’ which will make it easier than ever to start using Linux apps on Windows.

Additionally, preview tools and utilities, like the Windows Package Manager and Microsoft PowerToys, provide you with paths to streamline your Windows experience for even greater development productivity.

You asked for an easier way to setup your development environment and now with the Windows Package Manager Preview you have a command line interface enabling you to install your favorite tools quickly and easily. The repository of packages is open source, and we can’t wait for you to contribute and help us with the next level of improvements.

With Microsoft PowerToys (0.18) you can customize the Windows 10 shell for your personal workflows. Today’s updates add two new utilities: Keyboard Remapper and PowerToys Run. You can remap key to key and shortcut to shortcut using Keyboard Remapper. And, PowerToys Run, an app launcher utility gets you to your programs faster than before – hit alt-space and just start typing.

We look forward to working with you in the open to make progress on each of these efforts, so we can help you build productive and delightful experiences. I can’t wait to see what we can build together with WinUI, WebView2, Terminal, Windows Package Manager Preview, Project Reunion and more. If you didn’t get enough at Build, you can find additional deep-dive content on topics like WSL, Terminal, React Native for Windows, WebView2, Windows AI, and much more at Microsoft365.