Short description: Software development kit from Microsoft
Windows App SDK |
| Other names | Project Reunion |
|---|
| Developer(s) | Microsoft |
|---|
| Initial release | 29 March 2021 |
|---|
| Written in | C++ |
|---|
| Operating system | Windows 11, Windows 10 version 1809 and later |
|---|
| Platform | x86-64, ARM64, IA-32 |
|---|
| Type | Application programming interface (API) |
|---|
| License | MIT License |
|---|
| Website | {{{1}}} |
|---|
Windows App SDK (formerly known as Project Reunion)[1] is a software development kit (SDK) from Microsoft that provides a unified set of APIs and components that can be used to develop desktop applications for both Windows 11 and Windows 10 version 1809 and later. The purpose of this project is to offer a decoupled implementation of capabilities which were previously tightly-coupled to the UWP app model.[2] Windows App SDK allows native Win32 (USER32/GDI32) or .NET (WPF/WinForms) developers alike a path forward to enhance their apps with modern features.[3]
It follows that Windows App SDK is not intended to replace the Windows SDK.[4] By exposing a common application programming interface (API) primarily using the Windows Runtime (WinRT) through generated WinMD metadata, the tradeoffs which once characterized either app model are largely eliminated. NuGet packages for version 1.4 were released in August 2023 after approximately four months of development.[5]
Features and components
While Microsoft has developed a number of new features, some of the features listed below are abstractions of functionality provided by existing APIs.[6]
WinUI 3
Most of the investment[7] into the decoupled UI stack[8] has gone towards bug fixes, improvements to the debugging experience, and simplifying the window management capabilities made possible by switching from CoreWindow. An API abstracting USER32/GDI32 primitives known as AppWindow was introduced to expose a unified set of windowing capabilities[9] and enable support for custom window controls.
WebView2
A replacement for the UWP WebView control was announced early on.[10] This is because it was based on an unsupported browser engine.[11] A new Chromium-based control, named WebView2, was developed and can be used from WinUI as well as other supported app types.
Packaging
While MSIX is included in the Windows App SDK and considered to be the recommended application packaging format,[12][13] a design goal was to allow for unpackaged apps. These apps can be deployed as self-contained or framework-dependent. Support for dynamic loading of app dependencies is included for both packaged and unpackaged apps.[14]
Graphics
DWriteCore is being developed as a decoupled and device-independent solution for high-quality text rendering.[15] Win2D has also been made available to WinUI 3 apps.[16]
Resource management
MRT Core allows for management of app resources for purposes such as localization. It is a decoupled version of the resource management system from UWP.[17]
App lifecycle
With the stable releases delivered after its initial launch, Windows App SDK now supports several app lifecycle features which previously required a considerable amount of effort for developers to implement in Win32 applications. These features include power management notifications, rich activation, multiple instances, and programmatic app restart.[18]
Notifications
Support for push notifications was initially implemented as a limited-access, preview feature.[19] However, the APIs for it have since been stabilized and push notifications can be delivered to app users. Official documentation states that access to the feature can be revoked by Microsoft at their discretion.[20][21] Additionally, apps can now easily display local app notifications without the need to create an XML payload.[22]
Widgets
Third-party integration with the Windows Widgets system in Windows 11 has been included as part of the stable release channel.[23] Developers can design custom widgets for their app using adaptive cards[24] and surface them on the widgets board.[25]
See also
- DWriteCore
- Uno Platform
- Windows Driver Kit (WDK)
References
- ↑ Ramel, David (2021-06-24). "Windows 11 Development: Open Ecosystem Store, Project Reunion Rebrand and More". https://visualstudiomagazine.com/articles/2021/06/24/windows-11.aspx.
- ↑ Windows App SDK - Calling all Windows developers!, Microsoft, 2023-05-25, https://github.com/microsoft/WindowsAppSDK/blob/8316e009b73cfd6c91829bdd1f1c99f4af5b2f6e/docs/faq.md, retrieved 2023-05-26
- ↑ Windows App SDK - Calling all Windows developers!, Microsoft, 2023-05-25, https://github.com/microsoft/WindowsAppSDK/blob/8316e009b73cfd6c91829bdd1f1c99f4af5b2f6e/docs/faq.md, retrieved 2023-05-26
- ↑ Windows App SDK - Calling all Windows developers!, Microsoft, 2023-05-25, https://github.com/microsoft/WindowsAppSDK/blob/8316e009b73cfd6c91829bdd1f1c99f4af5b2f6e/docs/README.md, retrieved 2023-05-26
- ↑ "Microsoft.WindowsAppSDK 1.4.230822000" (in en). https://nuget.org/packages/Microsoft.WindowsAppSDK/.
- ↑ Windows App SDK - Calling all Windows developers!, Microsoft, 2023-05-25, https://github.com/microsoft/WindowsAppSDK/blob/8316e009b73cfd6c91829bdd1f1c99f4af5b2f6e/docs/README.md, retrieved 2023-05-26
- ↑ "Release v1.3.0 · microsoft/WindowsAppSDK" (in en). https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.3.0.
- ↑ Karl-Bridge-Microsoft (2023-03-13). "Windows UI Library (WinUI) - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/winui/.
- ↑ "Discussion #370: Announcement: Proposed approach for windowing in Project Reunion". https://github.com/microsoft/WindowsAppSDK/discussions/370.
- ↑ Blog, Microsoft Edge; Team, Microsoft Edge (2020-10-19). "Announcing Microsoft Edge WebView2 General Availability" (in en-US). https://blogs.windows.com/msedgedev/2020/10/19/edge-webview2-general-availability/.
- ↑ "New Microsoft Edge to replace Microsoft Edge Legacy with April’s Windows 10 Update Tuesday release" (in en). 2021-02-10. https://techcommunity.microsoft.com/t5/microsoft-365-blog/new-microsoft-edge-to-replace-microsoft-edge-legacy-with-april-s/ba-p/2114224.
- ↑ dianmsft (2021-12-30). "What is MSIX? - MSIX" (in en-us). https://learn.microsoft.com/en-us/windows/msix/overview.
- ↑ stevewhims (2023-03-03). "MSIX framework packages and dynamic dependencies - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/framework-packages/framework-packages-overview.
- ↑ stevewhims (2023-04-19). "Use the Windows App SDK runtime for apps packaged with external location or unpackaged - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/use-windows-app-sdk-run-time.
- ↑ stevewhims (2022-02-24). "DWriteCore (Windows App SDK) - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/dwritecore.
- ↑ stevewhims (2023-05-25). "Win2D - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/develop/win2d/.
- ↑ hickeys (2023-03-13). "Manage resources MRT Core (Windows App SDK) - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/mrtcore/mrtcore-overview.
- ↑ hickeys (2023-01-31). "App lifecycle and system services - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/develop/app-lifecycle-and-system-services.
- ↑ hickeys (2023-03-16). "Push notifications overview - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/notifications/push-notifications/.
- ↑ hickeys (2022-06-03). "Notifications design basics - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/toast-ux-guidance.
- ↑ hickeys (2023-03-16). "Push notifications overview - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/notifications/push-notifications/.
- ↑ vaheeshta (2022-07-12). "App notifications overview - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/notifications/app-notifications/.
- ↑ drewbatgit (2023-03-09). "Widget providers - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/develop/widgets/widget-providers.
- ↑ drewbatgit (2022-11-10). "Create a widget template with the Adaptive Cards Designer - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/design/widgets/widgets-create-a-template.
- ↑ drewbatgit (2023-03-09). "Windows Widgets - Windows apps" (in en-us). https://learn.microsoft.com/en-us/windows/apps/design/widgets/.
External links
Microsoft development tools |
|---|
Development environments | | Visual Studio |
- Code
- Azure DevOps
- Express
- Team System Profiler
- Test Professional
- Tools for Applications
- Tools for Office
|
|---|
| Others |
- .NET Compiler Platform
- App Studio
- Blend
- Expression Web
- GW-BASIC
- Microsoft Pascal
- MSBuild
- Robotics Developer Studio
- SharePoint Designer
- PowerShell ISE
- QuickBASIC
- QuickC
- Small Basic
- WebMatrix
- Windows SDK
- CLR Profiler
- ILAsm
- Native Image Generator
- XAMLPad
|
|---|
|
|---|
| Languages |
- Microsoft Basic
- Visual Basic
- Visual Basic .NET
- Visual C++
- C++/CX
- C++/CLI
- Managed C++
- C#
- Dafny
- F#
- F*
- J#
- J++
- Visual FoxPro
- IronPython
- IronRuby
- JScript
- PowerShell
- Q#
- Small Basic
- TypeScript
- VBA
- VBScript
- XAML
|
|---|
Major APIs and frameworks (see all) |
- Windows API
- Silverlight
- XNA
- DirectX
- Xbox Development Kit
- Windows Installer
| | .NET Framework |
- ASP.NET
- Core
- AJAX
- Dynamic Data
- MVC
- Razor
- Web Forms
- ADO.NET
- CardSpace
- Communication Foundation
- Identity Foundation
- LINQ
- Presentation Foundation
- Workflow Foundation
|
|---|
| Device drivers | |
|---|
|
|---|
| Database | | SQL Server |
- Express
- Compact
- Management Studio
- Business Intelligence Development Studio
- MSDE
|
|---|
| SQL services |
- Analysis
- Reporting
- Integration
- Notification
|
|---|
| Other |
- Visual FoxPro
- Microsoft Access
- Jet Engine
- Extensible Storage Engine
|
|---|
|
|---|
| Source control |
- Visual SourceSafe
- Team Foundation Version Control
|
|---|
| Delivery |
- Active Setup
- ClickOnce
- NuGet
- vcpkg
- Web Platform
- Windows Installer
- Microsoft Store
|
|---|
Microsoft free and open-source software (FOSS) |
|---|
| Overview |
- Microsoft and open source
- Shared Source Initiative
|
|---|
| Software | | Applications |
- Atom
- Conference XP
- File Manager
- Open Live Writer
- PowerToys for Windows 10
- Windows Calculator
- Windows Console
- Windows Terminal
- WorldWide Telescope
- XML Notepad
|
|---|
| Video games | |
|---|
| Programming languages |
- Bosque
- C#
- Dafny
- F#
- F*
- IronPython
- IronRuby
- P
- PowerShell
- Q#
- R Open
- Small Basic
- TypeScript
- Visual Basic .NET
|
|---|
Frameworks and development tools |
- .NET Bio
- .NET Core
- .NET Framework
- .NET Micro Framework
- AirSim
- ASP.NET
- ASP.NET AJAX
- ASP.NET Core
- ASP.NET MVC
- ASP.NET Razor
- ASP.NET Web Forms
- Blazor
- C++/WinRT
- ChakraCore
- CLR Profiler
- DiskSpd
- Dryad
- Electron
- Entity Framework
- Managed Extensibility Framework
- Microsoft Automatic Graph Layout
- Microsoft Cognitive Toolkit
- Microsoft Detours
- ML.NET
- Mono
- MonoDevelop
- MSBuild
- NuGet
- Open Management Infrastructure
- Orleans
- ProcDump
- R Tools for Visual Studio
- Roslyn
- Sandcastle
- SignalR
- StyleCop
- SVNBridge
- T2 Temporal Prover
- Text Template Transformation Toolkit
- vcpkg
- Virtual File System for Git
- Visual Studio Code
- Windows Communication Foundation
- Windows Driver Frameworks
- Windows Forms
- Windows Presentation Foundation
- Windows Template Library
- WinJS
- WiX
- Z3 Theorem Prover
|
|---|
| Operating systems | |
|---|
|
|---|
| Licenses |
- Microsoft Public License
- Microsoft Reciprocal License
|
|---|
| Related |
- .NET Foundation
- F Sharp Software Foundation
- Microsoft Open Specification Promise
- Outercurve Foundation
|
|---|
 Category |
 | Original source: https://en.wikipedia.org/wiki/Windows App SDK. Read more |