nejčastější dotazy k vývoji aplikace pro Windows

Tyto nejčastější dotazy poskytují odpovědi na běžné otázky týkající se vývoje Windows aplikací, včetně pokynů k výběru správné architektury pro vaše projekty. Probíraná témata zahrnují:

  • Začínáme a prostředí vývoje aplikací pro Windows.
  • Nativní vývoj aplikací jen pro Windows pomocí WinUI 3, Windows Presentation Foundation (WPF (Windows Presentation Foundation)) a model Windows Forms (WinForms).
  • Windows Software Development Kit (SDK) a Windows App SDK.
  • Cílení Windows jako součást strategie vývoje pro různé platformy.
  • Vývoj hybridních a webových aplikací s využitím .NET MAUI, Blazoru a ASP.NET Core
  • Jak zvolit přístup při pochopení investic do Microsoft

Vývoj aplikací pro Windows

Kdy najdu jednoduchý přehled vývojových technologií Windows?

Pro skvělou recenzi dnešních možností pro vývojáře Windows se podívejte na nejnovější Windows dev chat epizodu, Volba ideální vývojové platformy, kde probírají WinUI, .NET MAUI, React Native, Blazor a Progresivní Web Apps (PWA).

Můžete se také podívat na přehled možností vývoje aplikací pro vývojáře Windows.

Proč je vývoj klientských aplikací stále zásadní pro moderní digitální transformaci v éře cloudových služeb?

Ve věku cloudových služeb zůstává vývoj klientských aplikací důležitý pro zajištění responzivních a smysluplných interakcí na uživatelských zařízeních.

Tady je důvod, proč na klientských aplikacích záleží:

  • Dosah zařízení: Klientské aplikace umožňují přenést aplikaci přímo uživatelům na jejich zařízeních podle vlastního výběru.
  • Brána k inteligentním službám: klientské aplikace jsou často první interakce, kterou uživatelé mají s vašimi službami. Nabízejí bohaté interaktivní rozhraní, které umožňuje prezentovat inteligentní funkce a odlišit váš produkt od ostatních.
  • Scalability with Cloud Integration: Dobře integrovaná klientská aplikace se může snadno synchronizovat s back-endovými cloud services, což umožňuje access dat v reálném čase a bezproblémovou škálovatelnost při růstu uživatelské základny.
  • vyšší produktivita a věrnost uživatelů: promyšleně navržená aplikace může zvýšit produktivitu a udržet uživatele v zapojení do vašeho produktu nebo služby v průběhu času.

Vývoj nativních aplikací jen pro Windows

Co je Windows App SDK?

Windows App SDK poskytuje nezávisle obsluhované komponenty pro desktopové aplikace Windows, včetně WinUI, životního cyklu aplikace, oken, oznámení, prostředků a textových rozhraní API. Podporuje aplikace, které běží na Windows 10, verzi 1809 a novějších, v závislosti na životním cyklu podpory verze Windows a Windows App SDK verze.

Co je rozdíl mezi Windows App SDK a sadou SDK Windows?

Obě jsou sady SDK (software development kit), které umožňují vytvářet Windows aplikace.

Windows App SDK poskytuje komponenty, které se dodávají nezávisle na Windows a fungují napříč podporovanými verzemi Windows až do Windows 10 verze 1809. Zahrnuje rozhraní WinUI a rozhraní API pro životní cyklus aplikace, okna, oznámení, prostředky, text a další funkce.

Sada Windows SDK poskytuje hlavičky, knihovny, metadata a nástroje pro rozhraní API operačního systému, jako jsou Win32, WinRT, COM, DirectX, zařízení a možnosti prostředí.

Windows App SDK nenahrazuje sadu Windows SDK. Aplikace, které přecházejí na Windows App SDK, můžou i nadále používat rozhraní API sady Windows SDK a aplikace WinUI běžně používají obojí.

Vytvoříme nový tým pro vývoj aplikace jen pro Windows. Proč bych se měl rozhodnout vyvíjet s nativní architekturou Windows, jako je WinUI, WPF (Windows Presentation Foundation) nebo WinForms?

Tady je několik důvodů, proč zvolit nativní architekturu Windows pro aplikaci jen pro Windows:

  • Performance: Nativní architektury Windows jsou optimalizované tak, aby využívaly moderní hardware Windows a poskytovaly rychlé a responzivní uživatelské prostředí.
  • Integration: Windows se dodává s širokou škálou rozhraní API, která umožňují sofistikovaná prostředí dostupná jenom na Windows. Nativní architektury poskytují hlubokou integraci s těmito funkcemi a rozhraními API.
  • Native user experience: Native frameworks poskytují konzistentní prostředí napříč zařízeními Windows a zajišťují, aby vaše aplikace vypadala a fungovala skvěle všude.
  • Podpora offline: Nativní architektury podporují offline scénáře, které aplikacím umožňují fungovat i bez připojení k internetu.
  • Podpora a nástroje: Microsoft udržuje nativní architektury a poskytuje aktuální sady SDK, dokumentaci, nástroje pro ladění a ukázky.
**
Který framework mám použít, abych využil nejnovější investice Microsoftu do vývoje aplikací pro Windows?

Pokud vytváříte novou aplikaci jen pro Windows, doporučujeme používat WinUI. WinUI je nejnovější nativní architektura uživatelského rozhraní pro vývoj aplikací Windows a je navržená tak, aby fungovala v široké škále Windows zařízení. Poskytuje moderní a flexibilní architekturu uživatelského rozhraní pro vytváření vizuálně atraktivních a interaktivních aplikací Windows. WinUI je součástí Windows App SDK a funguje nejlépe s nejnovějšími verzemi Windows.

Mohu použít Windows App SDK / WinUI ve své existující aplikaci Windows?

Všimněte si, že WinUI (architektura uživatelského rozhraní) se dodává s architekturou Windows App SDK (architektura pro vývoj platformy Windows).

Uživatelské rozhraní aplikace můžete migrovat na WinUI, nebo pomocí WinUI XAML Islands hostovat Windows App SDK ovládací prvky v podporovaném stávajícím hostiteli plochy. Starší systém XAML Islands obsahuje ovládací prvky UWP XAML a používá různá rozhraní API.

Prvky Windows App SDK lze často používat v desktopových aplikacích v závislosti na tom, jak byla existující aplikace vytvořena. Aplikace pro UPW nejsou podporovány Windows App SDK.

To znamená, že aplikace WPF (Windows Presentation Foundation)/MFC/WinForms můžou používat rozhraní API Windows App SDK, která nesouvisejí s WinUI. Mezi příklady patří životní cyklus aplikací, správa oken a toastová upozornění.

Další informace najdete v tématu Použití Windows App SDK v existujícím projektu.

Potřebuji k vytváření aplikací WinUI používat Visual Studio?

Ne. Sestavení WinUI XAML používají nástroj MSBuild, ale můžete je sestavit pomocí sady .NET SDK a aktuálních šablon WinUI z příkazového řádku v jiném editoru. Viz cesta k .NET a příkazovému řádku.

Visual Studio 2026 poskytuje nejkomplexnější integrované prostředí pro úpravy kódu, ladění, profilování a XAML Opětovné načítání za provozu. Použijte pracovní postup, který odpovídá vašim požadavkům na nástroje.

Při spuštění aplikace se zobrazí chyba Nejde načíst knihovnu DLL Microsoft.ui.xaml.dll. Jak to opravit?

K této chybě obvykle dochází ve scénářích aplikace unpackaged, ve kterých se na počítači nenainstaloval modul runtime Windows App SDK. Vyzkoušejte následující kroky:

  • Pokud používáte balenou aplikaci (doporučenou výchozí hodnotu), ujistěte se, že ji spouštíte prostřednictvím Visual Studio s vybraným profilem spuštění MsixPackage (nikoli s profilovým spustitelným souborem). Krok balení MSIX nainstaluje požadované součásti modulu runtime.
  • Pokud používáte nebalenou aplikaci závislá na rozhraní, nainstalujte odpovídající Windows App SDK runtime. Samostatně nasazovaná aplikace zahrnuje své závislosti na sadě Windows App SDK.
  • Ověřte, že váš projekt odpovídá vašemu modelu nasazení. U běžné nebalené aplikace .NET nastavení <WindowsPackageType>None</WindowsPackageType> umožňuje automatickou inicializaci modulu runtime sady Windows App SDK. Rozhraní API bootstrapperu používejte přímo pouze v případě, že potřebujete explicitní kontrolu nad dynamickou inicializací závislostí.

Další podrobnosti o požadavcích na nasazení najdete v tématu Nasazení aplikací, které používají Windows App SDK.

Jaký je rozdíl mezi WinUI 3 a WinUI 2 pro UPW?

WinUI (dříve označované jako WinUI 3) je nejnovější nativní architektura uživatelského rozhraní pro vývoj aplikací Windows. Poskytuje moderní a flexibilní architekturu uživatelského rozhraní pro vytváření vizuálně atraktivních a interaktivních aplikací Windows. WinUI je součástí Windows App SDK a funguje nejlépe s nejnovějšími verzemi Windows.

WinUI pro UPW (dříve označované jako WinUI 2) je sada ovládacích prvků uživatelského rozhraní a stylů založených na UPW. Poskytuje moderní vzhled a dojem aplikací pro UWP a je navržený pro Windows 10.

Pokud vytvořím aplikaci pomocí Windows App SDK a WinUI, vytvářím "aplikaci WinUI"?

Ano – "Aplikace WinUI" je doporučený termín. Aplikace WinUI se označují jako "Aplikace WinUI", protože WinUI pro UPW není typ aplikace, ale sada komponent používaných v aplikacích pro UPW.

Můžu přírůstkově aktualizovat aplikaci pro UPW pomocí WinUI pro ovládací prvky UPW na WinUI tak, že postupně nahradím WinUI pro komponenty UPW komponentami WinUI?

Ne. Windows App SDK nejde použít v aplikacích pro UPW a WinUI pro UPW nejde kombinovat s WinUI. Viz Migrace z UPW do Windows App SDK.

Jak těžké je migrovat aplikaci pro UPW na WinUI?

Migrace komponent uživatelského rozhraní je obecně jednoduchá (pro C# a C++/WinRT). Jinak náklady na migraci závisí především na:

  1. Projektový soubor a přizpůsobení nástroje MSBuild: Migrace se může lišit v závislosti na pokročilém použití nástroje MSBuild.
  2. migrace rozhraní API .NET: Aplikace pro UPW, které používají .NET Native, se můžou přesunout do aktuálně podporované verze .NET s nativní AOT. Tato modernizace je oddělená od migrace uživatelského rozhraní na WinUI.
  3. Knihovny komponent uživatelského rozhraní: Knihovny musí mít verze určené pro WinUI.
  4. Pokud je aplikace pro UPW napsaná v nově nahrazené C++/CX, vyžaduje se portování zdrojového kódu. Viz Přejděte na C++/WinRT z C++/CX.

Další informace najdete v tématu Migrate z UPW do Windows App SDK.

Pokud mám existující aplikaci pro UPW ve Storu, můžu publikovat novou zabalenou aplikaci WinUI pomocí stejných identifikátorů?

Ano, upgradované aplikace je možné publikovat bez aktualizace identity aplikace. Uživatelé staré verze se aktualizují na novou verzi. To platí jenom pro desktopové aplikace. aplikace Xbox, HoloLens a Surface Hub nemůžou migrovat na WinUI.

Jak mohu zabalit/rozdělit svou aplikaci WinUI?

Viz přehled nasazení .

Kde najdu pokyny k migraci Windows App SDK?

Viz Migrace z UPW do Windows App SDK.

Musím použít kód XAML, pokud chci použít WinUI?

Ne. Ovládací prvky uživatelského rozhraní lze vytvořit v kódu. Reprezentace uživatelského rozhraní v deklarativním kódu XAML ale nabízí mnoho výhod, včetně vylepšeného vývojářského prostředí.

  • Migrace z UPW na WinUI: Mnoho komponent XAML a uživatelského rozhraní je možné znovu použít, i když jsou potřeba některé úpravy syntaxe.
  • Migrace z WPF (Windows Presentation Foundation) na WinUI: Mnoho konceptů se přenáší, ale sada ovládacích prvků a rozhraní API se liší.
Má Visual Studio návrhovou plochu / návrhář uživatelského rozhraní pro WinUI?

V současné době ne. Pomocí Opětovné načítání za provozu XAML, dynamického vizuálního stromu, Průzkumníka živých vlastností a souvisejících nástrojů modulu runtime můžete kontrolovat a aktualizovat XAML během spuštění aplikace.

Kompletní návod k nástrojům pro návrh modulu runtime dostupným pro WinUI 3 najdete v tématu Nástroje pro návrh modulu runtime XAML pro WinUI 3.

Obsahuje Windows App SDK WinUI?

Ano. WinUI se dodává jako součást Windows App SDK.

Zahrnuje Windows App SDK WinUI pro UWP?

Ne. WinUI pro UPW je součástí platformy UPW.

Jsou WinUI pro UPW a WinUI postavené na stejné technologii?

Ani ne. I když WinUI původně vycházelo z kódové základny pro WinUI pro UWP, jedná se o odlišné technologie. Obě jsou architektury uživatelského rozhraní založené na XAML, které fungují napříč .NET a C++, ale WinUI pro UPW a WinUI nejsou vzájemně kompatibilní.

Mohu použít WinUI bez použití Windows App SDK?

Ne. WinUI se dodává jako součást Windows App SDK.

Můžu použít WinUI v rozbalené aplikaci?

Ano. WinUI a mnoho rozhraní API sady Windows App SDK fungují v nebalených aplikacích. Některé funkce Windows však vyžadují identitu balíčku a nebalené aplikace závislé na rozhraní musí inicializovat běhové prostředí sady Windows App SDK. Porovnejte možnosti v přehledu balíčků a funkcích, které vyžadují identitu balíčku.

Jaký je rozdíl mezi ostrovy XAML a WinUI?

WinUI je architektura uživatelského rozhraní, která je součástí Windows App SDK. Ostrovy XAML jsou technika hostování, která umožňuje stávající desktopové aplikaci umístit obsah XAML spolu s uživatelským rozhraním z jiné architektury.

Termín může označovat starší systémové komponenty XAML Islands, které hostují ovládací prvky UWP XAML, nebo komponenty WinUI XAML Islands, které hostují ovládací prvky Windows App SDK v podporovaných desktopových hostitelích. Rozhraní API, obory názvů a požadavky na hostitele se liší.

Pokud vytvořím aplikaci WinUI, bude vypadat moderně na Windows 11 i na Windows 10?

Ano. Uživatelské rozhraní vaší aplikace dědí nejnovější principy návrhu uživatelského rozhraní Fluent ve všech podporovaných verzích Windows 11 a Windows 10 až do verze 1809 v zabalených i rozbalených scénářích.

Mohou se v aplikacích vytvořených pomocí Windows App SDK používat pozadí Mica nebo Acrylic?

Ano. Viz Použití materiálů Mica nebo Acrylic v desktopových aplikacích pro Windows 11.

Kde najdu ukázky WinUI?

Viz Ukázky a prostředky. Některá použitelná úložiště:

Pokud jsem již investoval do WPF (Windows Presentation Foundation), mám dál používat WPF (Windows Presentation Foundation) nebo zvážit migraci na WinUI?

Pokud jste už investovali do WPF (Windows Presentation Foundation), můžete ho dál používat pro stávající aplikace. WPF (Windows Presentation Foundation) je vyspělá stabilní architektura, která se běžně používá k vytváření Windows desktopových aplikací.

K posouzení a upgradu aplikace WPF (Windows Presentation Foundation) pro .NET Framework na moderní .NET použijte funkci GitHub Copilot Upgrade. Zkontrolujte vygenerovaný plán a ověřte každou změnu v aplikaci.

Pokud vytvořím novou aplikaci WPF (Windows Presentation Foundation), bude vypadat zastarale v porovnání s jinými novými aplikacemi Windows?

Při vývoji WPF (Windows Presentation Foundation) aplikace s .NET 9 nebo novějším můžete zajistit, aby vaše aplikace odpovídala elegantnímu a modernímu vzhledu Windows 11. Nový motiv Fluent pro WPF (Windows Presentation Foundation) představuje moderní estetiku Windows 11 s integrovaným světlým/tmavým režimem a podporou systémových barev zvýraznění. Tím se modernizuje vzhled vaší aplikace a přináší elegantní a soudržné uživatelské prostředí.

Můj tým je zvyklý na sestavování aplikací WinForms a to vyhovuje našim potřebám. Máme zvážit migraci na WinUI nebo jiný rámec?

Pokud WinForms splňuje vaše potřeby a váš tým je s ním obeznámený, můžete i nadále používat WinForms pro stávající aplikace. WinForms je vyspělá a stabilní architektura široce používaná pro vývoj Windows desktopů.

Tým WinForms nadále investuje do platformy. Mezi současné oblasti investic patří:

  • Podpora asynchronních ovládacích prvků
  • Tmavý režim
  • Flexibilita rozložení
  • Funkce zabezpečení plochy, jako je přístup ke schránce

Vývoj nativních aplikací pro různé platformy

Co jsou některé důvody pro vytváření multiplatformních nativních aplikací, které cílí na Windows?

Pokud cílíte na uživatele na více platforem operačního systému, vytváření multiplatformních aplikací pomocí .NET MAUI nebo React Native může přinést několik výhod:

  • Dosáhnout: Multiplatformní aplikace se dostanou k většímu publiku napříč různými zařízeními a operačními systémy.
  • Opakované použití kódu: Opětovné spuštění kódu napříč platformami zkracuje čas a náklady na vývoj. Vytváření samostatných aplikací pro Windows, Android, iOS a macOS může být příliš nákladné.
  • Konzistentní uživatelské prostředí: Multiplatformní architektury pomáhají zajistit konzistentní vzhled a chování napříč platformami.
  • Integrace: Multiplatformní aplikace se stále můžou integrovat se službami specifickými pro danou platformu, aby poskytovaly komplexní prostředí.
Mohu si být jistý, že aplikace .NET MAUI budou dobře fungovat ve Windows?

Když vytvoříte aplikaci .NET MAUI pro Windows, výstupem je aplikace WinUI. Během vývoje nabízí .NET MAUI jediné .NET prostředí napříč platformami, ale generuje kód specifický pro platformu pod kapotou. To zajišťuje, že .NET MAUI aplikace dobře fungují na každé platformě a poskytují nativní uživatelské prostředí.

W může .NET MAUI poskytovat nativní rozhraní API zařízení na všech platformách?

.NET MAUI poskytuje jednotné prostředí .NET napříč Windows, iOSem, Androidem a macOS. Nabízí rozhraní API pro různé platformy pro běžné funkce, jako jsou úložiště, sítě a senzory zařízení. Můžete také volat rozhraní API specifická pro danou platformu nebo poskytovat specializované implementace pro každou platformu.

Mohu začít s WinUI a později integrovat .NET MAUI, pokud bych nakonec chtěl cílit na scénáře pro různé platformy?

V tuto chvíli ne. I když .NET MAUI při spouštění na Windows používá WinUI, týmy, které očekávají, že cílí na více platforem, by měly začít s .NET MAUI nebo React Native for Desktop.

Náš tým má silné webové front-endové vývojové dovednosti. Měli bychom zvážit použití React Native pro Desktop?

Týmy se silným vývojovým prostředím pro web můžou chtít zvážit React Native for Desktop. Zahrnuje React Native pro Windows a macOS. Díky přístupu "Learn once, write anywhere" (Jednou naučte se psát kdekoli), stávající dovednosti JavaScriptu, TypeScriptu a Reactu se dají použít k vytváření nativních Windows a aplikací pro macOS.

React Native for Desktop vykresluje uživatelské rozhraní přímo na nativní primitivy a poskytuje nativní výkon a možnosti platformy.

Informace o get started najdete v dokumentaci k React Native for Desktop.

Jsou nějaká další zařízení Windows podporována React Native for Desktop?

Aplikace React Native je možné nasadit na všechna zařízení podporovaná Windows 10 a novějším, včetně počítačů, tabletů, 2 v-1, Xbox a zařízení hybridní reality.

Co mám použít, pokud chci vytvářet aplikace, které pracují na Windows a Xbox?

Pokud vaše aplikace potřebuje podporovat Xbox, HoloLens nebo IoT, doporučuje se UPW. Windows App SDK tyto platformy nepodporuje. Pro vývoj her použijte Herní vývojová sada Microsoft.

Co mám použít, pokud chci vytvářet aplikace, které pracují na Windows a Surface Hub?

Pokud cílíte na Windows i Surface Hub, doporučuje se UWP.

Vývoj hybridního a webového prostředí

Co jsou hybridní aplikace a proč bych měl zvážit jeho vytvoření?

Hybridní aplikace kombinuje to nejlepší z vývoje webových a nativních aplikací. Jejich jádro je vytvořené pomocí webových technologií, jako jsou HTML, CSS a JavaScript, a zabalené do nativního kontejneru, který poskytuje access určitým funkcím a hardwaru nativní platformy. Dají se také distribuovat prostřednictvím obchodů s aplikacemi.

Hlavní výhodou je, že hybridní aplikace umožňují vytvořit jednu aplikaci, která může běžet na několika nativních platformách a na webu, což zkracuje čas a náklady na vývoj. Mezi příklady platforem pro vývoj hybridních aplikací patří:

  • Elektron pro desktopové aplikace
  • Ionic pro mobilní aplikace
  • .NET MAUI Blazor Hybrid pro multiplatformní aplikace
Jak vytvářet nativně působící progresivní webové aplikace (PWA) na Windows?

Viz Webový vývoj na Windows a Přehled progresivních webových aplikací.

Co je hybridní aplikace .NET MAUI Blazor?

S .NET MAUI můžou aplikace Blazor běžet nativně na Windows, iOS, Androidu a macOS. Díky tomu můžete vytvářet hybridní klientské aplikace, které kombinují komponenty Blazor a .NET MAUI v jedné nativní klientské aplikaci s úplným přístupem k možnostem nativní platformy.

Další informace najdete v ASP.NET Core Blazor Hybrid.

Je nutné vytvářet webové komponenty hybridní aplikace .NET MAUI pomocí Blazor?

Ne. Počínaje .NET 9 obsahuje .NET MAUI ovládací prvek HybridWebView, který umožňuje hostování dalších uživatelských rozhraní založených na JavaScriptu v nativní aplikaci.

To vám umožní hostovat Angular, React, Vue nebo jiné aplikace HTML/JavaScript v aplikaci .NET MAUI. Hybridní ovládací prvek poskytuje interoperabilitu mezi C# a JavaScriptem, takže kód jazyka C# může volat funkce JavaScriptu a naopak.

Mohou některé jiné nativní typy aplikací hostovat hybridní komponenty Blazor?

Ano. aplikace WPF (Windows Presentation Foundation) a WinForms můžou také hostovat hybridní komponenty Blazor, což umožňuje přidání moderního webového uživatelského rozhraní do stávajících aplikací. To se nepodporuje pro aplikace WPF (Windows Presentation Foundation) ani WinForms založené na .NET Frameworku.

Musí být celá moje aplikace hybridní nebo můžu kombinovat nativní a hybridní komponenty?

Nativní a hybridní komponenty je možné kombinovat v rámci aplikace. Například jádro aplikace může být sestaveno s komponentami .NET MAUI, zatímco hybridní komponenty poskytují další funkce. To umožňuje kombinovat výkon a možnosti nativních komponent s flexibilitou a nákladovou efektivitou hybridních komponent.

Co jsou moje volby pro vytváření webových aplikací založených na .NET, které vypadají skvěle v moderních prohlížečích na Windows?

Web apps nabízejí nejširší dosah libovolné platformy klientských aplikací. Mezi možnosti vytváření krásných .NET webových aplikací patří:

  • ASP.NET Core aplikace s Razor Pages
  • aplikace ASP.NET Core MVC
  • Aplikace ASP.NET Core Blazor s možnostmi hostovacího modelu:
    • Blazor WebAssembly
    • Blazor Server

Modely hostování Blazor je teď možné nakonfigurovat na úrovni komponent, což umožňuje scénáře, jako je hostování komponenty Blazor WebAssembly v aplikaci Blazor Server.

Další podrobnosti najdete v dokumentaci k ASP.NET Core.

Volba přístupu a pochopení investic do Microsoft

Další možnosti architektury pro vytváření aplikací, které cílí na Windows! Jak se mám rozhodnout?

Windows je otevřená platforma, která podporuje mnoho technologií. Tady jsou některá kritéria, která vám můžou pomoct vybrat platformu:

  • Vyvíjíte přednostně pro Windows nebo multiplatformně?
  • Jaké jazyky nebo dovednosti už máte – .NET, JavaScript, něco jiného?
  • Potřebujete přístup k rozhraním API pro konkrétní Windows?
  • Které možnosti architektury nejlépe odpovídají požadavkům vaší aplikace?
  • Další srovnávací faktory najdete v této tabulce .

Pro mnoho obchodních aplikací týmy často volí na základě stávajících dovedností a toho, co je pro tým nejpohodlnější.

Jak zvolím nejlepší přístup k vývoji mé webové aplikace?

Při výběru vývojového přístupu pro webovou aplikaci zvažte následující skutečnosti:

  • Blazor se doporučuje pro vytváření front-endových webových aplikací s .NET. Umožňuje vytvářet front-end i back-end pomocí .NET, šetřit čas a náklady a je to zvláště vhodné pro podnikové aplikace.
  • JavaScript web apps stále dávají smysl, pokud chcete využít stávající dovednosti JavaScriptu nebo potřebujete integrovat se zavedenými JS knihovnami nebo frameworky.
  • Stávající aplikace využívající starší architektury, jako jsou webové formuláře, MVC nebo Razor Pages, zůstávají podporované a můžou se dál vyvíjet a udržovat.
Kdo dnes vytváří aplikace pomocí WinUI?

Mnoho zákazníků dnes vytváří s WinUI, včetně Adobe a Apple:

  • Adobe Freska, bezplatná aplikace kreslení a malování.
  • Aplikace Apple Music, Apple TV a Apple Devices byly sestaveny pomocí WinUI a Windows App SDK.

Microsoft také vytvořil mnoho aplikací WinUI, jako je průzkumník souborů Windows 11 a aplikace Fotky.

Who dnes vytváří aplikace .NET MAUI?

Mnoho zákazníků, včetně Microsoft, vytváří multiplatformní aplikace s .NET MAUI. Například mobilní aplikace Microsoft Azure je vytvořená pomocí .NET MAUI.

Podívejte se na .NET prezentace zákazníků.

Who dnes vytváří aplikace WPF (Windows Presentation Foundation)?

Většina uživatelského rozhraní Microsoft Visual Studio je sestavená pomocí WPF (Windows Presentation Foundation). Samotné integrované vývojové prostředí (IDE) Visual Studio je hlavním příkladem komplexní aplikace s vysokým výkonem WPF (Windows Presentation Foundation).

Kdo dnes vytváří aplikace Blazor?

Systém letecké společnosti GE Digital FlightPulse používá Blazor pro back-endovou konfiguraci všeho, co piloti vidí, a přináší data snímačů a analýzy přímo pilotům, aby se zlepšila bezpečnost a efektivita.

Další informace Blazor customer stories na webu .NET.

Volba jazyka (.NET vs C++)

Mám pro svoji Windows aplikaci používat C# nebo C++?

Ve většině případů používejte jazyk C# (.NET). Jazyk C# nabízí rychlejší vývoj, bezpečnost paměti, bohaté knihovny a vynikající nástroje. Většina Windows aplikací, včetně aplikací WinUI 3, WPF (Windows Presentation Foundation), WinForms a .NET MAUI, je nejlépe sestavená pomocí jazyka C#.

Jazyk C++ použijte , pokud potřebujete přímý přístup k hardwaru, minimální režii za běhu nebo interoperabilitu s existujícími základy kódu C++. Mezi běžné scénáře jazyka C++ patří herní moduly (DirectX), ovladače, nástroje na úrovni systému a komponenty kritické pro výkon.

Faktor C# (.NET) C++
Rychlost vývoje ✅ Rychlejší – spravovaná paměť, bohatý ekosystém ⚠️ Pomalejší — ruční správa prostředků
Výkon modulu runtime ✅Skvěle funguje s moderním .NET (AOT, Span<T>) ✅ Co nejlíp – žádné pauzy GC
Bezpečnost paměti ✅ Uvolňování paměti ⚠️ Ruční – riziko úniku a ohrožení zabezpečení
přístup k rozhraní API Windows ✅ Prostřednictvím projekce C#/WinRT ✅ Pomocí projekce C++/WinRT
Podpora WinUI 3 ✅ Úplná podpora ✅ Úplná podpora prostřednictvím C++/WinRT
Multiplatformní ✅.NET běží na Windows, Linuxu, macOS ✅ S kódem specifický pro platformu
Nejvhodnější pro Obchodní aplikace, CRUD, služby, aplikace náročné na uživatelské rozhraní Hry, ovladače, systémové nástroje, nízká latence

Můžete také zkombinovat obojí: vytvořit aplikaci v C# a volat nativní kód kritický z hlediska výkonu prostřednictvím P/Invoke (CsWin32) nebo komponenty C++/WinRT.

Jak můžu volat rozhraní API Win32 z jazyka C#?

Použijte CsWin32, což je zdrojový generátor, který při sestavení vytváří typově bezpečné signatury P/Invoke. Přidáte Microsoft.Windows.CsWin32 balíček NuGet, zobrazíte seznam potřebných rozhraní API v NativeMethods.txt souboru a zavoláte je prostřednictvím vygenerované PInvoke třídy.

CsWin32 nahrazuje ruční [DllImport] deklarace a pracuje v libovolném projektu C# – WinUI, WPF (Windows Presentation Foundation), WinForms nebo konzole. Podrobný návod najdete v tématu Volání rozhraní API Win32 z aplikace Windows jazyka C# (CsWin32).

Co je C++/WinRT a kdy se má použít?

C++/WinRT je standardní projekce jazyka C++17 pro rozhraní API prostředí Windows Runtime. Můžete ho použít při vytváření Windows aplikací v jazyce C++, které využívají nebo vytvářejí rozhraní API WinRT. Nahrazuje C++/CX a knihovnu šablon jazyka C++ prostředí Windows Runtime C++.

Zvolte C++/WinRT, když:

  • Vytváříte aplikaci C++ WinUI 3.
  • Potřebujete vytvářet komponenty prostředí Windows Runtime spotřebované jinými jazyky.
  • Portujete z C++/CX
Co je C#/WinRT a kdy ji potřebuji?

C#/WinRT poskytuje podporu projekce WinRT pro C#. Ve většině případů s ním nepřicházíte přímo do kontaktu — aplikace .NET cílené na Windows automaticky získávají přístup k rozhraním API WinRT prostřednictvím monikerů cílového frameworku (TFM). Při vytváření komponent prostředí Windows Runtime v jazyce C# nebo při generování propojovacích sestavení pro komponenty WinRT třetích stran musíte explicitně použít C#/WinRT.

Balení, nasazení a aktualizace

Jaký je rozdíl mezi aplikacemi, které jsou zabalené, rozbalené a zabalené s externím umístěním?

Zabalená aplikace obsahuje soubory, identitu a informace o nasazení v balíčku, jako je MSIX. Rozbalená aplikace používá instalační program nebo proces nasazení mimo systém balíčků Windows a ve výchozím nastavení nemá identitu balíčku. Aplikace zabalená s externím umístěním používá malý identitní balíček a zároveň zachovává binární soubory uložené externě i stávající instalační program a proces aktualizace.

Viz Přehled balení pro požadavky a kompromisy.

Potřebuji identitu balíčku?

Závisí na Windows funkcích, které vaše aplikace používá. Některé scénáře spuštění na pozadí, nabízené oznámení, rozšíření prostředí, přidružení a Windows AI vyžadují identitu balíčku. Další možnosti Windows App SDK, včetně oznámení WinUI a místních aplikací, můžou bez ní fungovat.

Viz funkce které vyžadují identitu balíčku. Pokud potřebujete identitu, ale musíte zachovat existující instalační program, zvažte balení s externím umístěním.

Jaký je rozdíl mezi nasazením závislým na rozhraní a vlastním nasazením?

Aplikace závislá na rozhraní používá Windows App SDK balíčky modulu runtime nainstalované samostatně na zařízení. Tím se zmenšuje velikost nasazení aplikace. Samostatná aplikace obsahuje obsah balíčku Windows App SDK Framework spolu s aplikací, což zvyšuje velikost nasazení, ale umožňuje aplikaci obsluhovat tyto komponenty frameworku.

API, která závisejí na dalších balíčcích MSIX, například na balíčku Singleton, mohou vyžadovat samostatné kontroly podpory nasazení nebo za běhu i u samostatně distribuované aplikace. Balení a nasazení modulu runtime jsou samostatná rozhodnutí. Viz přehled nasazení sady Windows App SDK .

Aktualizuje se moje aplikace WinUI pro koncové uživatele automaticky?

Aplikaci WinUI je možné doručovat prostřednictvím Storu, souboru .appinstaller nebo prostřednictvím existujícího balíčku MSI nebo setup.exe. Store a AppInstaller podporují automatické aktualizace pro koncové uživatele, kteří mají povolené automatické aktualizace, ale msi/setup.exe aplikace musí poskytovat vlastní mechanismus aktualizace.

Užiju Windows App SDK bez použití nástroje MSBuild?

Projekty WinUI XAML vyžadují nástroj MSBuild, ale Visual Studio není potřeba. Šablony sady .NET SDK a WinUI můžete použít ke spuštění nástroje MSBuild z dotnet build příkazového řádku. Windows App SDK komponenty, které nepoužívají WinUI, je možné integrovat také do podporovaných desktopových projektů založených na MSBuildu.

Windows AI (umělá inteligence)

Jak si vyberu mezi Windows rozhraními API AI, Místním prostředím Foundry a Windows ML?

Použijte rozhraní Windows AI API pro hotové funkce AI spravované systémem Windows. Pomocí foundry Local můžete vyhledat, stáhnout a spustit podporované jazykové a řečové modely místně. Pomocí Windows ML můžete spouštět vlastní modely ONNX s poskytovateli spouštění pro dostupný hardware procesoru, GPU a NPU.

Hardware, verze Windows, identita balíčku, model a požadavky na distribuci se liší. Zkontrolujte aktuální požadavky na rozhraní API nebo běhové prostředí, které zvolíte, místo toho, abyste předpokládali, že jsou na každém počítači k dispozici všechny funkce Windows AI.

Co mám zvážit před odesláním funkce s asistencí umělé inteligence?

Definujte zamýšlené použití a omezení funkce, vyhodnoťte kvalitu a bezpečnost pomocí reprezentativních dat, v případě potřeby předveďte chování umělé inteligence, chraňte uživatelská data a poskytněte náhradní řešení, pokud model nebo požadovaný hardware není k dispozici. Viz Zodpovědný vývoj generativní umělé inteligence ve Windows.

Výkon a optimalizace

Co můžu udělat, aby moje aplikace Windows poskytovala skvělý zážitek koncovým uživatelům?

Podívejte se na Windows vývoj aplikací – osvědčené postupy a Windows přehled výkonu a základů aplikací.

Compatibility

Budou muset moji uživatelé někdy aktualizovat Windows, aby mohli používat mou aplikaci WinUI?

Windows App SDK aplikace můžou běžet na podporovaných edicích Windows 10 verze 1809 a novějších, ale jednotlivá rozhraní API a funkce aplikací můžou vyžadovat novější verze nebo hardware Windows. Pro produkční podporu musí zařízení spustit Windows edici a verzi, která je stále podporována, a aplikace by měla používat podporovanou Windows App SDK vydání s aktuálními aktualizacemi údržby. Viz kanály podpory Windows App SDK a kanály vydaných verzí.

Můžu cílit na Arm64 pomocí aplikace WinUI?

Ano. Vytvořte nativní aplikaci Arm64 pro zajištění nejlepšího výkonu a efektivity. U velkého základu kódu C++ se závislostmi x64 umožňuje Arm64EC migrovat moduly přírůstkově. Windows 11 na Arm může také spouštět mnoho stávajících aplikací x86 a x64 prostřednictvím emulace Prism, ale měli byste otestovat výkon a kompatibilitu na reprezentativních zařízeních Arm.

Vyřazení a migrace

Jsou UPW / WinUI pro UPW zastaralé?

Ne. UWP a WinUI pro UWP nadále zůstávají podporovány a dostávají opravy chyb, spolehlivosti a zabezpečení. WinUI a Windows App SDK jsou však doporučenou cestou pro nové desktopové aplikace pro Windows pro obecné použití a směřuje do nich většina nových investic do platformy.

Podpora UPW pro moderní .NET s nativní AOT je obecně dostupná a je výchozím typem projektu UPW jazyka C# v Visual Studio 2026. Přesunutí existující aplikace pro UPW z .NET Native na moderní .NET je samostatný krok modernizace od migrace uživatelského rozhraní na WinUI. Podívejte se na modernizaci aplikace pro UPW pomocí .NET a nativní AOT.

Kdy mám migrovat aplikaci UWP / WinUI na WinUI?

Vývojáři UPW by se neměli cítit tlak na migraci, pokud jsou spokojení s UPW a jeho sadou funkcí – pro mnoho aplikací může být správnou volbou zůstat u UPW.

Aplikace, které chtějí využívat nejnovější Windows platformu a investice do .NET, by měly zvážit přechod na Windows App SDK. Viz Migrace z UPW do Windows App SDK.

Kdy nemám migrovat aplikaci UWP + WinUI na WinUI?

Pokud vytváříte pro Xbox, centrum Surface nebo HoloLens, pokračujte v používání UPW.

Je WPF (Windows Presentation Foundation) zastaralé a odstraněné?

Ne. WPF (Windows Presentation Foundation) se podporuje, doporučuje a nadále dostává aktualizace funkcí. Podívejte se na roadmap WPF (Windows Presentation Foundation) na GitHubu.

Je WinForms zastaralý?

Ne. WinForms se podporuje a nadále přijímá aktualizace funkcí. Podívejte se na model Windows Forms Roadmap na GitHubu.

Je prostředí Windows Runtime (WinRT) zastaralý?

Ne. WinRT je binární rozhraní aplikace (ABI), které umožňuje interoperabilitu napříč více jazyky. WinRT je vývoj modelu COM a Windows App SDK poskytuje většinu jeho funkcí prostřednictvím rozhraní API WinRT.

Poznámky k vydání

Kde mohu najít poznámky k vydání pro Windows App SDK?

Nejnovější poznámky k vydání najdete na stránce Co je nového.