5 things you need to know about Windows 10X containers, UWP, and Win32 apps The way Windows 10X achieves app neutrality is complex, but the consumer experience is seamless. Microsoft today shared the first important details about how Windows 10X works, including the launch of an emulator to help developers optimize their apps for a dual-screen experience. But the biggest advantage is that Windows 10X runs all apps in a container. What this means for a good reason, here are the types of apps you can run on devices like Windows 10X and Surface Neo.They just run
1. 3 containers, but 1 experienceContainers can be thought of as empty boxes abstracted from the operating system, giving you more control over their behavior. For Windows 10X, all applications run in a container, but there are no configuration or high level changes that developers need to use these applications. They are just part of the OS architecture. Specifically, there are three types of containers, one of which is new (Win32).Win32 Container: Runs “classic” x86 32 and 64 bit Win32 apps, WinForms, WPF, Electron, etc. and is similar to the desktop OS. There is a single container for all Win32 applications and it has “high compatibility” with all existing software.
Full trust MSIX container: High compatibility with existing apps. They run separately from other Win32 apps and run as containers within the Win32 container on Windows 10X.
All UWP apps: lowest system overhead, highest performance and battery life, highest security and privacy controls for all systems.
Consumers do not need to know about this experience. Most Win32 apps and all UWP apps should run as is on Windows 10X. Click on the app to open and run the app. And it doesn’t matter where you install it, such as the Microsoft Store, the web, or a USB drive.It does not matter whether the developer continues to use the Win32 “classic” desktop app, Progressive Web Apps (PWA), or UWP. For obvious reasons, UWP is most optimized for Windows 10X, but Microsoft has put a lot of effort into making these classic desktop apps work as well.Built for mobility
2. Containers optimize battery life and performanceUWP apps are still the most optimized app platform for Windows 10X. Since it was initially designed with Windows Phone (Windows Mobile) in mind and developed for mobility, this should not be a revelation. UWP apps maximize security, battery, performance and respect OS-level suspend and resume events.Win32 applications are primarily written for the desktop environment. UWP lacks mobile optimization. As a result, it tends to be more powerful than UWP, but worse in battery life and speed. But the Win32 “classic” app is still very valuable in the modern mobile computing experience even in 2020.Microsoft “fixes” this issue with Win32 (and MSIX) apps via Win32 containers. Here’s how:If you do not see the window, the Win32 + MSIX container will reduce the resources.
If the window is not open, the app will pause completely.
Win32 and MSIX apps do not run in the background when minimized and closed. As a result, system resources and batteries are saved. On the contrary, actively using Win32 apps will use more resources to ensure performance.However, this behavior change has two consequences. For example, a “classic” Win32 app will not be able to run background tasks at least very long before the container is suspended. The other is that Win32 apps can’t auto-launch with Windows 10X. The latter is because Windows 10X doesn’t have a system tray, so you can’t keep the “classic” app running in the background.Interestingly, Microsoft can allow users to control this behavior so that Win32 containers (and Win32 apps) can run in the background. Not determined yetFinally, the design of the Win32 and MSIX containers eliminates the need for anti-malware and antivirus systems, or significantly reduces overhead, improving system performance and battery life.Drivers, peripherals and other
3. everything should work
DirectX Graphics, Audio, Media
This means that the old “plug and play” model is still valid, and PCs like the Surface Neo should be able to run everything you plug in, including external monitors and peripherals.Security is also improved as users can deny access to all Win32 classic apps such as camera, microphone and location on PC. UWP apps already do this on individual app level permission systems, but on Windows 10X you can shut down all systems for all Win32 apps at the container level if you want.Windows 10X doesn’t have a system tray, so these “classic” apps can’t use it. However, even if these apps call something that doesn’t exist in Windows 10X, that doesn’t mean app instability. Microsoft says that these apps can work “as is” (meaning no registry changes), but because of the container these calls will never affect the OS. Translation: The app should not crash due to limitations of the Win32 container.Why You Need Both
2. Two File Explorers (Kind)What reflects the dual nature of the Windows 10X environment with UWP and Win32 apps side by side is the use of two file explorers, including the Save As file environment.This fact sounds confusing, but it is not. Win32 applications can use the “classic” file explorer and dialogs to select files throughout the system, including system folder access. This feature is important because Win32 apps expect a dialog box to exist to select and save the files needed for the program.However, using the file dialog in the UWP app or Windows 10X (the “host operating system”) will bring up a “modern” file explorer that is limited to the necessary libraries such as videos, music, favorites, documents, pictures, etc. .This gives the user a base level access to the default library, but means that they cannot access OS level file structures like desktop OS (Windows 10). However, these Win32 apps will run without any code changes.5. Maximize app launch (current)In a conversation with Kevin Gallo, CVP on the Microsoft Developer Platform, apps on Windows 10X now run fullscreen (that is, maximized). This experience is the same as how the app ran in the Windows 8 and current Windows 10 tablet mode environments.The reason for the choice is the screen size. The smaller the display, the higher the information density. Running five small window applications on one 9-inch display (extended to 13.1 on both displays) is not a common scenario.This maximized large window topic is controversial and Microsoft is not flexible on this issue. If your developer prefers the option to allow smaller window apps on Windows 10X, your company may allow it.UWP is still the key
finish: Windows 10X is complex but simple.Microsoft designed Windows 10X to be app neutral. Electron, UWP, Win32, WinForms, WPF don’t matter. All these apps run on Windows 10X and most don’t make any major changes to your code.I think the easiest way to think of it is about design and priorities.Windows 10 Home / Pro: Build and run based on Win32 apps, but can also run UWP
Windows 10X: Created to run UWP, but can also run Win32.
Microsoft probably didn’t categorize that way, but Windows 10X is built to be fast, fluid, mobile, and secure. In fact, the OS update should not exceed 90 seconds. Because, like HoloLens, it is built on the silos and limited characteristics of UWP.The good news for consumers, or anyone who buys a dual screen PC like Surface Neo, is that none of this matters. You can install any app you want and the expected behavior is respected. Also, developers should not make significant changes to their apps (up to older Win32 apps) to run on Windows 10X.Gallo also reminds us that these dual screen optimization applications should also provide a better experience on Windows 10 desktop systems. This feature is a clear example of how Windows 10X goes back to Windows 10.Of course, it still remains how everything works, but Microsoft says Windows 10X should not allow users to recognize the performance difference between Win32 and UWP apps. This is an exciting prospect as users move into a new era of mobile PC computing that does not require compromise.Most of this information was gathered from the Microsoft 365 Developer’s Day video How Windows 10X runs UWP and Win32 apps.