Megosztás:


Az alkalmazás-keretrendszer kiválasztása

Ez a cikk azokat az információkat tartalmazza, amelyek szükségesek a Windows-alkalmazások fejlesztésének megkezdéséhez, valamint a készségkészlethez és a forgatókönyvhöz illeszkedő felhasználói felületi keretrendszer kiválasztásához.

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.

A WinUI és a Windows App SDK használatával olyan alkalmazásokat hozhat 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 a Windows 11 és a Windows 10 1809-es verziójának asztali alkalmazásai konzisztens módon használhatnak.

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 windowsos alkalmazásokat fejlesztett ki, de egy meglévő alkalmazásban szeretné használni a Windows App SDK-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 Windowshoz és macOS-hez készült React Native-t is tartalmaz, í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. Ez a támogatás többek között pc-ket, táblagépeket, 2-in-1-eket, Xbox- és Mixed Reality-eszközöket is tartalmaz.

A React Native for Desktop használatával javaScript vagy TypeScript nyelven írhatja az alkalmazás kódját vagy az összeset. A keretrendszer natív UWP XAML-alkalmazást hoz létre. Ha az alkalmazásnak platform API-t kell meghívnia, ezt általában a számos közösségi modul egyikén keresztül teheti meg. Ha egy modul még nem létezik, egyszerűen írhat egy natív modult, hogy kitelepítse.

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.
  • Van tapasztalata, és előnyben részesíti a JavaScriptet vagy a TypeScriptet.
  • Csak JavaScripthez készült könyvtárakat szeretne használni npmjs.com, é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 használja, így integrálva érzi magát a Windowsban használt tervezési nyelvbe. Emellett a React Native for Desktop-alkalmazásoknak nem kell kompromisszumot kötniük a meghívható API-k készletével. 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

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, ami további biztonsági réteget biztosít. 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 hibákat, megbízhatóságot és biztonsági javításokat kapnak, de az új funkciók és stílusok esetében változó mértékű befektetést jelentenek. Az alkalmazástípusokkal kapcsolatos további információkért tekintse meg az alábbi lapokat.

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 a hozzáférés 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++-val való használatával a legmagasabb szintű teljesítményt és hatékonyságot érheti el. Nagyobb irányítást gyakorolhat a célplatform fölött nem felügyelt kóddal, mint amennyi egy felügyelt futtatókörnyezetben lehetséges, például a WinRT vagy a .NET esetében. 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++ ajánlatának néhány fontos elemét, amelyek lehetővé teszik a nagy teljesítményű alkalmazások létrehozását.

  • 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, ami további biztonsági réteget biztosít. 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 azt szeretné, hogy az alkalmazás platformfüggetlen legyen, a React Native for Desktop mellett fontolja meg a .NET MAUI, a Blazor Hybrid vagy a progresszív webalkalmazás (PWA) használatát. Számos más lehetőség is elérhető (itt található a népszerű lehetőségek listája), de ezek a lehetőségek 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. A .NET MAUI-val egyetlen .NET-kódbázisból használhatja 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 a megközelítés hozzáférést biztosít az alkalmazásoknak mindenhez, amit a WinUI-val kap, valamint lehetővé teszi más platformok elérését.

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

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

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

Számos lehetősége van a Windows-alkalmazások fejlesztésére. 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
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Ó .NET .NET Nincs adat. .NET Core és .NET natív Nincs adat. .NET > .NET-keretrendszer .NET .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