Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje informace, které potřebujete, abyste mohli začít vytvářet aplikace pro Windows a zvolit architekturu uživatelského rozhraní, která odpovídá vaší sadě dovedností a scénáři.
Windows nabízí širokou škálu jazyků, architektur a nástrojů pro vytváření aplikací, včetně WinUI, React Native for Desktop, WPF, C++, C#, .NET a různých platforem. Tady vám poskytneme informace, které vám pomůžou rozhodnout, která možnost je pro vás nejvhodnější.
WinUI
Pomocí WinUI a sady Windows App SDK můžete vytvářet aplikace, které vypadají skvěle a využívají nejnovější verze Windows. Pokud s vývojem pro Windows teprve začínáte nebo začínáte pracovat na nové aplikaci pro Windows, Poskytuje WinUI prostředky, které potřebujete k vytvoření skvělých aplikací pro Windows 11.
WinUI je vrstva uživatelského rozhraní založená na značkách XAML, která obsahuje moderní ovládací prvky a styly pro vytváření aplikací pro Windows. Jako nativní vrstva uživatelského rozhraní sady Windows App SDK představuje Fluent Design a poskytuje každé aplikaci pro Windows elegantní pocit, že zákazníci očekávají.
Poznámka
Sada Windows App SDK je sada nových vývojářských komponent a nástrojů, které představují nejnovější vývoj v platformě pro vývoj aplikací pro Windows. Sada Windows App SDK poskytuje jednotnou sadu rozhraní API a nástrojů, které desktopové aplikace ve Windows 11 a nižších úrovních můžou používat konzistentním způsobem.
I když je WinUI nativní vrstvou uživatelského rozhraní, můžete použít sadu Windows App SDK s aplikacemi WPF, WinForms nebo Win32. Pokud jste dříve vyvinuli aplikace pro Windows, ale chcete začít se sadou Windows App SDK v existující aplikaci, přečtěte si příručky specifické pro architekturu.
React Native pro stolní počítače
React Native je vývojová platforma, která umožňuje vytvářet multiplatformní aplikace. React Native for Desktop zahrnuje React Native pro Windows a macOS a přináší podporu React Native do sady Windows SDK. React Native for Desktop umožňuje používat JavaScript k vytváření nativních aplikací pro Windows pro všechna zařízení podporovaná windows 10 a Windows 11. Tato podpora zahrnuje počítače, tablety, 2-in-1s, Xbox, zařízení hybridní reality a další.
S aplikací React Native for Desktop píšete většinu kódu aplikace nebo veškerý kód aplikace v JavaScriptu nebo TypeScriptu. Architektura vytvoří nativní aplikaci XAML pro UPW. Pokud vaše aplikace potřebuje volat rozhraní API platformy, můžete to obvykle provést prostřednictvím některého z mnoha komunitních modulů. Pokud modul ještě neexistuje, můžete snadno napsat nativní modul, který ho zpřístupní.
Tady je několik důvodů, proč si vybrat React Native for Desktop:
- Chcete co nejvíce sdílet kód napříč platformami nebo máte webové vlastnosti, se kterými chcete sdílet kód.
- Vylepšená produktivita vývojářů a vnitřní smyčka díky rychlé aktualizaci.
- Základy vaší aplikace (výkon, přístupnost, internacionalizace) jsou stejně dobré jako nativní aplikace pro UPW.
- Máte zkušenosti s JavaScriptem nebo TypeScriptem a dáváte jim přednost.
- V npmjs.com chcete využívat knihovny jen pro JavaScript a také mnoho nativních knihoven.
- Vaše aplikace používá nativní ovládací prvky, vzhled vizuálů, animace a barvy, takže je integrovaná do jazyka návrhu používaného ve Windows. Aplikace React Native pro desktop navíc nemusí slevit z rozhraní API, která mohou volat. Tento rámec umožňuje volat rozhraní API platformy a také psát vlastní správce zobrazení a nativní moduly.
- Velká a rostoucí komunitní dynamika s mnoha komunitními moduly .
Další informace o React Native for Desktop najdete na následujících odkazech:
- React Native pro úložiště Windows na GitHubu
- React Native pro úložiště macOS na GitHubu
- Referenční informace k rozhraní API
- React Native pro prostředky pro stolní počítače
WPF (Windows Presentation Foundation)
WPF je dobře zavedená architektura pro desktopové aplikace Windows s přístupem k .NET nebo rozhraní .NET Framework. Podobně jako WinUI používá kód XAML také k oddělení uživatelského rozhraní od kódu. WPF poskytuje komplexní sadu funkcí vývoje aplikací, které zahrnují ovládací prvky, datové vazby, rozložení, 2D a 3D grafiku, animaci, styly, šablony, dokumenty, média, text a typografii. WPF je součástí .NET, takže můžete vytvářet aplikace, které obsahují další prvky rozhraní .NET API.
Kromě toho teď můžete integrovat prostředí sandboxu do zabalených aplikací WPF a zajistit tak další vrstvu zabezpečení. Díky nové funkci zabezpečení izolace aplikací Win32 tato vylepšení nevyžaduje žádnou změnu kódu.
Spropitné
Pokud jste už investovali do WPF, můžete ho dál používat a využívat možnosti modernizace v .NET 9. Můžete vytvářet aplikace s vědomím, že Microsoft nadále investuje do WPF. Další informace najdete v nejčastějších dotazech pro vývojáře
Pokud máte aplikaci WPF .NET , máte také přístup k moderním funkcím a rozhraním API pro platformu Windows poskytovaným sadou Windows App SDK. Další informace najdete v tématu Použití sady Windows App SDK v aplikaci WPF a modernizace desktopových aplikací.
Spropitné
Pokud potřebujete další pomoc s rozhodováním, která architektura je pro vaši aplikaci nejlepší volbou, přečtěte si téma Volba nejlepší aplikační architektury pro modul školení k projektu vývoje pro Windows .
Další možnosti nativní platformy
Mnoho aplikací pro Windows se píše pomocí Win32, Windows Forms nebo UPW. Každá z těchto architektur je podporována a nadále dostává opravy chyb, zlepšení spolehlivosti a zabezpečení, ale s různou úrovní investic do nových funkcí a stylů. Další informace o těchto typech aplikací najdete na následujících kartách.
Desktopové aplikace Win32 (někdy označované také jako klasické desktopové aplikace) jsou původním typem aplikace pro nativní aplikace pro Windows, které vyžadují přímý přístup k Windows a hardwaru. Díky tomuto přímému přístupu je Win32 preferovaným typem aplikace pro aplikace, které potřebují nejvyšší úroveň výkonu a přímý přístup k systémovému hardwaru.
Pomocí rozhraní API Win32 s C++ můžete dosáhnout nejvyšší úrovně výkonu a efektivity. Máte větší kontrolu nad cílovou platformou pomocí nespravovaného kódu než ve spravovaných prostředích runtime, jako jsou WinRT a .NET. Uplatnění takové úrovně kontroly nad prováděním vaší aplikace však vyžaduje větší péči a pozornost, aby bylo správně, a vyměňuje produktivitu vývoje za výkon za běhu.
Tady je několik hlavních informací o tom, co nabízí rozhraní API Win32 a C++, které vám umožní vytvářet vysoce výkonné aplikace.
- Optimalizace na úrovni hardwaru, včetně těsné kontroly nad přidělováním prostředků, životností objektů, rozložením dat, zarovnáním, balením bajtů a dalšími prostředky.
- Přístup k sadám instrukcí orientovaným na výkon, jako je SSE a AVX, prostřednictvím vnitřních funkcí.
- Efektivní, typově bezpečné obecné programování pomocí šablon.
- Efektivní a bezpečné kontejnery a algoritmy.
- DirectX, zejména Direct3D a DirectCompute.
- Pomocí C++/WinRT můžete vytvářet moderní desktopové aplikace Win32 s prvotřídním přístupem k rozhraním API prostředí Windows Runtime (WinRT).
Kromě toho teď můžete integrovat prostředí sandboxu do aplikací Win32 a zajistit tak další vrstvu zabezpečení. Díky nové funkci zabezpečení izolace aplikací Win32 tato vylepšení nevyžaduje žádnou změnu kódu.
Máte také přístup k moderním funkcím a rozhraním API platformy Windows poskytovaným sadou Windows App SDK. Další informace najdete v tématu Použití sady Windows App SDK v existujícím projektu a modernizaci desktopových aplikací.
Další možnosti pro různé platformy
Pokud potřebujete, aby vaše aplikace byla multiplatformní, zvažte kromě React Native for Desktopu také rozhraní .NET MAUI, Blazor Hybrid nebo progresivní webovou aplikaci (PWA). K dispozici je mnoho dalších možností (tady je seznam oblíbených možností), ale tyto možnosti jsou dobrými výchozími body.
.NET MAUI využívá výkon WinUI ve Windows a zároveň umožňuje spouštění v jiných operačních systémech. Blazor Hybrid integruje nativní klientské frameworky pro stolní počítače a mobilní zařízení s .NET a Blazor. Další multiplatformní možností, Progresivní webové aplikace (PWA) jsou weby, které fungují jako nainstalované, nativní aplikace ve Windows a na jiných podporovaných platformách a fungují jako běžné weby v prohlížečích.
Další informace najdete na následujících kartách.
.NET Multi-platform App UI (MAUI) je opensourcová multiplatformní architektura pro vytváření aplikací pro Android, iOS, macOS a Windows. S rozhraním .NET MAUI můžete využít nativní uživatelské rozhraní a služby každé platformy z jediného základu kódu .NET. Vzhledem k tomu, že .NET MAUI upřednostňuje nativní prostředí platformy, používá WinUI a sadu Windows App SDK, aby aplikace získaly nejnovější uživatelské prostředí ve Windows. Tento přístup dává vašim aplikacím přístup ke všemu, co získáte pomocí WinUI, a navíc možnost spojit se s jinými platformami.
.NET MAUI pro Windows je skvělou volbou v následujících případech:
- Chcete sdílet co nejvíce kódu .NET napříč mobilními a desktopovými aplikacemi.
- Chcete svou aplikaci rozšířit z Windows na jiné desktopové a mobilní platformy s nativním prostředím.
- Chcete použít jazyk C# nebo XAML k vytváření multiplatformních aplikací.
- Používáte Blazor pro vývoj webu a chcete zahrnout všechny části nebo jejich část do mobilní nebo stolní aplikace.
Další informace o rozhraní .NET MAUI najdete na následujících odkazech:
Porovnání funkcí architektury vývoje aplikací
Máte mnoho možností pro vývoj aplikací pro Windows. Nejlepší možnost pro vás závisí na požadavcích vaší aplikace, na vašem stávajícím kódu a na znalostech technologie. Následující tabulka uvádí nejoblíbenější architektury pro vývoj aplikací dostupné ve Windows a funkce podporované jednotlivými architekturami.
| Funkce | .NET MAUI | Hybridní Blazor | React Native pro stolní počítače | XAML PRO UPW (Windows.UI.Xaml) | Win32 (MFC nebo ATL) | model Windows Forms | WinUI 3 | WPF (Windows Presentation Foundation) |
|---|---|---|---|---|---|---|---|---|
| Jazyk | jazyk C# | jazyk C# | JavaScript, TypeScript | C#, C++, Visual Basic | C++, Rust | C#, Visual Basic | C#, C++ | C#, Visual Basic |
| Jazyk uživatelského rozhraní | XAML nebo kód | Razor | JSX | XAML | Code | Code | XAML | XAML |
| návrhář uživatelského rozhraní (přetáhnout & a pustit) |
Není podporováno | Není podporováno | Není podporováno | Podporovaný | Není podporováno | Podporovaný | Není podporováno | Podporovaný |
| ladění uživatelského rozhraní | Aktuální načítání | Aktuální načítání | Rychlá aktualizace | Aktuální načítání | - | Aktuální načítání | Aktuální načítání | Aktuální načítání |
| Plynulý design | Podporovaný | Podporovaný | Podporovaný | Podporováno (přes WinUI 2) | Není podporováno | Není podporováno | Podporovaný | Není podporováno |
| .SÍŤ | platforma .NET | platforma .NET | Není k dispozici | .NET Core a nativní .NET | Není k dispozici | .NET & rozhraní .NET Framework | platforma .NET | .NET & rozhraní .NET Framework |
| Sada SDK aplikací pro Windows | Podporované (další informace) | Podporovánoprostřednictvím MAUI | Podporované (další informace) | Není podporováno | Podporovaný | Podporované (další informace) | Podporovaný | Podporované (další informace) |
| Skvělé pro dotykové ovládání | Podporovaný | Podporovaný | Podporovaný | Podporovaný | Není podporováno | Není podporováno | Podporovaný | Není podporováno |
| Multiplatformní | Podporovaný | Podporovaný | Podporovaný | Není podporováno | Není podporováno | Není podporováno | Není podporováno | Není podporováno |
| aplikace pro Xbox/HoloLens | Není podporováno | Není podporováno | Podporovaný | Podporovaný | Není podporováno | Není podporováno | Není podporováno | Není podporováno |
| Sandboxing (AppContainer) | Není podporováno | Není podporováno | Podporovaný | Podporovaný | Není podporováno | Není podporováno | Není podporováno | Není podporováno |
| Aktuálně podporovaná | Podporovaný | Podporovaný | Podporovaný | Podporovaný | Podporovaný | Podporovaný | Podporovaný | Podporovaný |
| Příjem aktualizací | Podporovaný | Podporovaný | Podporovaný | Podporováno (oprava zabezpečení a chyby) | Podporovaný | Podporovaný | Podporovaný | Podporovaný |
| Plán | GitHub | GitHub | GitHub | není k dispozici | není k dispozici | GitHub | GitHub | GitHub |
Přečtěte si další informace o každé z těchto možností:
- Nejčastější dotazy vývojářů pro Windows
- víceplatformní uživatelské rozhraní aplikací .NET (.NET MAUI)
- ASP.NET Core Blazor Hybrid
- React Native pro stolní počítače
- Univerzální platforma Windows (UPW)
- Doporučení pro výběr mezi ATL a MFC
- Windows Forms
- Windows Presentation Foundation (WPF)
- WinUI v sadě Windows App SDK (WinUI 3)
Další kroky
-
Použití WinUI k zahájení vývoje aplikací pro Windows
WinUI je doporučená platforma pro aplikace pro Windows. Tyto kroky vám pomůžou rychle začít.
-
Nastavení vývojového prostředí ve Windows
Windows není jenom skvělý pro vývoj aplikací, které běží ve Windows. Je to také výkonné prostředí pro vývoj aplikací pro libovolnou platformu. Přečtěte si další informace o nástrojích a možnostech, které jsou k dispozici pro maximalizaci vývoje.
Windows developer