Úvod do psaní aplikací pro Windows

Dokončeno

Co budeme krýt?

V tomto modulu se naučíte psát stejnou aplikaci třemi různými způsoby pomocí tří různých technologií Windows. Používáte jazyk C#, ale zkombinujete ho se třemi vývojovými architekturami: Univerzální platforma Windows (UPW), Windows Presentation Foundation (WPF) a model Windows Forms.

Pak představíme Windows Template Studio (WTS) a uvidíte, jak rychle můžete vytvořit jádro moderní aplikace s minimálním úsilím.

Příběh tří platforem

V průběhu let vedly různé technologie a požadavky k vývoji mnoha způsobů psaní aplikací, které běží ve Windows. Cíl byl vždy stejný: pomozte vývojářům vytvořit uživatelské rozhraní a vygenerovat základní často používaný kód, aby mohli přidat jedinečné funkce, díky kterým budou jejich aplikace užitečné. Nikdo nechce napsat kód, který zobrazuje pixel textu nebo nakreslí obrazce, které tvoří nabídku nebo okno. Vývojáři chtějí mít konzistentní, prověřený a spolehlivý kód, který zpracovává všechny tyto funkce (a mnohem více!) už k dispozici.

Microsoft tak vytvořil mnoho nástrojů a knihoven. Tři, na které se podíváme v tomto studijním programu, jsou UPW, WPF a model Windows Forms. Všechny tři poskytují podobné přístupy k vytváření základních aplikací.

Diagram that shows some of the development platforms available in Visual Studio, such as UWP, WPF, and Windows Forms.

Univerzální platforma Windows

Windows 10 představil Univerzální platforma Windows (UPW), která poskytuje společnou aplikační platformu na všech zařízeních s Windows. Základní rozhraní API UPW jsou stejná na všech zařízeních s Windows. Pokud vaše aplikace používá jenom základní rozhraní API, běží na jakémkoli zařízení s Windows 10, ať už jde o stolní počítač, Xbox, náhlavní soupravu hybridní reality nebo něco jiného.

UPW je nejlepší, pokud cílíte na Windows a chcete nečleněný přístup k rozhraním API a funkcím Windows. UpW také poskytuje další výhody moderní aplikační platformy. Mezi tyto výhody patří:

  • Model uživatelského rozhraní založený na jazyku XAML (Extensible Application Markup Language) s integrovanou podporou přizpůsobení se změnám DPI a velikosti obrazovky.
  • Model zabezpečení, ve kterém uživatelé explicitně udělí aplikacím přístup k možnostem zařízení.
  • Model balení, který podporuje čisté instalace a schopnost publikovat přímo do Microsoft Storu.

Windows Presentation Foundation

Windows Presentation Foundation (WPF) je architektura uživatelského rozhraní pro vytváření desktopových klientských aplikací. Vývojová platforma WPF podporuje širokou škálu funkcí vývoje aplikací, mezi které patří:

  • Aplikační model
  • Zdroje informací
  • Ovládací prvky
  • Grafika
  • Rozložení
  • Datová vazba
  • Dokumenty
  • Zabezpečení

Je součástí knihoven specifických pro Windows v .NET, takže pokud jste už vytvořili aplikace s .NET pomocí ASP.NET Core nebo model Windows Forms, měli byste mít zkušenosti s programováním. WPF používá XAML k poskytnutí deklarativního modelu pro programování aplikací.

WPF a model Windows Forms jsou nejlepší, pokud chcete mít vyšší úroveň produktivity kódování než C++ a Win32. Vzhledem k tomu, že části moderního rozhraní .NET, které nejsou součástí uživatelského rozhraní, jsou teď multiplatformní, můžete také sdílet kód a knihovny .NET s jinými platformami, včetně macOS a Linuxu.

Windows Forms

model Windows Forms je opensourcové grafické uživatelské rozhraní pro .NET, standardní sada knihoven základních tříd a rozhraní API, která zjednodušují běžné úlohy aplikací. Když používáte vývojové prostředí, jako je Visual Studio, můžete vytvářet model Windows Forms inteligentních klientských aplikací, které zobrazují informace, požadují vstup od uživatelů a komunikují se vzdálenými počítači přes síť. Aktuální platforma model Windows Forms je založená na starší platformě uživatelského rozhraní .NET Framework a chybí některé z funkcí poskytovaných WPF a UPW.

Tyto tři platformy jsou předmětem našeho zaměření v tomto výukovém modulu. Než ale začneme, pojďme se rychle podívat na dvě další možnosti: WinUI a Win32.

WinUI a Sada Windows App SDK

WinUI 3 je nativní komponenta platformy uživatelského rozhraní, která se dodává se sadou Windows App SDK (oddělenou od sady Windows SDK ). Sada Windows App SDK poskytuje jednotnou sadu rozhraní API a nástrojů, které je možné použít k vytváření produkčních desktopových aplikací, které cílí na Windows 10 a novější, a je možné je publikovat do Microsoft Storu.

Poznámka:

V tuto chvíli existují dvě generace knihovny uživatelského rozhraní systému Windows (WinUI): WinUI 2 pro UPW a WinUI 3 v sadě Windows App SDK. I když je možné obojí použít v aplikacích připravených pro produkční prostředí ve Windows 10 a novějších verzích, každý z nich má různé vývojové cíle. Viz porovnání WinUI 3 a WinUI 2.

Nemůžeme mluvit o psaní aplikací pro Windows bez zmínky o jedné další možnosti: Win32.

Win32 (Windows API) a C++

Rozhraní API Win32 (přesněji označované jako rozhraní API systému Windows) umožňuje aplikacím používat funkce Systému Windows. Pomocí tohoto rozhraní API můžete vyvíjet aplikace, které se úspěšně spouštějí ve všech verzích Windows, a přitom využívat funkce a možnosti jedinečné pro každou verzi. Win32 je dobrou volbou, pokud potřebujete dosáhnout nejvyšší úrovně výkonu nebo efektivity, přístupu k nativním funkcím operačního systému nebo cílových technologií DirectX.

Tento přístup umožňuje dosáhnout nejlepšího výkonu pro vaši aplikaci tím, že převezme přímou kontrolu nad přidělováním paměti a funkcemi procesoru orientovanými na výkon, jako jsou instrukce SSE nebo AVX. Je to nejlepší způsob, jak cílit na technologie DirectX pro přístup k grafikě nízké úrovně. Kód C++ můžete sdílet mezi všemi typy aplikací pro Windows a s platformami jiných než Windows. Nevýhodou je, že například v porovnání s C# a WPF může trvat poměrně velké množství práce k implementaci i základních funkcí.

Poznámka:

Další informace najdete v tématu Psaní aplikací pro Windows: Výběr vývojové technologie.

Aplikace, kterou píšete

Aplikace, kterou v tomto modulu vytvoříte, je jednoduchá. Při výběru tlačítka se zobrazí nějaký text a změní některé barvy.

Animation of the Say hello application running with text that repeatedly changes color.

Nevyhraje žádné ocenění, ale ukazuje podobnosti a rozdíly mezi vývojovými platformami.

Až budete mít výplň, můžete přejít k vyzkoušení sady Windows Template Studio. S WTS vytvoříte aplikaci, která vypadá trochu působivěji.

Screenshot that shows a composite of three different pages of a Weather application: a map, chart, and settings page.

Jste připravení začít?