Moderní funkce Windows pro desktopové aplikace

Abyste mohli využívat výhod moderních funkcí Windows, nemusíte přepisovat WPF (Windows Presentation Foundation), model Windows Forms ani Win32. Windows App SDK a širší platforma Windows nabízejí modulární funkce, které můžete postupně přijmout vlastním tempem.

Tento článek představuje tři nezávislé přístupy k modernizaci – volání rozhraní API pro prostředí Windows Runtime (WinRT), přidání Windows App SDK a přijetí balíčků MSIX – abyste se mohli rozhodnout, které funkce se mají přidat a kde začít na základě architektury vaší aplikace.

Migrace architektury uživatelského rozhraní na WinUI 3

Pokud vaším cílem je plně modernizovat vrstvu uživatelského rozhraní aplikace, doporučujeme migrovat na WinUI 3 – nativní architekturu uživatelského rozhraní pro desktopové aplikace Windows. Začněte vytvořením první aplikace WinUI 3 .

Pokud chcete do existující architektury aplikací (WPF (Windows Presentation Foundation), model Windows Forms nebo C++ Win32) přidat Windows funkce beze změny vrstvy uživatelského rozhraní, použijte jeden z postupů modernizace popsaných v tomto článku.

Note

Tento článek popisuje přidání moderních funkcí Windows do stávající desktopové aplikace. Pokud chcete modernizovat sadu nástrojů .NET nebo kompilátor C++, přečtěte si GitHub Copilot upgrade nebo průvodce Microsoft portováním a upgradem jazyka C++.

Přístupy k modernizaci

Tři přístupy modernizace jsou nezávislé. Ve stejné aplikaci můžete použít jednu, dvě nebo všechny tři.

Approach Co vám to dává Vyžaduje balení?
rozhraní API WinRT Přímý přístup k rozhraním API platformy Windows (oznámení, Bluetooth, sdílení kontraktů, senzorů a další) z libovolné .NET nebo desktopové aplikace C++ Ne, pro většinu rozhraní API
Windows App SDK Balíček NuGet, který do stávajících aplikací přináší moderní Windows vývojové funkce (okna, vykreslování textu, prostředky a další) Ne, pro většinu funkcí
Balení MSIX Moderní instalační program s čistou odinstalací, automatickými aktualizacemi a identitou balíčku; nevyžaduje žádné změny zdrojového kódu. N/A — balíčkování představuje přístup

Tip

Pokud chcete volat konkrétní rozhraní API Windows platformy, začněte rozhraním API winRT. Přidejte Windows App SDK, když potřebujete jeho funkce (DWriteCore, MRT Core, windowing). Balení MSIX přidejte, pokud potřebujete identitu balíčku nebo chcete modernizovat instalační program.

Rozhraní API WinRT

rozhraní API prostředí Windows Runtime (WinRT) zpřístupňují funkce platformy Windows, jako jsou oznámení aplikací, smlouva o sdílení, Bluetooth a další. Tato rozhraní API můžete volat přímo z aplikací WPF (Windows Presentation Foundation), model Windows Forms a C++ Win32.

Windows App SDK

Windows App SDK poskytuje moderní Windows vývojové funkce jako balíček NuGet, který přidáte do existujícího projektu. Rozhraní uživatelského rozhraní nemusíte měnit.

Balení MSIX a identita balíčku

Balíček MSIX nahradí existující instalační program a poskytne identitu balíčku aplikace. Některé Windows funkce – včetně úloh na pozadí, úloh po spuštění, přidružení souborů a Windows AI Foundry – vyžadují identitu balíčku za běhu. Pokud chcete zachovat stávající instalační program, můžete i nadále udělit identitu balíčku bez úplného balení MSIX – přístup, který se někdy označuje jako balení s externím umístěním nebo zhuštěným balíčkem.

Výchozí body specifické pro architekturu

Následující tabulka uvádí doporučený výchozí bod pro každou architekturu desktopových aplikací.

Vaše architektura Doporučený výchozí bod
WPF (Windows Presentation Foundation) Použití sady Windows App SDK v existujícím projektu
model Windows Forms Použití sady Windows App SDK v existujícím projektu
C++ Win32 Použití sady Windows App SDK v existujícím projektu
C++/WinRT Rozhraní API WinRT pro desktopové aplikace

Katalog funkcí pro modernizaci desktopových aplikací

Následující tabulky uvádějí společné funkce modernizace a to, jestli každá z nich vyžaduje Windows App SDK nebo identitu balíčku.

AI

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Windows AI Foundry No Ano

Uživatelské rozhraní a text

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Komponenty WinUI 3 v desktopové aplikaci Ano No
Hostování ovládacích prvků WinUI pomocí ostrůvků XAML Ano No
Renderování textu pomocí DWriteCore Ano No
Použití micy nebo akrylu pro aplikace Win32 No No
Použití zaoblených rohů No No
Použití motivů Windows No No

Životní cyklus aplikace

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Úlohy na pozadí (Windows App SDK) Ano Ano
Úlohy po spuštění No Ano

integrace Windows

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Integrace panelu sdílení No No
Rozhraní API pro osoby napříč zařízeními No No
Přidružení souborů No Ano
Windows Widgety No Ano

Zabezpečení

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Úložiště přihlašovacích údajů No No
OAuth 2.0 No No
Biometrika otisků prstů No No
čipové karty No No
kryptografie No No

Resources

Vlastnost Windows App SDK požadováno? Vyžaduje se identita balíčku?
Správa prostředků MRT Core Ano No

Úplný seznam funkcí platformy dostupných v desktopových aplikacích najdete v přehledu platformy Windows aplikací.

Modernizace s asistencí umělé inteligence

GitHub Copilot upgrade může posoudit a upgradovat podporované .NET desktopové projekty. Informace Windows o přechodu na funkce a migraci uživatelského rozhraní s asistencí AI najdete v tématu modernizace s asistencí AI.