Other names | Project Reunion |
---|---|
Developer(s) | Microsoft |
Initial release | 29 March 2021 |
Stable release | |
Preview release | |
Repository | |
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 | learn |
Windows App SDK (formerly known as Project Reunion) [3] 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. [4] Windows App SDK allows native Win32 (USER32/GDI32) or .NET (WPF/WinForms) developers alike a path forward to enhance their apps with modern features. [4]
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]
While Microsoft has developed a number of new features, some of the features listed below are abstractions of functionality provided by existing APIs. [4]
Most of the investment [6] into the decoupled UI stack [7] 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 [8] and enable support for custom window controls.
A replacement for the UWP WebView control was announced early on. [9] This is because it was based on an unsupported browser engine. [10] A new Chromium-based control, named WebView2, was developed and can be used from WinUI as well as other supported app types.
While MSIX is included in the Windows App SDK and considered to be the recommended application packaging format, [11] [12] 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. [13]
DWriteCore is being developed as a decoupled and device-independent solution for high-quality text rendering. [14] Win2D has also been made available to WinUI 3 apps. [15]
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. [16]
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. [17]
Support for push notifications was initially implemented as a limited-access, preview feature. [18] 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. [18] [19] Additionally, apps can now easily display local app notifications without the need to create an XML payload. [20]
Third-party integration with the Windows Widgets system in Windows 11 has been included as part of the stable release channel. [21] Developers can design custom widgets for their app using adaptive cards [22] and surface them on the widgets board. [23]
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.
Microsoft Interface Definition Language (MIDL) is a text-based interface description language from Microsoft, based on the DCE/RPC IDL which it extends for use with the Microsoft Component Object Model. Its compiler is also called MIDL.
JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS, as well as mobile devices running iOS and Android, through Gluon Mobile.
UIKit is an application development environment and graphical user interface toolkit from Apple Inc. used to build apps for the iOS, iPadOS, and tvOS operating systems.
Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.
Windows Runtime (WinRT) is a platform-agnostic component and application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. It is implemented in C++ and officially supports development in C++, Rust/WinRT, Python/WinRT, JavaScript-TypeScript, and the managed code languages C# and Visual Basic (.NET) (VB.NET).
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.
Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.
Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase.
mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, MIPS, PowerPC, RISC-V, s390x, x86/IA-32, x86-64, and some other by 3rd party.
The Windows Package Manager is a free and open-source package manager designed by Microsoft for Windows 10 and Windows 11. It consists of a command-line utility and a set of services for installing applications. Independent software vendors can use it as a distribution channel for their software packages.
Universal Windows Platform (UWP) apps are applications that can be used across all compatible Microsoft Windows devices. They are primarily purchased and downloaded via the Microsoft Store, Microsoft's digital application storefront.
The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.
Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.
Fluent Design System, officially unveiled as Microsoft Fluent Design System, is a design language developed in 2017 by Microsoft. Fluent Design is a revamp of Microsoft Design Language 2 that includes guidelines for the designs and interactions used within software designed for all Windows 10 and Windows 11 devices and platforms. The system is based on five key components: light, depth, motion, material, and scale. The new design language includes more prominent use of motion, depth, and translucency effects.
Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as other software developers including ByteDance and Alibaba.
Uno Platform is an open source cross-platform graphical user interface that allows WinUI and Universal Windows Platform (UWP) - based code to run on iOS, macOS, Linux, Android, and WebAssembly. Uno Platform is released under the Apache 2.0 license.
Windows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021. It succeeded Windows 10 (2015), and is available for free for any Windows 10 devices that meet the new Windows 11 system requirements.