Tento článek je určený k podpoře společného porozumění vývojovému prostředí windows a směru produktu.
Dnešní vývoj aplikací pro Windows nabízí celou řadu architektur a technologií, ze které si můžete vybrat. Tato nejčastější dotazy obsahuje pokyny k rozhodování o tom, jakou architekturu použít pro vaše projekty vývoje aplikací pro Windows. Zabývá se následujícími tématy:
- Začínáme a vývoj aplikací pro Windows
- Nativní vývoj aplikací jen pro Windows pomocí WinUI, Windows Presentation Foundation (WPF) a Windows Forms (WinForms).
- Sada Windows Software Development Kit (SDK) a Sada Windows App SDK.
- Cílení na 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 porozumění investicím Microsoftu
Vývoj aplikací pro Windows na šířku
Kde najdu jednoduchý přehled vývojových technologií pro Windows?
Pro skvělou recenzi dnešních možností pro vývojáře pro Windows se podívejte na nejnovější Windows Dev Chat epizodě, Volba ideální vývojové platformy, kde probírají WinUI, .NET MAUI, React Native, Blazor a Progresivní webové aplikace (PWA).
Můžete se také podívat na přehled možností vývoje aplikací pro vývojáře pro 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žitou součástí moderní digitální transformace. Pro vývojáře je vytváření klientských aplikací nezbytné nejen pro dosah, ale také pro zajištění responzivních a smysluplných interakcí na uživatelských zařízeních.
Tady je důvod, proč klientské aplikace stále záleží na:
- Zařízení Reach: S více než 1,5 miliardami zařízení s Windows a více než 5 miliard zařízení s Androidem a iOSem globálně umožňují klientským aplikacím přinést aplikace přímo uživatelům na jejich zařízeních podle svého výběru.
- Gateway do inteligentních služeb: klientské aplikace jsou často prvními uživateli interakce s vašimi službami. Nabízejí bohaté interaktivní rozhraní, které umožňuje prezentovat inteligentní funkce a odlišit váš produkt od ostatních.
- škálovatelnosti s integrací cloudu: Dobře integrovaná klientská aplikace se může snadno synchronizovat s back-endovými cloudovými službami, což umožňuje přístup k datům 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 sada Windows App SDK?
Windows App SDK je vývojová platforma pro aplikace pro Windows, která umožňuje vytvářet krásné, moderní a zpětně kompatibilní desktopové aplikace (až do Windows 10 1809). WinUI 3 je architektura uživatelského rozhraní, která je dodávána se sadou Windows App SDK.
Jaký je rozdíl mezi sadou Windows App SDK a sadou Windows SDK?
Obě jsou sady SDK (Software Development Kit), které umožňují vytvářet aplikace pro Windows.
Sada Windows App SDK je nová vývojová platforma, která umožňuje vytvářet moderní desktopové aplikace, které je možné nainstalovat ve verzích Windows (až do Windows 10 1809). Když k sestavení aplikace použijete sadu Windows App SDK, budete mít přístup k nejnovějším funkcím platformy pro vývoj pro Windows. Sada Windows App SDK zahrnuje WinUI 3.
Windows SDK je vývojová platforma, která umožňuje vytvářet aplikace pro UPW a desktopové aplikace Win32/desktop. Je navržená pro rozhraní API systému Windows, která jsou svázaná s konkrétními verzemi operačního systému.
Sada Windows App SDK nenahrazuje sadu Windows SDK. Místo toho je sada Windows App SDK doplňkem sady Windows SDK. Poskytuje pohodlnou a oddělenou abstrakci operačního systému kolem bohatého katalogu rozhraní API operačního systému Windows, ke kterým už máte přístup pomocí sady Windows SDK. Když vytváříte aplikace pomocí sady Windows App SDK, můžete nakonec použít některá rozhraní API sady Windows SDK v závislosti na funkcích, které potřebujete. V průběhu času se do sady Windows App SDK zvedne více funkcí sady Windows SDK.
Vytvářím nový tým pro vývoj aplikace jen pro Windows. Proč se mám rozhodnout vyvíjet s nativní architekturou Windows, jako je WinUI, WPF nebo WinForms?
Tady je několik důvodů, proč si pro aplikaci jen pro Windows vybrat nativní architekturu pro Windows:
- výkon : nativní architektury Windows jsou optimalizované tak, aby využívaly plnou sílu dnešního hardwaru Windows a poskytovaly rychlé a responzivní uživatelské prostředí.
- integrace : Systém Windows se dodává se širokou škálou rozhraní API pro vytváření sofistikovaných prostředí dostupných pouze ve Windows. Nativní architektury poskytují hlubokou integraci s těmito funkcemi a rozhraními API.
- nativní uživatelské prostředí: nativní architektury Windows poskytují konzistentní uživatelské prostředí na všech zařízeních s Windows, aby aplikace vypadala a skvěle fungovala na všech zařízeních s Windows.
- offline podpora: nativní architektury Windows poskytují podporu pro offline scénáře, což vaší aplikaci umožňuje pracovat i v případě, že uživatel není připojený k internetu.
- zpeněžení: nativní architektury Systému Windows jsou aktivně udržovány a podporovány společností Microsoft, abyste měli přístup k nejnovějším aktualizacím a funkcím.
Kterou architekturu mám použít k využití nejnovějších investic Microsoftu do vývoje aplikací pro Windows?
Pokud vytváříte novou aplikaci jen pro Windows, doporučujeme použít WinUI. WinUI je nejnovější nativní architektura uživatelského rozhraní pro vývoj aplikací pro Windows a je navržená tak, aby fungovala na různých zařízeních s Windows. WinUI poskytuje moderní a flexibilní architekturu uživatelského rozhraní, která umožňuje vytvářet vizuálně atraktivní a interaktivní aplikace pro Windows. WinUI je součástí sady Windows App SDK a je navržená tak, aby fungovala nejlépe s nejnovějšími verzemi Windows.
Můžu v existující aplikaci pro Windows používat sadu Windows App SDK / WinUI?
Všimněte si, že winUI (architektura uživatelského rozhraní) je dodávána se sadou Windows App SDK (architektura pro vývoj platforem pro Windows).
Obecně řečeno, Nemůžete použít WinUI, pokud nejste připraveni migrovat architekturu uživatelského rozhraní zcela. Pracujeme na funkci označované jako ostrůvky XAML, která umožňuje hostovat obsah WinUI v jiných architekturách uživatelského rozhraní (WPF, Win32).
V závislosti na tom, jak byla vaše stávající aplikace sestavená, byste měli být schopni používat prvky sady Windows App SDK v libovolné desktopové aplikaci. Windows App SDK nepodporuje aplikace pro UPW.
To znamená, že WPF/MFC/WinForms aplikace můžou používat rozhraní API sady Windows App SDK, která nesouvisí s WinUI. Mezi příklady takových rozhraní API patří životní cyklus aplikací, okna a informační oznámení.
Další informace najdete v tématu Použití sady Windows App SDK v existujícím projektu.
Potřebuji k vytváření aplikací WinUI používat Visual Studio?
K vývoji aplikací WinUI důrazně doporučujeme používat Visual Studio 2022 verze 17.10 a vyšší. Pomocí nejnovější verze sady Visual Studio získáte přístup k bohatým funkcím vývoje, jako je opětovné načítání za provozu. Nejnovější instalační programy sady Visual Studio zahrnují vývoj aplikací pro Windows úloh, což usnadňuje zahájení vývoje WinUI.
Možná budete moct používat jiné pracovní postupy integrovaného vývojového prostředí (IDE), ale visual studio je aktuálně jediné oficiálně podporované integrované vývojové prostředí (IDE) pro WinUI. Všimněte si, že MSBuildu se vyžaduje ke kompilaci projektů, které používají XAML nebo WinUI.
Když vytvářím aplikaci pomocí sady Windows App SDK a WinUI 3, vytvářím aplikaci WinUI?
Ano – aplikace WinUI je termín, který doporučujeme použít. Aplikace WinUI 3 se obecně označují jako "Aplikace WinUI", protože WinUI 2 není typ aplikace, ale sada komponent, které je možné použít v aplikacích pro UPW.
Můžu postupně aktualizovat aplikaci pro UPW ovládacími prvky WinUI 2 na WinUI 3 tak, že postupně nahradím komponenty WinUI 2 komponentami WinUI 3?
Ne. Windows App SDK nejde použít v aplikacích pro UPW a WinUI 2 se nedá kombinovat s WinUI 3. Viz Migrace z UPW do sady 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). V opačném případě budou náklady na migraci z UPW na WinUI záviset především na těchto faktorech:
- soubor projektu a přizpůsobení nástroje MSBuild: Migrace projektu může vyžadovat značné úsilí v závislosti na tom, jestli používáte pokročilé funkce NÁSTROJE MSBuild.
- migraci rozhraní .NET API: Pokud vaše aplikace pro UPW spoléhá na .NET, budete muset upgradovat na .NET 6 nebo novější. Ve většině případů je přechod na .NET 6 rovnou.
- knihovny komponent uživatelského rozhraní: Pokud používáte knihovny komponent uživatelského rozhraní, budete potřebovat nové verze, které cílí na WinUI 3.
- Pokud je zdrojový kód UPW napsaný v nově nahrazovaném C++/CX, bude se jednat o přenos některých zdrojových kódů. Viz Přesunout do C++/WinRT zC++/CX .
Další informace o migraci UPW najdete v tématu Migrace z UPW do sady 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, aniž byste museli aktualizovat identitu vaší aplikace. Uživatelé, kteří mají starou verzi, se aktualizují na novou verzi. Tyto pokyny platí jenom pro desktopové aplikace. Aplikace Xbox, HoloLens a Surface Hub se nedají migrovat na WinUI.
Jak zabalím nebo distribuuji aplikaci WinUI?
Kde najdu pokyny k migraci sady 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. Existuje ale mnoho výhod, které představují vaše uživatelské rozhraní WinUI ve formě deklarativních značek XAML, například vylepšené vývojářské prostředí.
Pokud migrujete z UPW na WinUI, pravděpodobně budete moct znovu použít spoustu kódu souvisejícího s kódem XAML a uživatelským rozhraním (ale budete muset aktualizovat některou syntaxi). Pokud migrujete z WPF na WinUI, budete moct znovu použít spoustu konceptů, ale sada ovládacích prvků a rozhraní API se budou lišit.
Má Visual Studio návrhovou plochu nebo návrhář uživatelského rozhraní pro WinUI?
Zatím ne. Uvědomujeme si, že se jedná o mezeru v prostředí pro vývojáře WinUI. Nástroje, jako je opětovné načítání XAML za provozu, můžou pomoct v mnoha scénářích. Práce začala v návrháři uživatelského rozhraní sady Visual Studio pro WinUI v sadě Windows App SDK 1.7, ale zatím neexistuje časová osa vydání této funkce.
Zahrnuje Sada Windows App SDK WinUI 3?
Ano. WinUI 3 se dodává jako součást sady Windows App SDK.
Zahrnuje Sada Windows App SDK WinUI 2?
Ne. WinUI 2 je součástí platformy UPW.
Jsou WinUI 2 a WinUI 3 postavené na stejné technologii?
Skoro. I když WinUI 3 začalo od základu kódu WinUI 2, jedná se o jedinečné technologie. WinUI 2 i WinUI 3 jsou architektury uživatelského rozhraní založené na XAML, které fungují napříč .NET a C++. Mějte na paměti, že WinUI 2 a WinUI 3 nejsou vzájemně kompatibilní.
Můžu používat WinUI 3 bez použití sady Windows App SDK?
Ne. WinUI 3 se dodává jako součást sady Windows App SDK.
Můžu použít WinUI 3 v rozbalené aplikaci?
Ano. Všechny technologie v sadě Windows App SDK fungují v rozbalených aplikacích, včetně WinUI 3.
Jaký je rozdíl mezi ostrovy XAML a WinUI 3?
Ostrovy XAML umožňují hostovat moderní ovládací prvky WinUI společně s existujícím uživatelským rozhraním Win32 z jiných architektur, jako jsou WinForms a WPF. V současnosti jsou ostrovy XAML podporovány většina systémových ovládacích prvků XAML a WinUI 2. Další informace najdete v tématu Hostování ovládacích prvků WinRT XAML v desktopových aplikacích (ostrovy XAML). Podpora ostrůvků XAML pro ovládací prvky WinUI 3 je dostupná od Windows App SDK 1.4.
Když vytvořím aplikaci WinUI, bude vypadat moderně jak ve Windows 11, tak ve 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.
Můžu v aplikacích vytvořených pomocí sady Windows App SDK používat pozadí Mica nebo Akryl?
Kde najdu ukázky WinUI?
Viz Ukázky a prostředky. Některá použitelná úložiště:
- WindowsAppSDK-Samples: Ukazuje, jak používat konkrétní sady rozhraní API sady Windows App SDK.
- ukázky WinUI 3: Obsahuje ukázky používané během prezentací WinUI od Microsoftu.
- Galerii WinUI: Prezentace WinUI a Sady Windows App SDK Galerii WinUI můžete získat také vMicrosoft Storu .
Pokud jsem již investoval hodně do WPF, mám nadále používat WPF nebo mám zvážit migraci na WinUI?
Pokud jste již investovali do WPF, můžete i nadále používat WPF pro stávající aplikace. WPF je vyspělá a stabilní architektura, kterou vývojáři běžně používají k vytváření desktopových aplikací pro Windows.
Zvažte využití pomocníka pro upgrade .NET k migraci aplikací WPF rozhraní .NET Framework na nejnovější platformu .NET. Pomocník pro upgrade .NET je nástroj, který vám pomůže migrovat aplikace .NET Framework do nejnovějších podporovaných verzí .NET. Pomocník pro upgrade platformy .NET analyzuje existující základ kódu a poskytuje pokyny k aktualizaci kódu.
Pokud vytvořím novou aplikaci WPF, bude vypadat jako datovaná v porovnání s jinými novými aplikacemi pro Windows?
Při vývoji aplikace WPF pomocí .NET 9 nebo novějšího můžete zajistit, aby vaše aplikace odpovídala elegantnímu a modernímu vzhledu Windows 11. Nový motiv Fluent pro WPF představuje moderní estetický systém Windows 11 aplikací WPF, doplněný integrovaným režimem světlého/tmavého režimu a podporou barev zvýraznění systému. Tato aktualizace nejen modernizuje vzhled aplikace, ale také vylepšuje zapojení uživatelů tím, že poskytuje elegantní a soudržné uživatelské prostředí.
Můj tým je pohodlný sestavování aplikací WinForms a vyhovuje našim potřebám. Měli bychom zvážit migraci na WinUI nebo jinou architekturu?
Pokud je váš tým pohodlný a vyhovuje vašim potřebám vytváření aplikací WinForms a WindForms, můžete i nadále používat WinForms pro stávající aplikace. WinForms je vyspělá a stabilní architektura, kterou vývojáři běžně používají k vytváření desktopových aplikací pro Windows.
Tým WinForms investoval do různých funkcí a má aktivní komunitu přispěvatelů. Mezi současné oblasti investic patří:
- Podpora asynchronních dat s běžnými ovládacími prvky
- Tmavý režim
- Flexibilita rozložení
- Funkce zabezpečení plochy, jako je přístup ke schránce
Vývoj nativních pro různé platformy
Jaké 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:
- Reach: Vytváření multiplatformních aplikací umožňuje oslovit větší cílovou skupinu uživatelů na různých platformách.
- opětovné použití kódu: Vytváření multiplatformních aplikací umožňuje opakovaně používat kód na různých platformách, což zkracuje dobu vývoje a náklady. Vytváření samostatných aplikací pro Windows, iOS, Android, macOS atd.
- Konzistentní uživatelské prostředí: Vytváření multiplatformních aplikací umožňuje poskytovat konzistentní uživatelské prostředí na různých platformách a zajistit, aby vaše aplikace vypadala a fungovala skvěle na všech zařízeních.
- integrace : Vytváření multiplatformních aplikací umožňuje integraci s různými platformami a službami, což vám umožní poskytovat komplexnější uživatelské prostředí.
Můžu si být jistá, že aplikace .NET MAUI budou dobře fungovat ve Windows?
Když sestavíte aplikaci .NET MAUI pro Windows, vaším výstupem je aplikace WinUI. Při vývoji poskytuje rozhraní .NET MAUI jediné prostředí .NET na všech platformách, včetně Windows, ale pod kapotou, generuje kód specifický pro platformu. Tím zajistíte, že vaše aplikace .NET MAUI funguje dobře na každé platformě a poskytuje nativní uživatelské prostředí.
Jak může rozhraní .NET MAUI poskytovat nativní rozhraní API zařízení na všech platformách?
.NET MAUI poskytuje jedno prostředí .NET na všech platformách, včetně Windows, iOS, Androidu a macOS. .NET MAUI abstrahuje více než 60 rozhraní API specifických pro platformu do jednoho multiplatformních rozhraní API, které můžete použít ve své aplikaci .NET MAUI. Tato rozhraní API pokrývají přístup k úložišti, sítím, senzorům specifickým pro zařízení a dalším účelům. V případě potřeby můžete také přistupovat k dalším rozhraním API pro konkrétní platformu pomocí injektáže závislostí a abstraktovat kód pro každou platformu.
Můžu začít s WinUI a později integrovat rozhraní .NET MAUI, pokud chci nakonec cílit na scénáře pro různé platformy?
V tuto chvíli ne. I když aplikace .NET MAUI používají WinUI při spouštění ve Windows, doporučujeme začít s .NET MAUI nebo React Native pro Desktop, pokud předpokládáte, že je potřeba cílit na více platforem.
Náš tým má silné webové front-endové vývojové dovednosti. Měli bychom zvážit použití React Native pro Desktop?
Pokud má váš tým silné dovednosti vývoje pro web, můžete zvážit použití React Native pro Desktop. React Native for Desktop zahrnuje rozhraní macOS
Váš tým může využít své dovednosti JavaScriptu, TypeScriptu a Reactu k vytvoření vrstvy uživatelského rozhraní, která se vykresluje přímo nativním primitivům. To poskytuje výkon nativních aplikací a přístup k možnostem nativní platformy.
Další informace o tom, jak začít s vývojem react native pro Windows, najdete v dokumentaci k React Native for Desktop.
Podporuje React Native for Desktop nějaká další zařízení s Windows?
Aplikace React Native je možné nasadit na všechna zařízení podporovaná systémem Windows 10 a vyšší, včetně počítačů, tabletů, 2 v-1s, Xboxu a zařízení hybridní reality.
Co mám použít, když chci vytvářet aplikace, které fungují na Windows a Xboxu?
Pokud vaše aplikace potřebuje podporovat Xbox, HoloLens nebo IoT, doporučujeme používat UPW. Sada Windows App SDK tyto platformy nepodporuje. Pro vývoj her doporučujeme používat Microsoft Game Development Kit.
Co mám použít, když chci vytvářet aplikace, které fungují na Windows a Surface Hubu?
Pokud cílíte na Windows i Surface Hub, doporučujeme používat UPW.
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í. Jádro aplikace je vytvořené pomocí webových technologií, jako jsou HTML, CSS a JavaScript, a poté zabalené do nativního kontejneru, který aplikaci umožňuje využívat určité funkce a hardware nativní platformy. Dají se také distribuovat prostřednictvím obchodů s aplikacemi.
Hlavní výhodou hybridních aplikací je, že 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. Některé příklady odpovědí na platformy pro vývoj hybridních aplikací:
- Elektron pro desktopové aplikace
- Ionic pro mobilní aplikace
- Hybridní rozhraní .NET MAUI Blazor pro multiplatformní aplikace
Jak ve Windows vytvořím progresivní webové aplikace s nativním pocitem?
Co je hybridní aplikace .NET MAUI Blazor?
S .NET MAUI můžou aplikace Blazor běžet také nativně ve Windows, iOSu, Androidu a macOS. To znamená, že můžete vytvářet hybridní klientské aplikace, které kombinují komponenty Blazor a .NET MAUI do jedné nativní klientské aplikace. To poskytuje úplný přístup ke stejným možnostem nativní platformy, které jsou k dispozici pro všechny ostatní aplikace .NET MAUI.
Další informace o tom, jak může Blazor hostovat v aplikaci .NET MAUI, najdete v tématu ASP.NET Core Blazor Hybrid.
Je potřeba vytvořit webové komponenty hybridní aplikace .NET MAUI pomocí Blazoru?
Ne, webové komponenty hybridní aplikace .NET MAUI není potřeba vytvářet pomocí Blazoru. Od .NET 9 poskytuje rozhraní .NET MAUI ovládací prvek HybridWebView, který umožňuje hostovat další javascriptové uživatelské rozhraní ve vaší nativní aplikaci.
To znamená, že můžete vzít webovou aplikaci Angular, React, Vue nebo jinou webovou aplikaci HTML & JavaScript a hostovat ji v aplikaci .NET MAUI. Hybridní ovládací prvek poskytuje interoperabilitu mezi vrstvami jazyka C# a JavaScript, abyste mohli volat funkce JavaScriptu z jazyka C# a naopak.
Mohou některé jiné nativní typy aplikací hostovat hybridní komponenty Blazor?
Ano, aplikace WPF a WinForms můžou také hostovat hybridní komponenty Blazor. Díky tomu můžete do stávajících aplikací WPF a WinForms přidat moderní komponenty webového uživatelského rozhraní. Všimněte si, že to není možné u aplikací WPF nebo WinForms založených na rozhraní .NET Framework.
Musí být celá moje aplikace hybridní nebo můžu kombinovat nativní a hybridní komponenty?
V aplikaci můžete kombinovat a shodovat nativní a hybridní komponenty. Můžete například vytvořit jádro aplikace pomocí komponent .NET MAUI a pak přidat hybridní komponenty pro zajištění dalších funkcí. To vám umožní využít to nejlepší z obou světů: výkon a možnosti nativních komponent a flexibilitu a úsporu nákladů hybridních komponent.
Jaké jsou moje volby pro budovu . Webové aplikace založené na technologii NET, které vypadají skvěle v moderních prohlížečích ve Windows?
Webové aplikace mají nejširší dosah jakékoli klientské platformy aplikací. Pokud chcete vytvořit krásné webové aplikace .NET ve Windows, máte několik možností:
- ASP.NET základních aplikací pomocí Razor Pages
- aplikace ASP.NET Core MVC
- ASP.NET aplikací Core Blazor s možnostmi modelu hostování, mezi které patří:
- Aplikace Blazor WebAssembly
- Aplikace Blazor Serveru
Všimněte si, že model hostování pro Blazor je teď možné nakonfigurovat na úrovni komponenty. Proto můžete mít komponentu Blazor WebAssembly hostované v aplikaci Blazor Server.
Další informace o možnostech vývoje ASP.NET Core najdete v dokumentaci
Volba přístupu a pochopení investic Microsoftu
Existuje tolik možností 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 při rozhodování, kterou platformu použít:
- Vytváříte windows jako první nebo pro různé platformy?
- Máte zkušenosti s .NET? JavaScript? Jiné jazyky?
- Potřebujete získat přístup k rozhraním API specifických pro Windows?
- Které možnosti architektury nejlépe odpovídají požadavkům vaší aplikace?
- Další rozhodovací faktory najdete v této tabulce.
Pokud jde o obchodní aplikace, většina týmů si chce vybrat na základě stávajících dovedností a toho, co tým používá.
Jak vyberu nejlepší přístup pro vývoj pro svou webovou aplikaci?
Při výběru přístupu pro vývoj pro webovou aplikaci je potřeba vzít v úvahu některé věci:
- Blazor se doporučuje pro vytváření front-endových webových aplikací pomocí .NET. Pomocí Blazoru teď můžete vytvořit celý front-end a back-end pomocí .NET, což šetří čas a peníze. Je obzvláště vhodná pro podnikové obchodní aplikace na dnešních zařízeních.
- Webové aplikace v JavaScriptu stále mají smysl, pokud chcete využít stávající dovednosti nebo investice vašeho týmu do JavaScriptu, nebo pokud potřebujete integraci se stávajícími javascriptovými knihovnami nebo architekturami.
- Stávající aplikace, které používají starší architektury, jako jsou webové formuláře, MVC nebo Razor Pages, se stále podporují a dají se dál vyvíjet a udržovat pomocí těchto architektur.
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í pro Windows.
- Apple vytvořil Apple Music, Apple TVa zařízení Apple aplikace pomocí WinUI a sady Windows App SDK.
Microsoft také vytvořil několik aplikací s WinUI, včetně Průzkumníka souborů Windows 11 a aplikací Fotky.
Kdo dnes vytváří aplikace .NET MAUI?
Řada zákazníků dnes používá rozhraní .NET MAUI k vytváření multiplatformních aplikací, včetně Microsoftu. Například mobilní aplikace Microsoft Azure byla vytvořena pomocí rozhraní .NET MAUI.
Zjistěte, kdo další vytváří aplikace pomocí rozhraní .NET MAUI na zákazníků .NET, kteří předvádějí web.
Kdo dnes vytváří aplikace WPF?
Většina uživatelského rozhraní sady Microsoft Visual Studio je vytvořená pomocí WPF. integrované vývojové prostředí (IDE) sady Visual Studio je skvělým příkladem komplexní vysoce výkonné aplikace WPF.
Kdo dnes vytváří aplikace Blazor?
Systém letecké společnosti GE Digital FlightPulse ukládá data a analýzy snímačů do rukou pilotních projektů, aby se zlepšila bezpečnost a efektivita. Konfigurace back-endu všeho, co piloti uvidí, je všechno hotové s Blazorem.
Další informace příběhy zákazníků Blazor na webu .NET.
UPW a WinUI 2
Dají se aplikace pro UPW distribuovat mimo Microsoft Store?
Ano. Pokud je váš balíček MSIX podepsaný, musí být podpisový certifikát platný a důvěryhodný na cílovém zařízení.
Můžu kombinovat ovládací prvky uživatelského rozhraní XAML pro UPW s ovládacími prvky uživatelského rozhraní Win32, WPF nebo WinForms?
Ano – ostrovy XAML vám to umožní. Přečtěte si další informace oXAML Islands .
Balení, nasazení a aktualizace
Jaký je rozdíl mezi aplikacemi, které jsou zabalené, rozbalené a zabalené s externím umístěním?
Definice aplikací zabalených, rozbalených a zabalených s externím umístěním najdete v tématu Přehled nasazení. Toto téma také vysvětluje výhody a nevýhody jednotlivých možností.
Aktualizuje se moje aplikace WinUI pro koncové uživatele automaticky?
Aplikaci WinUI je možné doručovat prostřednictvím Storu, souboru .appinstaller nebo ve stávajícím balíčku MSI nebo setup.exe. Store a AppInstaller podporují automatické aktualizace pro koncové uživatele, kteří mají povolenou automatickou aktualizaci, ale vaše MSI/setup.exe aplikace musí mít vlastní aktualizátor.
Můžu používat sadu Windows App SDK bez použití nástroje MSBuild?
Obecně řečeno, ne. Sada WinUI a Sada Windows App SDK vyžadují MSBuild, což je důvod, proč visual studio předpokladem pro vývoj pomocí winUI a sady Windows App SDK. I když je technicky možné vytvářet aplikace sady Windows App SDK, které nepoužívají WinUI pomocí jiných sad nástrojů, není to podporované.
Výkon a optimalizace
Co můžu udělat, aby se aplikace pro Windows cítila skvěle koncovým uživatelům?
Podívejte se na Vytváření skvělých aplikací pro Windows.
Kompatibilita
Budou moji uživatelé někdy muset aktualizovat Windows tak, aby používali moji aplikaci WinUI?
Uživatelé, kteří mají Windows 10 verze 1809 a novější, budou moct nainstalovat aplikace WinUI bez aktualizace operačního systému.
Můžu cílit na Arm64 pomocí aplikace WinUI?
Ano.
Vyřazení a migrace
Jsou UPW / WinUI 2 zastaralé?
Ne. UWP a WinUI 2 jsou stále podporovány a budou dostávat chyby, spolehlivost a opravy zabezpečení. Většina nových funkcí a možností se ale přidá jenom do WinUI 3.
Poznámka
Podpora UPW pro .NET 9 je dostupná ve verzi Preview. Tato podpora preview poskytuje cestu pro aplikace pro UPW k modernizaci pomocí nejnovější verze .NET.
Podpora upW pro .NET 9 má dva hlavní cíle. Za prvé poskytuje lepší způsob migrace pro vývojáře UPW, kteří chtějí migrovat na WinUI 3. Za druhé umožňuje vývojářům odebrat závislosti na .NET Native, aby mohli využívat nejnovější funkce .NET a C# bez ohledu na to, co je model aplikace.
Další informace najdete v modernizace aplikace pro UPW s podporou upW ve verzi Preview pro .NET 9 a nativní příspěvek na blogu AOT.
Kdy mám migrovat aplikaci pro UPW / WinUI 2 na WinUI 3?
Vývojáři UPW by neměli mít žádný tlak na migraci svých aplikací na WinUI 3, pokud jsou spokojení s UPW a jeho sadou funkcí. Nejlepší volbou pro některé aplikace nemusí být nikdy migrovat. U aplikací, které chtějí těžit z nejnovější platformy Windows a investic do .NET od Microsoftu, by tyto aplikace měly zvážit přechod na sadu Windows App SDK. Viz Migrace z UPW do sady Windows App SDK).
Kdy mám *ne* migrovat aplikaci UPW + WinUI 2 na WinUI 3?
Pokud vytváříte Xbox, Surface Hub nebo HoloLens, doporučujeme dál používat UPW.
Je WPF zastaralé?
Ne. WPF se stále podporuje, doporučuje a přijímá také aktualizace funkcí. Podívejte se na plán WPF na GitHubu.
Je WinForms zastaralý?
Ne. WinForms je stále podporován a přijímá aktualizace funkcí. Podívejte se na plán Windows Forms Roadmap na GitHubu.
Je prostředí Windows Runtime (WinRT) zastaralé?
Ne. WinRT odkazuje na binární rozhraní aplikace (ABI), které umožňuje interoperabilitu mezi více jazyky. WinRT je vývoj modelu COM. Sada Windows App SDK poskytuje většinu funkcí prostřednictvím rozhraní API WinRT.
Poznámky
Kde najdu poznámky k verzi sady Windows App SDK?
Přečtěte si poznámky k verzi stabilního kanálu a poznámky k verzi kanálu Preview.