From 34b3ad58131f07408fda367c40dcbe54432d278f Mon Sep 17 00:00:00 2001 From: Gabby Bilka Date: Tue, 15 Mar 2022 15:33:03 -0700 Subject: [PATCH 1/3] Update WinUI roadmap as feature overview --- docs/roadmap.md | 128 ++++++++++++++++++------------------------------ 1 file changed, 48 insertions(+), 80 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index 7a5730c547..0bc2cd88e7 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,21 +1,19 @@ -# Windows UI Library Roadmap +# Windows UI Library Overview -WinUI is the modern native UI platform for Windows. This document outlines the prospective roadmap for WinUI through 2021. WinUI is under active development by the Windows developer platform team and the roadmap will continue to evolve based on market changes and customer feedback, so please note that the plans outlined here aren't exhaustive or guaranteed. We welcome your feedback on the roadmap: please feel free to contribute to existing issues or [file a new issue](https://github.com/microsoft/microsoft-ui-xaml/issues). +WinUI is the modern native UI platform for Windows with two active generations: -**Note: For a detailed look at the target availability dates for certain features in WinUI 3, see [our feature roadmap](#winui-3-feature-roadmap).** +1. **WinUI 3**: The latest, 3rd generation of WinUI that ships the entire WinUI stack decoupled from the operating system as a part of the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/). -WinUI continues to advance and improve across both generations of the technology: +2. **WinUI 2**: The previous generation of the WinUI stack for UWP apps, consisting of a XAML and Visual Layer built directly into the Windows 10 operating system, and a controls library built on top of the OS, delivered via NuGet, and hosted at this repository. WinUI 2 will continue to be supported with bug, reliability, and security fixes. -1. **WinUI 2**: The 2nd generation of the WinUI stack for UWP apps, consisting of a XAML and Visual Layer built directly into the Windows 10 operating system, and a controls library built on top of the OS, delivered via NuGet, and hosted at this repository. - -2. **WinUI 3**: A new, 3rd generation of WinUI that ships the entire WinUI stack decoupled from the operating system as a part of the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/). +**For a detailed look on the difference between WinUI 2 & 3, please view our [comparison table](https://docs.microsoft.com/windows/apps/winui/#comparison-of-winui-3-and-winui-2) ### Benefits of WinUI WinUI provides a number of benefits which makes it the best way to create user interfaces for Windows apps: 1. **The native UI platform of Windows** -WinUI is the highly-optimized native UI platform used to create Windows itself, now made more broadly available for all developers to use to reach Windows. It's a thoroughly tested and proven UI platform that powers the operating system environment and essential experiences of 1 billion+ Windows 10 PC, XBox One, HoloLens, Surface Hub and other devices. +WinUI is the highly-optimized native UI platform used to create Windows itself, now made more broadly available for all developers to use to reach Windows. It's a thoroughly tested and proven UI platform that powers the operating system environment and essential experiences of 1 billion+ Windows 10 & 11 PC, XBox One, HoloLens, Surface Hub and other devices. 2. **The latest advancements in Fluent Design** WinUI is Microsoft's main focus for native, accessible Windows UI and controls and is the definitive source for the [Fluent Design System](https://www.microsoft.com/design/fluent/) on Windows. @@ -28,23 +26,14 @@ New WinUI features will continue to be backward-compatible with a wide range of WinUI can be used with .NET, but doesn't depend on .NET: WinUI is 100% C++ and can be used in unmanaged Windows apps, for example using standard C++17 via [C++/WinRT](https://docs.microsoft.com/windows/uwp/cpp-and-winrt-apis/). 5. **More frequent updates** -WinUI is planned to ship roughly every 4 months, with monthly pre-release builds. This is more of a guideline than a rule, but that is what the team strives for. +WinUI is planned to ship roughly every 6 months, with at least two preview builds per stable release. This is more of a guideline than a rule, but that is what the team strives for. 6. **Open source development and community engagement** - The WinUI 2 Controls Library is already open source on GitHub, and we're planning to add the full WinUI 3 framework into this repo as well. You can engage directly with Microsoft's core engineering team and contribute bug reports, feature ideas, and even code: see the [Contribution Guide](../CONTRIBUTING.md) for more info. You can also try out the monthly pre-release builds to see new in-development features and help shape their final form. - -## WinUI 2 Controls Library - -The next release of the **WinUI 2 Controls Library** will be v2.8, aiming to release in early 2022. - -WinUI 2.8 will include new Xaml features and fixes for UWP apps. You can find a list of currently planned work in the [WinUI 2.8 milestone](https://github.com/microsoft/microsoft-ui-xaml/milestone/14). - -For installation instructions see [Getting started with the Windows UI Library](https://docs.microsoft.com/en-us/windows/apps/winui/winui2/getting-started). - + The WinUI 2 Controls Library is already open source on GitHub, and we're planning to add the full WinUI 3 framework into this repo as well. You can engage directly with Microsoft's core engineering team and contribute bug reports, feature ideas, and even code: see the [Contribution Guide](../CONTRIBUTING.md) for more info. You can also try out the pre-release builds to see new in-development features and help shape their final form. ## WinUI 3 -**WinUI 3** is the next generation of native Windows UI, consisting of all the major UX layers of Windows decoupled and shipping as a standalone solution for you to use. +**[WinUI 3](https://docs.microsoft.com/windows/apps/winui/winui3/)** is the latest generation of native Windows UI, consisting of all the major UX layers of Windows decoupled and shipping as a standalone solution for you to use. It focuses on enabling three main use cases: @@ -53,80 +42,59 @@ It focuses on enabling three main use cases: 2. **Creating new Windows apps** * Enabling you to easily create new modern Windows apps with the flexibility offered by the Windows App SDK 3. **Enabling other frameworks** - * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) when running on Windows + * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) when running on Windows and .NET [MAUI](https://docs.microsoft.com/dotnet/maui/what-is-maui) WinUI 3 is available as a part of the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk) for building stable and supported desktop/Win32 apps for production scenarios. The latest release is the Windows App SDK 1.0, which you can download and read more about at the documentation linked below: [Stable release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/stable-channel) -There's also a version of WinUI 3 available that includes experimental features. You can read more about the Windows App SDK Preview at the following documentation. Note that preview releases have limitations and known issues, so they are not equipped for production apps. +There's also a version of WinUI 3 available that includes experimental features. You can read more about the Windows App SDK Experimental releases at the following documentation. Note that Experimental releases have limitations and known issues, so they are not equipped for production apps. [Experimental release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/experimental-channel). - - - -## WinUI 3 Feature Roadmap -The images below list out what the WinUI team has shipped in 2021. Stay tuned for an updated visual roadmap for 2022. - -The Windows App SDK ships experimental, preview, and stable builds (with WinUI 3 as a component). You can read more about the shipping schedule and cadence in our [Release Channels doc](https://docs.microsoft.com/windows/apps/windows-app-sdk/release-channels). For more details on when specific features will become available, see the feature roadmap table below. - -![Winui 3 roadmap](images/winui3-roadmap1021.jpg) - -**Note: We have deprecated Windows App SDK 1.0 Preview 1 and 2 from NuGet due to a critical bug affecting the system PATH variable. Please view these [notes](https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/preview-channel#important-issue-impacting-10-preview-1-and-preview-2) for the specific issue and mitigation.** -For WinUI 2, you can plan to see frequent pre-releases (see our [Releases](https://github.com/microsoft/microsoft-ui-xaml/releases) page for more info), along with two stable releases this year. - -![Winui 2 roadmap](images/winui2-roadmap1021.jpg) - - -We know that for many of our developers, the choice to adopt WinUI 3 is dependent on certain features and capabilities. The table below outlines the status on WinUI 3 features, and the expected date they'll be available to you. +### Features by release +Legend: +🟢 - Available as supported feature -In the feature roadmap table below, some features remain "experimental" features during stable releases. This means that the feature is not stable/bug-free enough to be included in the stable release, but will be available in the corresponding experimental build. +🔷 - Available as experimental feature -**Please note: This is a living document, and the information below can and likely will change as the project continues development. The feature availability dates listed here are the team's current goals and expectations, but are not promises or guarantees.** +Blank - Not available -For questions or status updates on either features listed here, or features not on this list, you can file an issue on [our repo](https://github.com/microsoft/microsoft-ui-xaml/issues/new?assignees=&labels=question&template=question.md&title=Question%3A+%5Byour+question+here%5D) or ask during our [monthly community calls](https://aka.ms/winuicall). +**WinUI 3 - Windows App SDK 1.0** is our latest release. For a detailed look at the features we're targeting in WinUI 3 in 2022, check out the [Windows App SDK feature roadmap](). + +| Customer Capability | Project Reunion 0.5
(March 2021) | Windows App SDK 0.8
(June 2021) | Windows App SDK 1.0
(November 2021) | +| ------------------- | -------------------------------- | ------------------------------- | ----------------------------- | +| Supported in any app using the Windows App SDK | 🟢 | 🟢 | 🟢 | +| Contains new Windows 11 controls/styles from WinUI 2.6 | | | 🟢 | +| Supports MSIX Deployment | 🟢 | 🟢 | 🟢 | +| Supports Unpackaged (non-MSIX) Deployment | | | 🟢 | +| Works downlevel to Windows 10 version 1809 and above | 🟢 | 🟢 | 🟢 | +| Supports the latest .NET | 🟢 | 🟢 | 🟢 | +| ARM64 support | 🟢 | 🟢 | 🟢 | +| ` ` | 🟢 | 🟢 | 🟢 | +| Intellisense, Hot Reload, Live Visual Tree | 🔷 | 🔷 | 🟢[^1] | +| Chromium-based WebView2 | 🟢 | 🟢 | 🟢 | +| Title bar customization | 🟢 | 🟢 | 🟢 | +| Fluent Shadows | 🟢 | 🟢 | 🟢 | +| Input validation for data fields | 🔷 | 🔷 | 🔷 | +| Supports multiple top-level windows on the same thread | 🔷 | 🔷 | 🔷 | +| Support multiple top-level windows on separate threads | 🔷 | 🔷 | 🔷 | +| Drag and drop | 🟢 | 🟢 | 🟢 | +| RenderTargetBitmap | 🟢 | 🟢 | 🟢 | +| Mouse cursor customization | 🟢 | 🟢 | 🟢 | +| Animated Gif support | 🟢 | 🟢 | 🟢 | +| VirtualSurfaceImageSource (VSIS) support | 🟢 | 🟢 | 🟢 | +| In-app acrylic | 🟢 | 🟢 | 🟢 | +| XAML Islands | | 🔷 | 🔷 | -### Legend -🟢 - Available as supported feature +[^1]: Supported in packaged apps only -🔷 - Available as experimental feature +## WinUI 2 Controls Library -🟪 - Stretch goal +WinUI 2 is native user experience (UX) framework for both Windows desktop and UWP applications tightly integrated with Windows 10 and above SDKs. -Blank - Not available +The next release of the **WinUI 2 Controls Library** will be v2.8, aiming to release in mid-2022. -**WinUI 3 - Windows App SDK 1.0** is our latest release. - -| Customer Capability | Project Reunion 0.5
(March 2021) | Windows App SDK 0.8
(June 2021) | Windows App SDK 1.0
(November 2021) | Planned for Windows App SDK 1.1 | Planned for a future update | -| ------------------------------------------------------ | -------------------------------- | ------------------------------- | ----------------------------- | --------------------------- | --------------------------- | -| Supported in any app using the Windows App SDK | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Contains new Windows 11 controls/styles from WinUI 2.6 | | | 🟢 | 🟢 | 🟢 | -| Supports MSIX Deployment | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Supports Unpackaged (non-MSIX) Deployment | | | 🟢 | 🟢 | 🟢 | -| Works downlevel to Windows 10 version 1809 and above | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Supports the latest .NET | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| ARM64 support | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| ` ` | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Intellisense, Hot Reload, Live Visual Tree | 🔷 | 🔷 | 🟢[^1] | 🟢 | 🟢 | -| Chromium-based WebView2 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Title bar customization | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Fluent Shadows | 🟢 | 🟢 | 🟢 | 🟢 -| Input validation for data fields | 🔷 | 🔷 | 🔷 | 🔷 | 🟢 | -| Supports multiple top-level windows on the same thread | 🔷 | 🔷 | 🔷 | 🟢 | 🟢 | -| Support multiple top-level windows on separate threads | 🔷 | 🔷 | 🔷 | 🔷 | 🟢 | -| Drag and drop | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| RenderTargetBitmap | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Mouse cursor customization | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Animated Gif support | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| VirtualSurfaceImageSource (VSIS) support | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| In-app acrylic | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -| Background acrylic | | | | 🟢 | 🟢 | -| Mica | | | | 🟢 | 🟢 | -| XAML Islands | | 🔷 | 🔷 | 🔷 | 🟢 | -| Media Controls (e.g. ``) | | | | | 🟢 | -| `` | | | | | 🟢 | -| `` | | | | | 🟪 | -| XAML designer | | | | | 🟪 | +WinUI 2.8 will include WebView2 & bug, reliability, and security fixes for UWP apps. You can find a list of currently planned work in the [WinUI 2.8 milestone](https://github.com/microsoft/microsoft-ui-xaml/milestone/14). -[^1]: Supported in packaged apps only +For installation instructions see [Getting started with the Windows UI Library](https://docs.microsoft.com/windows/apps/winui/winui2/getting-started). From 2c4dff0db44b87632e36d13363eaeb2d9a1c6111 Mon Sep 17 00:00:00 2001 From: Gabby Bilka Date: Tue, 15 Mar 2022 16:38:16 -0700 Subject: [PATCH 2/3] Comment fixes --- docs/roadmap.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index 0bc2cd88e7..9459a6a59f 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -40,7 +40,7 @@ It focuses on enabling three main use cases: 1. **Modernizing existing apps** * Enabling you to extend existing Win32 (WPF, WinForms, MFC...) apps with modern Windows UI at your own pace using the upcoming release of [Xaml Islands](https://docs.microsoft.com/windows/apps/desktop/modernize/xaml-islands). Developers who currently use WinUI 2 for their app UX will be able to easily move to WinUI 3, as their syntax and capabilities are very similar 2. **Creating new Windows apps** - * Enabling you to easily create new modern Windows apps with the flexibility offered by the Windows App SDK + * Enabling you to easily create new modern Windows apps with the flexibility offered by the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/) 3. **Enabling other frameworks** * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) when running on Windows and .NET [MAUI](https://docs.microsoft.com/dotnet/maui/what-is-maui) @@ -48,19 +48,20 @@ WinUI 3 is available as a part of the [Windows App SDK](https://docs.microsoft.c [Stable release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/stable-channel) -There's also a version of WinUI 3 available that includes experimental features. You can read more about the Windows App SDK Experimental releases at the following documentation. Note that Experimental releases have limitations and known issues, so they are not equipped for production apps. +We also ship experimental features as we develop them. You can read more about the Windows App SDK Experimental releases at the following documentation. Note that Experimental releases have limitations and known issues, so they are not equipped for production apps. [Experimental release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/experimental-channel). ### Features by release Legend: + 🟢 - Available as supported feature 🔷 - Available as experimental feature Blank - Not available -**WinUI 3 - Windows App SDK 1.0** is our latest release. For a detailed look at the features we're targeting in WinUI 3 in 2022, check out the [Windows App SDK feature roadmap](). +**WinUI 3 - Windows App SDK 1.0** is our latest release. For a detailed look at the features we're targeting in WinUI 3 in 2022, check out the [Windows App SDK feature roadmap](https://github.com/microsoft/WindowsAppSDK/blob/main/docs/roadmap.md). | Customer Capability | Project Reunion 0.5
(March 2021) | Windows App SDK 0.8
(June 2021) | Windows App SDK 1.0
(November 2021) | | ------------------- | -------------------------------- | ------------------------------- | ----------------------------- | @@ -91,7 +92,7 @@ Blank - Not available ## WinUI 2 Controls Library -WinUI 2 is native user experience (UX) framework for both Windows desktop and UWP applications tightly integrated with Windows 10 and above SDKs. +WinUI 2 is a native user experience (UX) framework for both Windows desktop and UWP applications tightly integrated with Windows 10 and above SDKs. The next release of the **WinUI 2 Controls Library** will be v2.8, aiming to release in mid-2022. From d988949b278043d0ec9b7779a9e7701e0e0d5d65 Mon Sep 17 00:00:00 2001 From: Gabby Bilka Date: Tue, 15 Mar 2022 16:53:16 -0700 Subject: [PATCH 3/3] More comment fixes --- docs/roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index 9459a6a59f..d5a4fd7fbb 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -42,7 +42,7 @@ It focuses on enabling three main use cases: 2. **Creating new Windows apps** * Enabling you to easily create new modern Windows apps with the flexibility offered by the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/) 3. **Enabling other frameworks** - * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) when running on Windows and .NET [MAUI](https://docs.microsoft.com/dotnet/maui/what-is-maui) + * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) and .NET [MAUI](https://docs.microsoft.com/dotnet/maui/what-is-maui) when running on Windows. WinUI 3 is available as a part of the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk) for building stable and supported desktop/Win32 apps for production scenarios. The latest release is the Windows App SDK 1.0, which you can download and read more about at the documentation linked below: