Skip to content

Commit f799ab0

Browse files
committed
Merge branch 'main' into alvinashcraft-main-powertoys-add-zoomit-v087
2 parents c68e32e + d66427b commit f799ab0

File tree

7 files changed

+286
-292
lines changed

7 files changed

+286
-292
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8639,9 +8639,11 @@
86398639
"source_path": "hub/android/defender-settings.md",
86408640
"redirect_url": "/defender-endpoint/microsoft-defender-security-center-antivirus",
86418641
"redirect_document_id": false
8642+
},
8643+
{
8644+
"source_path": "hub/apps/get-started/client-frameworks-faq.yml",
8645+
"redirect_url": "/windows/apps/get-started/windows-developer-faq",
8646+
"redirect_document_id": false
86428647
}
86438648
]
86448649
}
8645-
8646-
8647-

hub/apps/get-started/client-frameworks-faq.yml

Lines changed: 0 additions & 204 deletions
This file was deleted.

hub/apps/get-started/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ WPF is a well-established framework for Windows desktop applications with access
6464
Additionally, you can now integrate a sandbox environment into your packaged WPF applications, providing an additional layer of security. This enhancement requires little to no change to your code, thanks to the new [Win32 App Isolation](https://github.com/microsoft/win32-app-isolation) security feature.
6565

6666
> [!TIP]
67-
> If you've already invested in WPF, you can continue to use it and take advantage of the modernization options in .NET 9. You can build your apps knowing that Microsoft is continuing to invest in WPF. See the [Client app development framework FAQ](client-frameworks-faq.yml) for more information.
67+
> If you've already invested in WPF, you can continue to use it and take advantage of the modernization options in .NET 9. You can build your apps knowing that Microsoft is continuing to invest in WPF. See the [Windows developer FAQ](windows-developer-faq.yml) for more information.
6868
6969
> [!div class="button"]
7070
> [Get started with WPF](/dotnet/desktop/wpf/overview/)
@@ -206,7 +206,7 @@ There is a wide range of options for developing applications for Windows. The be
206206

207207
Learn more about each of these options:
208208

209-
- [Client app development framework FAQ](client-frameworks-faq.yml)
209+
- [Windows developer FAQ](windows-developer-faq.yml)
210210
- [.NET Multi-platform App UI (.NET MAUI)](/dotnet/maui/)
211211
- [ASP.NET Core Blazor Hybrid](/aspnet/core/blazor/hybrid)
212212
- [React Native for Desktop](/windows/dev-environment/javascript/react-native-for-windows)

hub/apps/get-started/windows-developer-faq.yml

Lines changed: 207 additions & 66 deletions
Large diffs are not rendered by default.

hub/apps/get-started/windows-developer-glossary.md

Lines changed: 67 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Windows developer glossary
33
description: A glossary of terms related to Windows application development.
44
ms.topic: article
5-
ms.date: 08/19/2024
5+
ms.date: 12/16/2024
66
ms.localizationpriority: medium
77
ms.collection: windows11
88
audience: new-desktop-app-developers
@@ -14,101 +14,157 @@ content-type: glossary
1414
The following glossary of terms is meant to promote a common vocabulary among Windows developers.
1515

1616
#### App lifecycle management (ALM)
17+
1718
Describes the management of your application's execution state: not running, running in background, running in foreground, suspended, and so on. See [Windows 10 universal Windows platform (UWP) app lifecycle](/windows/uwp/launch-resume/app-lifecycle).
1819

1920
#### Application model
21+
2022
Often referred to as "app model". The combination of deployment, isolation, lifecycle, and presentation components that are unique to a given application development technology. For example: Windows App SDK / WinUI 3 apps run on the Win32 app model, while UWP / WinUI 2 run on the UWP app model.
2123

2224
#### Application packaging
25+
2326
Describes the way in which your app is packaged before being deployed and installed by users. An app can be packaged, unpackaged, or packaged with external location (see the [Windows developer FAQ](/windows/apps/get-started/windows-developer-faq#what-s-the-difference-between-apps-that-are-packaged--unpackaged--and-packaged-with-external-location)).
2427

2528
#### Bootstrapper
26-
A redistributable component providing an API to find and load the Windows App SDK framework package for the calling process. In a packaged with external location or unpackaged app, you can opt to load the Windows App SDK framework package explicitly by calling Bootstrapper APIs such as [**MddBootstrapInitialize**](/windows/windows-app-sdk/api/win32/mddbootstrap/nf-mddbootstrap-mddbootstrapinitialize). Also see [Reference the Windows App SDK framework package at run time](../windows-app-sdk/use-windows-app-sdk-run-time.md).
29+
30+
A redistributable component providing an API to find and load the Windows App SDK framework package for the calling process. In a packaged with external location or unpackaged app, you can opt to load the Windows App SDK framework package explicitly by calling Bootstrapper APIs such as [MddBootstrapInitialize](/windows/windows-app-sdk/api/win32/mddbootstrap/nf-mddbootstrap-mddbootstrapinitialize). Also see [Reference the Windows App SDK framework package at run time](../windows-app-sdk/use-windows-app-sdk-run-time.md).
2731

2832
#### C++/WinRT
33+
2934
C++/WinRT is a standard C++17 language projection for Windows Runtime (WinRT) APIs, implemented as a header-file-based library, and designed to provide you with first-class access to modern Windows APIs. [C++/WinRT](/windows/uwp/cpp-and-winrt-apis/).
3035

3136
#### Dynamic Dependencies
37+
3238
[Dynamic Dependencies](https://github.com/microsoft/WindowsAppSDK/blob/main/specs/dynamicdependencies/DynamicDependencies.md) makes framework packages accessible to all kinds of apps: packaged and unpackaged.
3339

3440
#### Fluent Design
35-
[Fluent Design](https://aka.ms/fluent) is a design system that lets you create reusable cross-platform user interfaces.
41+
42+
[Fluent Design](https://aka.ms/fluent) is a design system that lets you create reusable cross-platform user experiences. Fluent 2 is the latest design system for Windows and is used by WinUI.
43+
44+
#### GitHub Copilot
45+
46+
An AI pair programmer that helps you write code faster and with less work in Visual Studio or Visual Studio Code (VS Code). See [AI-assisted development in Visual Studio](/visualstudio/ide/ai-assisted-development-visual-studio) for more information.
3647

3748
#### Hot Reload
49+
3850
An app development feature that allows you to update your application's code and observe your changes while your application runs, eliminating the need to stop, rebuild, and re-run your apps while developing. See [Write and debug running code with Hot Reload](/visualstudio/debugger/hot-reload).
3951

52+
#### Hybrid app
53+
54+
An app that uses multiple technologies. For example, a .NET MAUI app that uses Blazor to render web content in a WebView2 control. See [ASP.NET Core Blazor Hybrid](/aspnet/core/blazor/hybrid/) for more information.
55+
4056
#### Hybrid CRT linkage
57+
4158
A C/C++ runtime library linkage technique that simplifies deployment. Also referred to simply as *Hybrid CRT*. See [Hybrid C/C++ runtime library linkage (hybrid CRT linkage)](../windows-app-sdk/migrate-to-windows-app-sdk/migrate-to-windows-app-sdk-ovw.md).
4259

4360
#### Managed apps
61+
4462
"Managed" refers to the "managed runtime" of .NET, which provides managed services such as garbage collection and security assurances. If you're building an app with .NET, you're building a managed app.
4563

4664
#### Microsoft Foundation Classes (MFC)
65+
4766
You can use Microsoft Foundation Classes (MFC) to create complex user interfaces with multiple controls. You can use MFC to create applications with Office-style user interfaces. See: [MFC desktop applications](/cpp/mfc/mfc-desktop-applications).
4867

4968
#### MSIX (Microsoft Installer package format)
69+
5070
MSIX is a Windows app package format that combines the best features of MSI, .appx, App-V, and ClickOnce to provide a modern and reliable packaging experience. It's a modern application package format that lets you easily deploy your Windows applications. MSIX can be used to package apps built using Windows App SDK, Win32, WPF, or Windows Forms. When you use MSIX to deploy your apps, your app is a *packaged* app. A packaged app can check for updates, and can control when updates are applied. [What is MSIX?](/windows/msix/overview).
5171

5272
#### Native apps
73+
5374
Traditionally, "native" refers to applications built without using the .NET runtime. In this case, "native" is synonymous with "unmanaged", and can be used to describe apps that manage their own memory and security concerns. Alternatively, some developers use "native" to indicate that an application has been built to run specifically on Windows, calling Windows APIs directly.
5475

5576
#### .NET MAUI
56-
.NET Multi-platform App UI. A cross-platform framework for creating native mobile and desktop apps with C# and XAML. An evolution of `Xamarin.Forms` extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility. [What is .NET MAUI?](/dotnet/maui/what-is-maui).
77+
78+
.NET Multi-platform App UI. A cross-platform framework for creating native mobile and desktop apps with C# and XAML. An evolution of `Xamarin.Forms` extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility. [What is .NET MAUI?](/dotnet/maui/what-is-maui).
5779

5880
#### Packaged app
81+
5982
For definitions of apps that are packaged, unpackaged, and packaged with external location, see [Deployment overview](../package-and-deploy/index.md). That topic also explains the advantages and disadvantages of each option.
6083

6184
#### Packaged app with external location
85+
6286
For definitions of apps that are packaged, unpackaged, and packaged with external location, see [Deployment overview](../package-and-deploy/index.md). That topic also explains the advantages and disadvantages of each option.
6387

88+
#### Progressive web app (PWA)
89+
90+
An application that you build by using web technologies, and that can be installed and can run on all devices, from one codebase. See [Overview of Progressive Web Apps (PWAs)](/microsoft-edge/progressive-web-apps-chromium/) for more information about building PWAs.
91+
6492
#### Project Reunion
93+
6594
The codename for the Windows App SDK. No longer in use.
6695

6796
#### React Native
68-
[React Native](https://reactnative.dev/) is a development platform from Meta which allows developers to build fully native cross-platform apps using JavaScript, TypeScript, and React. [React Native for Windows](https://aka.ms/reactnative) brings React Native support to the Windows 10 and Windows 11 SDKs, enabling developers to use JavaScript to build native Windows apps for all devices supported by Windows 10 and Windows 11. This includes PCs, tablets, 2-in-1s, Xbox, Mixed reality devices, etc.
97+
98+
[React Native](https://reactnative.dev/) is a development platform from Meta which allows developers to build fully native cross-platform apps using JavaScript, TypeScript, and React.
99+
100+
#### React Native for Desktop
101+
102+
[React Native for Desktop](https://aka.ms/reactnative) brings React Native support to the Windows 10 and Windows 11 SDKs, enabling developers to use JavaScript to build native Windows apps for all devices supported by Windows 10 and Windows 11. This includes PCs, tablets, 2-in-1s, Xbox, Mixed reality devices, etc. The term React Native for Desktop encompasses both React Native for Windows and React Native for macOS.
103+
104+
#### Responsible AI (RAI)
105+
106+
A set of recommended responsible development practices to use as you create applications and features. See [Developing Responsible Generative AI Applications and Features on Windows](/windows/ai/rai/) to learn more about the RAI principles and how they apply to Windows development.
69107

70108
#### Universal Windows Platform (UWP)
109+
71110
An application development platform and application model that uses Windows Runtime (WinRT) APIs to deliver packaged apps. UWP apps run in a sandboxed environment, and they inherit the security of the UWP platform. [Learn more about UWP](/windows/uwp/).
72111

112+
>[!NOTE]
113+
> The [preferred approach for writing Windows apps](/windows/apps/get-started/) is to use the Windows App SDK and [WinUI](/windows/apps/get-started/start-here). Another option is [WPF](/dotnet/desktop/wpf/getting-started).
114+
73115
#### Unmanaged app
74-
Apps that aren't managed by the .NET runtime. If you're handling your own memory management, you're building an unmanaged app.
116+
117+
Apps that aren't managed by the .NET runtime. If you're handling your own memory management, you're building an unmanaged app.
75118

76119
#### Unpackaged app
120+
77121
For definitions of apps that are packaged, unpackaged, and packaged with external location, see [Deployment overview](../package-and-deploy/index.md). That topic also explains the advantages and disadvantages of each option.
78122

79123
#### Visual Studio extension (VSIX)
124+
80125
Lets you create, package, and deploy Visual Studio extensions. [Get started with the VSIX Project template](/visualstudio/extensibility/getting-started-with-the-vsix-project-template).
81126

82127
#### WebView2
128+
83129
A control that allows app developers to embed web content (HTML/CSS/JS) in their native apps using the Microsoft Edge (Chromium) rendering engine. You can use WebView2 in WinUI 3, Win32 C++, WPF, and WinForms, and it offers a developer preview for WinUI 2 / UWP support. See [Introduction to Microsoft Edge WebView2](/microsoft-edge/webview2/).
84130

85131
#### Windows API
132+
86133
Refers to the entire set of Windows APIs including Win32 APIs, COM APIs, UWP WinRT APIs, and the WinRT/Win32 APIs that are part of WinAppSDK and WinUI 3.
87134

88135
#### Windows App SDK
136+
89137
A set of new developer components and tools that represent the next evolution in the Windows app development platform. The successor to UWP / WinUI 2 for desktop application development. It lifts libraries from the OS into a standalone SDK that you can use to build backwards-compatible desktop apps. See [Overview of app development options](./index.md).
90138

91139
#### Windows Forms
140+
92141
Also known as WinForms. A UI framework for building Windows desktop applications. It is a .NET wrapper over Windows user interface libraries, such as User32 and GDI+. It's a battle-tested way to create desktop applications using a visual designer within Visual Studio. See [Desktop Guide (Windows Forms .NET)](/dotnet/desktop/winforms/overview/).
93142

94143
#### Windows Presentation Foundation (WPF)
144+
95145
A UI framework for building Windows desktop applications. WPF applications are based on a vector graphics architecture. This enables applications to look great on high DPI monitors, as they can be infinitely scaled. See [What is Windows Presentation Foundation (WPF)?](/visualstudio/designers/getting-started-with-wpf).
96146

97147
#### Windows SDK
148+
98149
The Windows SDK is a collection of headers, libraries, metadata, and tools that allow you to build desktop and UWP Windows apps. The Windows SDK is not the same as the [Windows App SDK](#windows-app-sdk).
99150

100151
#### WinUI
101-
WinUI is the modern native user interface (UX) framework for both Windows desktop and UWP applications. [WinUI](../winui/index.md).
152+
153+
WinUI is the modern native user interface (UX) framework for both Windows desktop and UWP applications. [WinUI](../winui/index.md).
102154

103155
#### WinUI 2
156+
104157
WinUI 2 is tightly integrated with Windows SDKs, and provides official native Windows UI controls and other user interface elements for UWP applications (and desktop applications using XAML Islands). See [WinUI 2](../winui/winui2/index.md).
105158

106159
#### WinUI 3
107-
The latest and recommended UI framework for Windows desktop apps. This framework is made available through the Windows App SDK, and has been decoupled from the Windows operating system. WinUI 3 uses [Fluent Design](https://aka.ms/fluent) to provide a native UX framework for Windows desktop apps. It will feel very familiar if you've worked with WinUI 2. See [WinUI 3](../winui/winui3/index.md).
160+
161+
The latest and recommended UI framework for Windows desktop apps. This framework is made available through the Windows App SDK, and has been decoupled from the Windows operating system. WinUI 3 uses [Fluent Design](https://aka.ms/fluent) to provide a native UX framework for Windows desktop apps. It will feel very familiar if you've worked with WinUI 2. Note that WinUI 3 apps are commonly referred to as "WinUI apps". See [WinUI 3](../winui/winui3/index.md).
108162

109163
#### XAML Islands
164+
110165
XAML Islands lets you host WinRT XAML controls in non-UWP desktop (Win32, WinForms, WPF) apps starting in Windows 10, version 1903. [Host WinRT XAML controls in desktop apps (XAML Islands)](../desktop/modernize/xaml-islands/xaml-islands.md).
111166

112-
## Related topics
113-
- [Windows developer FAQ](windows-developer-faq.yml)
114-
- [Overview of app development options](./index.md)
167+
## Related content
168+
169+
- [Windows developer FAQ](windows-developer-faq.yml)
170+
- [Overview of app development options](./index.md)

hub/apps/how-tos/hello-world-winui3.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,15 +258,16 @@ namespace Hello_World
258258

259259
**Q: What does "packaged" mean?**
260260

261-
Windows apps can be delivered to end-users using a variety of application packaging formats. When working with WinUI 3 / Windows App SDK, **packaged apps** use MSIX to bundle your app in a way that offers convenient installation and updates to end-users. Visit [Deployment architecture and overview for framework-dependent apps](../windows-app-sdk/deployment-architecture.md) to learn more.
261+
Windows apps can be delivered to end-users using a variety of application packaging formats. When working with WinUI and Windows App SDK, **packaged apps** use MSIX to bundle your app in a way that offers convenient installation and updates to end-users. Visit [Deployment architecture and overview for framework-dependent apps](../windows-app-sdk/deployment-architecture.md) to learn more.
262262

263-
**Q: Can I use VS Code to build WinUI 3 apps?**
263+
**Q: Can I use VS Code to build WinUI apps?**
264264

265-
Although technically possible, we strongly recommend using Visual Studio 2019 / 2022 to build desktop apps with WinUI 3 / Windows App SDK. See [the Windows developer FAQ](../get-started/windows-developer-faq.yml#do-i-need-to-use-visual-studio-to-build-winui-3-apps) for more information.
265+
Although technically possible, we strongly recommend using Visual Studio 2022 to build desktop apps with WinUI and Windows App SDK. See [the Windows developer FAQ](../get-started/windows-developer-faq.yml#do-i-need-to-use-visual-studio-to-build-winui-apps) for more information.
266266

267-
**Q: Can I use C++ to build WinUI 3 apps?**
267+
**Q: Can I use C++ to build WinUI apps?**
268268

269269
Yes! For more information, see [Introduction to C++/WinRT](/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt).
270+
270271
## Related
271272

272273
- [Sample applications for Windows development](../get-started/samples.md)

hub/apps/toc.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ items:
1212
items:
1313
- name: Overview of framework options
1414
href: get-started/index.md
15-
- name: Client app development frameworks FAQ
16-
href: get-started/client-frameworks-faq.yml
1715
- name: Start developing Windows apps
1816
href: get-started/start-here.md
1917
- name: Build your first app

0 commit comments

Comments
 (0)