Megosztás a következőn keresztül:


A keretrendszer beállításainak áttekintése

Ez a cikk a Windows-alkalmazások létrehozásának megkezdéséhez szükséges információkat tartalmazza.

A Windows számos nyelvet, keretrendszert és eszközt kínál az alkalmazások létrehozásához, beleértve a WinUI-t, a React Native for Desktopot, a WPF-t, a C++-ot, a C#-ot, a .NET-t és számos platformfüggetlen keretrendszert. Itt információkat nyújtunk, amelyek segítenek eldönteni, hogy melyik lehetőség a legjobb az Ön számára.

WinUI

WinUI embléma.

Javasoljuk, hogy a WinUI és a Windows App SDK olyan alkalmazásokat hozzon létre, amelyek nagyszerűen néznek ki, és kihasználják a legújabb Windows-kiadásokat. Ha még csak most ismerkedik a Windows-fejlesztéssel, vagy új Windows-alkalmazáson kezd dolgozni, a WinUI biztosítja a Windows 11-hez készült nagyszerű alkalmazások létrehozásához szükséges erőforrásokat.

A WinUI egy XAML jelölőalapú felhasználói felületi réteg, amely modern vezérlőket és stílusokat tartalmaz a Windows-alkalmazások létrehozásához. A Windows App SDK natív felhasználói felületi rétegeként a Fluent Designt jeleníti meg, így minden Windows-alkalmazásnak olyan kifinomult hangulatot ad, amit az ügyfelek elvárnak.

Megjegyzés:

A Windows App SDK olyan új fejlesztői összetevők és eszközök készlete, amelyek a Windows alkalmazásfejlesztési platform legújabb fejlődését képviselik. A Windows App SDK egységes API-kat és eszközöket biztosít, amelyeket az asztali alkalmazások konzisztensen használhatnak a Windows 11-en és a Windows 10 1809-es verziójától kezdődően.

Bár a WinUI a natív felhasználói felületi réteg, a Windows App SDK-t WPF, WinForms vagy Win32 alkalmazásokkal is használhatja. Ha korábban már fejlesztett alkalmazásokat a Windowshoz, de egy meglévő alkalmazásban szeretné elkezdeni a Windows App SDK használatát, tekintse meg a Keretrendszerre vonatkozó útmutatókat.

React Native asztali számítógépre

A React Native egy olyan fejlesztési platform, amely lehetővé teszi a platformfüggetlen alkalmazások készítését. A React Native for Desktop magában foglalja a Windowshoz és a macOS-hez készült React Native-t, így a React Natív támogatást nyújt a Windows SDK-hoz. A React Native for Desktop segítségével JavaScript használatával natív Windows-alkalmazásokat hozhat létre a Windows 10 és a Windows 11 által támogatott összes eszközhöz. Ide tartoznak a pc-k, táblagépek, 2 az 1-ben, Xbox, Mixed Reality eszközök stb.

A React Native for Desktop használatával javaScriptben vagy TypeScriptben írhatja az alkalmazás kódját, és a keretrendszer natív UWP XAML-alkalmazást hoz létre. Ha az alkalmazásnak platform API-t kell meghívnia, ezt általában aközösségi modulok egyikén keresztül teheti meg, vagy ha egy modul még nem létezik, egyszerűen írni egy natív modult, hogy elérhetővé tegye.

Az alábbiakban néhány okot talál a React Native for Desktop kiválasztására:

  • A kódot a lehető legtöbb platformon szeretné megosztani, vagy olyan webes tulajdonságokkal rendelkezik, amelyekkel meg szeretné osztani a kódot.
  • A gyors frissítésnek köszönhetően javult a fejlesztői hatékonyság és a belső hurok.
  • Az alkalmazás alapjai (teljesítmény, akadálymentesség, nemzetköziesítés) ugyanolyan jók, mint egy natív UWP-alkalmazás.
  • Tapasztalata van a JavaScript vagy a TypeScript használatában, és előnyben részesíti
  • JavaScript-alapú könyvtárakat szeretne használni a(z) npmjs.comoldalon, és sok natív könyvtárat is.
  • Az alkalmazás a natív vezérlőket, a vizuális megjelenést, az animációkat és a színeket fogja használni, ezért integrálva fogja érezni magát a Windowsban használt tervezési nyelvbe. Emellett a React Native asztali alkalmazásoknak nem kell veszélybe sodorniuk a meghívható API-k készletét, mivel a keretrendszer lehetővé teszi a platform API-k meghívását, valamint saját nézetkezelők és natív modulok írását.
  • Növekvő közösségi aktivitás sok közösségi modulsegítségével.

A React Native for Desktopról az alábbi hivatkozásokon talál további információt:

WPF (Windows Presentation Foundation)

A WPF egy jól bevált keretrendszer a .NET-hez vagy a .NET-keretrendszerhez hozzáféréssel rendelkező asztali Windows-alkalmazásokhoz. A WinUI-hoz hasonlóan XAML-korrektúra használatával is elválasztja a felhasználói felületet a kódtól. A WPF az alkalmazásfejlesztési funkciók átfogó készletét kínálja, amely magában foglalja a vezérlőket, az adatkötést, az elrendezést, a 2D és a 3D ábrákat, az animációt, a stílusokat, a sablonokat, a dokumentumokat, a médiatartalmakat, a szöveget és a tipográfiát. A WPF a .NET része, így olyan alkalmazásokat hozhat létre, amelyek a .NET API más elemeit is tartalmazzák.

Emellett mostantól egy tesztkörnyezetet is integrálhat a csomagolt WPF-alkalmazásokba, így további biztonsági réteget biztosíthat. Ez a fejlesztés az új Win32 Alkalmazáselkülönítés biztonsági funkciónak köszönhetően nem sok változást igényel a kódban.

Jótanács

Ha már fektetett be a WPF-be, továbbra is használhatja, és kihasználhatja a .NET 9 modernizációs lehetőségeit. Az alkalmazásokat úgy hozhatja létre, hogy a Microsoft folyamatosan fektet be a WPF-be. További információkért tekintse meg a Windows fejlesztői GYIK-jét .

Ha WPF .NET-alkalmazással rendelkezik, a Windows App SDK által biztosított modern Windows-platformfunkciókhoz és API-khoz is hozzáférhet. További információ : A Windows App SDK használata WPF-alkalmazásokban és asztali alkalmazások modernizálása.

Jótanács

Ha további segítségre van szüksége annak eldöntéséhez, hogy melyik keretrendszer a legjobb választás az alkalmazás számára, tekintse meg a Windows fejlesztési projekt képzési moduljának legjobb alkalmazáskeretének kiválasztása című témakört.

Egyéb natív platformbeállítások

Számos Windows-alkalmazás win32, Windows Forms vagy UWP használatával írható. Ezek a keretrendszerek támogatottak, és továbbra is kapnak hibajavításokat, valamint a megbízhatóságot és biztonságot javító intézkedéseket, de az új funkciók és stílusok esetében eltérő mértékű befektetést kapnak. Ezekről az alkalmazástípusokról az alábbi füleken talál további információt.

Az asztali Win32-alkalmazások (más néven klasszikus asztali alkalmazások) az eredeti alkalmazástípus olyan natív Windows-alkalmazásokhoz, amelyek közvetlen hozzáférést igényelnek a Windowshoz és a hardverhez. Ez teszi a Win32-t az olyan alkalmazások alkalmazástípusává, amelyeknek a legmagasabb szintű teljesítményre és a rendszerhardverekhez való közvetlen hozzáférésre van szükségük.

A Win32 API C++ használatával a legmagasabb szintű teljesítményt és hatékonyságot érheti el azáltal, hogy nagyobb kontrollt gyakorol a célplatform felett nem felügyelt kóddal, mint amire egy felügyelt futtatókörnyezetben, például a WinRT vagy a .NET felügyelt környezetben, lehetőség van. Az alkalmazás végrehajtásának ilyen szintű vezérlése azonban nagyobb odafigyelést és figyelmet igényel a helyes működéshez, és feláldozza a fejlesztési hatékonyságot a futási teljesítmény javára.

Az alábbiakban bemutatjuk a Win32 API és a C++ által kínált lehetőségeket, amelyekkel nagy teljesítményű alkalmazásokat hozhat létre.

  • Hardverszintű optimalizálás, beleértve az erőforrás-kiosztás, az objektumok élettartamának, az adatelrendezésnek, az igazításnak, a bájtok csomagolásának szigorú szabályozását stb.
  • Hozzáférés a teljesítményorientált utasításkészletekhez, például az SSE-hez és az AVX-hez belső függvényeken keresztül.
  • Hatékony, típusbiztos általános programozás sablonok használatával.
  • Hatékony és biztonságos tárolók és algoritmusok.
  • DirectX, különösen Direct3D és DirectCompute.
  • A C++/WinRT használatával modern asztali Win32-alkalmazásokat hozhat létre, amelyek első osztályú hozzáférést biztosítanak a Windows Runtime (WinRT) API-khoz.

Emellett mostantól egy tesztkörnyezetet is integrálhat a Win32-alkalmazásokba, így további biztonsági réteget biztosíthat. Ez a fejlesztés az új Win32 Alkalmazáselkülönítés biztonsági funkciónak köszönhetően nem sok változást igényel a kódban.

A Windows App SDK által biztosított modern Windows-platformfunkciókhoz és API-khoz is hozzáférhet. További információ : A Windows App SDK használata egy meglévő projektben és az asztali alkalmazások modernizálása.

Egyéb platformfüggetlen lehetőségek

Ha az alkalmazás platformfüggetlennek kell lennie, a React Native for Desktop mellett a .NET MAUI, a Blazor Hybrid vagy a progresszív webalkalmazás (PWA) használatát is érdemes figyelembe vennie. Számos más választási lehetőség is elérhető (íme a népszerű lehetőségek listája), de ezek jó kiindulópontok.

A .NET MAUI kihasználja a WinUI teljesítményét Windows rendszeren, miközben más operációs rendszereken is lehetővé teszi a végrehajtást. A Blazor Hybrid ötvözi az asztali és mobil natív ügyfél-keretrendszereket a .NET-tel és a Blazorral. Egy másik platformfüggetlen lehetőség, a Progresszív Web Apps (PWA-k) olyan webhelyek, amelyek úgy működnek, mint a telepített, natív alkalmazások a Windowson és más támogatott platformokon, miközben a böngészők szokásos webhelyeiként működnek.

További információkért tekintse meg az alábbi lapokat.

A .NET többplatformos alkalmazás felhasználói felülete (MAUI) egy nyílt forráskódú, platformfüggetlen keretrendszer Android, iOS, macOS és Windows rendszerű alkalmazások létrehozásához, amelyek egyetlen .NET-kódbázisból használják ki az egyes platformok natív felhasználói felületét és szolgáltatásait. Mivel a .NET MAUI a platform natív funkcióit részesíti előnyben, a WinUI-t és a Windows App SDK-t használja, így az alkalmazások a legújabb felhasználói élményt kapják a Windowson. Ez hozzáférést biztosít az alkalmazásoknak mindenhez, amit a WinUI-val kap, valamint más platformokra is elérheti azokat.

A .NET MAUI for Windows nagyszerű választás, ha:

  • A lehető legtöbb .NET-kódot szeretné megosztani mobil- és asztali alkalmazásokban.
  • Az alkalmazást a Windowson kívül szeretné más asztali és mobil célokra szállítani natív platformokkal.
  • A C# és/vagy az XAML használatával platformfüggetlen alkalmazásokat hozhat létre.
  • A Blazort webfejlesztéshez használja, és ennek egy részét vagy egészét szeretné belefoglalni egy mobil- vagy asztali alkalmazásba.

A .NET MAUI-val kapcsolatos további információkért tekintse meg a következő hivatkozásokat:

Alkalmazásfejlesztési keretrendszer funkcióinak összehasonlítása

A Windows-alkalmazások fejlesztésére számos lehetőség áll rendelkezésre. A legjobb megoldás az alkalmazáskövetelményektől, a meglévő kódtól és a technológia ismereteitől függ. Az alábbi táblázat a Windowson elérhető legnépszerűbb alkalmazásfejlesztési keretrendszereket és az egyes keretrendszerek által támogatott funkciókat sorolja fel.

Tulajdonság .NET MAUI Blazor Hibrid React Native asztali számítógépre UWP XAML (Windows.UI.Xaml) Win32 (MFC vagy ATL) Windows Forms WinUI 3 WPF (Windows Presentation Foundation)
Nyelv C# C# JavaScript, TypeScript C#, C++, Visual Basic C++, rozsda C#, Visual Basic C#, C++ C#, Visual Basic
Felhasználói felület nyelve XAML/Kód Borotva JSX XAML Kód Kód XAML XAML
Felhasználói felület tervezője
(fogd és vidd)
Nem támogatott Nem támogatott Nem támogatott Támogatott Nem támogatott Támogatott Nem támogatott Támogatott
Felhasználói felület hibakeresése Élő újratöltés Élő újratöltés Gyors frissítés Élő újratöltés - Élő újratöltés Élő újratöltés Élő újratöltés
Folyékony tervezés Támogatott Támogatott Támogatott Támogatott ( WinUI 2-n keresztül) Nem támogatott Nem támogatott Támogatott Nem támogatott
.HÁLÓ .HÁLÓ .HÁLÓ Nincs adat. .NET Core és .NET natív Nincs adat. .NET > .NET-keretrendszer .HÁLÓ .NET > .NET-keretrendszer
Windows App SDK Támogatott (további információ) TámogatottMAUI-on keresztül Támogatott (további információ) Nem támogatott Támogatott Támogatott (további információ) Támogatott Támogatott (további információ)
Érintésre kiválóan alkalmas Támogatott Támogatott Támogatott Támogatott Nem támogatott Nem támogatott Támogatott Nem támogatott
platformfüggetlen Támogatott Támogatott Támogatott Nem támogatott Nem támogatott Nem támogatott Nem támogatott Nem támogatott
Xbox/HoloLens-alkalmazások Nem támogatott Nem támogatott Támogatott Támogatott Nem támogatott Nem támogatott Nem támogatott Nem támogatott
Tesztkörnyezet (AppContainer) Nem támogatott Nem támogatott Támogatott Támogatott Nem támogatott Nem támogatott Nem támogatott Nem támogatott
Jelenleg támogatott Támogatott Támogatott Támogatott Támogatott Támogatott Támogatott Támogatott Támogatott
Frissítések fogadása Támogatott Támogatott Támogatott Támogatott (biztonsági és hibajavítás) Támogatott Támogatott Támogatott Támogatott
ütemterv GitHub GitHub GitHub nincs adat nincs adat GitHub GitHub GitHub

További információ az alábbi lehetőségekről:

Következő lépések