Microsoft kicked off its Microsoft Build 2020 conference via livestream this morning. A developer-centric event, the livestream is light on consumer-facing products and heavy on developer tools. It still did not disappoint, showing off some major new developments that will excite anyone developing on Windows 10.
Microsoft shows off Project Reunion, which unifies Win32 API and UWP API builds
During the show, Microsoft CEO Satya Nadella announced the company's latest efforts to make app development easier, by unifying win32 and universal windows platform (UWP) APIs into a single package: Windows apps.
The latest Windows 10 builds use UWP APIs to access the latest features that aren't accessible on older versions of Windows 10. As a result, most developers specifically target win32 systems by default (which every Windows 10 system supports) when building their apps so they can reach the largest install base possible.
That hurts the development of the latest Windows features, however, since many developers can't take advantage of Microsoft's newest developments without sacrificing a segment of the Windows install base that isn't running the latest Windows 10 update.
Nadella announced that Microsoft has found a way to bridge this gap between the old and new APIs, using something they call Project Reunion. "We're unifying the Windows platform allowing for seamless integration across both win32 and UWP APIs," Nadella said during the Microsoft Build 2020 livestream.
The way Project Reunion works is developers can use the open-source NuGet package manager to download the latest Windows API and compile it directly into their apps, which bypasses the need for the user's operating system to support those features.
Project Reunion is also enabling Windows 10 applications to stream from the cloud and make it accessible to any device, regardless of whether it is running a specific version of Windows 10.
While the idea of streaming a web app isn't revolutionary in itself, Microsoft hopes that Project Reunion makes it easier to move older apps onto the cloud-based model rather than have to rewrite them specifically to run on Azure, Microsoft's cloud-based computing solution.
Microsoft announces Windows Terminal and WSL2, a real Linux kernel running inside Windows 10 itself
Running a Linux kernel on a virtual machine is a pretty common practice for developers working in Windows, but during Microsoft Build 2020, Microsoft engineers Scott Hanseman and Kayla Cinnamon showed off the new Windows Terminal tool that launched today.
During this demonstration, they discussed the new Windows Subsystem for Linux 2 (WSL2), which is an upgrade over Microsoft's earlier efforts to more closely integrate a Linux terminal into Windows powershell. While WSL1 was powered by a Linux binary translation layer, WSL2 is powered by an actual Linux kernel that runs on an integrated virutal machine from within Windows 10 itself.
Without getting too into the weeds, Windows and Linux kernels use different, and therefore incompatible, system calls to do things like request memory allocation, write to I/O, and similar interactions with system hardware. This makes it impossible for some programs built for one kernel from ever running on the other without being fundamentally rewritten.
WSL2 aims for full system call compatibility, letting developers run Linux applications directly from the new Windows Terminal and for Windows developers to develop and test Linux builds of their apps directly from popular developer tools like Visual Studio.