Bevezetés a Windows-alkalmazások írásába

Befejeződött

Mit fogunk fedezni?

Ebben a modulban megtanulhatja, hogyan írhatja ugyanazt az alkalmazást három különböző Módon, három különböző Windows-technológia használatával. A C#-ot használja, de három fejlesztési keretrendszerrel kombinálja: a Univerzális Windows-platform (UWP), a Windows megjelenítési alaprendszer (WPF) és a Windows Forms.

Ezután bemutatjuk a Windows Template Studio (WTS) alkalmazást, és láthatja, milyen gyorsan hozhatja létre egy modern alkalmazás magját minimális erőfeszítéssel.

Három platform története

Az évek során különböző technológiák és követelmények vezettek a Windowson futó alkalmazások írásának számos módjának fejlesztéséhez. A cél mindig ugyanaz volt: segítsen a fejlesztőknek egy felhasználói felület létrehozásában és alapvető sablonkód létrehozásában, így az alkalmazásokat hasznossá tevő egyedi funkciókat adhatnak hozzá. Senki sem szeretne olyan kódot írni, amely képpontonként jeleníti meg a szöveg képpontjait, vagy megrajzolja a menüt vagy ablakot alkotó alakzatokat. A fejlesztők olyan konzisztens, bevált, megbízható kódra vágynak, amely már képes kezelni ezeket a funkciókat (és még sok mást!).

Ennek érdekében a Microsoft számos eszközt és kódtárat hozott létre. Ebben a képzési tervben a következő három témakört fogjuk megvizsgálni: UWP, WPF és Windows Forms. Mindhárom hasonló megközelítést kínál az alapszintű alkalmazások létrehozásához.

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

Universal Windows Platform

A Windows 10 bevezette a Univerzális Windows-platform (UWP), amely minden Windowst futtató eszközön általános alkalmazásplatformot biztosít. Az UWP core API-k minden Windows-eszközön azonosak. Ha az alkalmazás csak az alapvető API-kat használja, akkor bármilyen Windows 10-eszközön fut, legyen szó asztali PC-ről, Xboxról, vegyes valóságú headsetről vagy valami másról.

Az UWP akkor a legjobb, ha a Windowst célozza, és korlátlan hozzáférést szeretne a Windows API-khoz és szolgáltatásokhoz. Az UWP a modern alkalmazásplatform egyéb előnyeit is biztosítja. These benefits include:

  • Bővíthető alkalmazásjelölési nyelv (XAML)-alapú felhasználói felületi modell beépített támogatással a DPI és a képernyőméret változásaihoz való alkalmazkodáshoz.
  • Biztonsági modell, amelyben a felhasználók kifejezetten hozzáférést biztosítanak az alkalmazásoknak az eszköz képességeihez.
  • Olyan csomagolási modell, amely támogatja a tiszta telepítéseket, és lehetővé teszi, hogy közvetlenül közzétegye a Microsoft Store-ban.

Windows Presentation Foundation

A Windows megjelenítési alaprendszer (WPF) egy felhasználói felületi keretrendszer asztali ügyfélalkalmazások létrehozásához. A WPF fejlesztői platform számos alkalmazásfejlesztési funkciót támogat, többek között a következőket:

  • Alkalmazásmodell
  • Források
  • Controls
  • Grafika
  • Elrendezés
  • Adatkötés
  • Dokumentumok
  • Biztonság

Ez a .NET-ben a Windows-specifikus kódtárak része, ezért ha már létrehozott alkalmazásokat a .NET-hez ASP.NET Core vagy Windows Forms használatával, a programozási felületnek ismerősnek kell lennie. A WPF XAML használatával deklaratív modellt biztosít az alkalmazás programozásához.

A WPF és a Windows Forms akkor a legjobb, ha magasabb szintű kódolási hatékonyságot szeretne elérni, mint a C++ és a Win32. Mivel a modern .NET nem felhasználói felületi részei mostantól platformfüggetlenek, bizonyos .NET-kódokat és kódtárakat más platformokkal is megoszthat, beleértve a macOS-t és a Linuxot is.

Windows Forms

A Windows Forms egy nyílt forráskódú grafikus felhasználói felület a .NET-hez, amely alaposztálykódtárak és API-k standard készlete, amely leegyszerűsíti a gyakori alkalmazásfeladatokat. Ha olyan fejlesztői környezetet használ, mint a Visual Studio, létrehozhat olyan Intelligens Windows Forms-alkalmazásokat, amelyek információkat jelenítenek meg, adatokat kérnek a felhasználóktól, és hálózaton keresztül kommunikálnak a távoli számítógépekkel. A jelenlegi Windows Forms platform egy régebbi .NET-keretrendszer felhasználói felületi platformon alapul, és nem rendelkezik a WPF és az UWP által biztosított funkciók némelyikével.

Ebben a képzési modulban ez a három platform áll a fókuszban. Az első lépések előtt azonban vessünk egy pillantást két másik lehetőségre: a WinUI-ra és a Win32-re.

WinUI és a Windows-alkalmazás SDK

A WinUI 3 a felhasználói felület natív platformösszetevője, amely a Windows-alkalmazás SDK szállít (a Windows SDK-tól leválasztva). A Windows-alkalmazás SDK egységes API-kat és eszközöket biztosít, amelyek a Windows 10-et és újabb verziót célzó éles asztali alkalmazások létrehozásához használhatók, és közzétehetők a Microsoft Store-ban.

Megjegyzés:

Jelenleg a Windows felhasználói felületi könyvtár (WinUI) két generációja van: a WinUI 2 for UWP és a WinUI 3 a Windows-alkalmazás SDK. Bár mindkettő használható éles használatra kész alkalmazásokban Windows 10-en és újabb verziókban, mindegyik különböző fejlesztési célokkal rendelkezik. Lásd a WinUI 3 és a WinUI 2 összehasonlítását.

Nem beszélhetünk Windows-alkalmazások írásáról anélkül, hogy megemlítenénk még egy lehetőséget: a Win32-t.

Win32 (Windows API) és C++

A Win32 API (pontosabban a Windows API) lehetővé teszi az alkalmazások számára a Windows funkcióinak használatát. Ezzel az API-val olyan alkalmazásokat fejleszthet, amelyek sikeresen futnak a Windows összes verzióján, miközben továbbra is kihasználják az egyes verziókra jellemző funkciókat és képességeket. A Win32 jó választás, ha a legmagasabb szintű teljesítményt vagy hatékonyságot kell elérnie, natív operációsrendszer-funkciókat kell elérnie, vagy meg kell céloznia a DirectX-technológiákat.

Ez a megközelítés lehetővé teszi, hogy a lehető legjobb teljesítményt érje el az alkalmazás számára, ha közvetlen vezérlést alkalmaz a memóriafoglalás és a teljesítményorientált CPU-funkciók, például az S Standard kiadás vagy az AVX utasítások felett. Ez a legjobb módja annak, hogy a DirectX-technológiákat alacsony szintű, nagy teljesítményű grafikus hozzáféréshez célozza meg. A C++ kódot minden típusú Windows-alkalmazás és nem Windows-platform között megoszthatja. A kompromisszum az, hogy például a C#-hoz és a WPF-hez képest elég sok munkát igényel, hogy még az alapvető funkciókat is megvalósítsa.

Megjegyzés:

További információ: Alkalmazások írása Windowshoz: Fejlesztési technológia kiválasztása.

Az ön által írt alkalmazás

A modulban létrehozandó alkalmazás egyszerű. Megjelenít néhány szöveget, és módosít néhány színt, amikor kiválaszt egy gombot.

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

Nem fog díjakat nyerni, de bemutatja a hasonlóságokat és a különbségeket a fejlesztői platformok között.

Miután kitöltötte a kitöltést, továbbléphet a Windows Template Studio kipróbálására. A WTS használatával egy kicsit lenyűgözőbbnek tűnő alkalmazást hozhat létre.

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

Ismerje meg.