Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a gyakori kérdések Windows alkalmazásfejlesztéssel kapcsolatos gyakori kérdésekre adnak választ, beleértve a projektek megfelelő keretrendszerének kiválasztásával kapcsolatos útmutatást. Az érintett témakörök a következők:
- Első lépések és az Windows alkalmazásfejlesztési környezet.
- Natív Windows alkalmazásfejlesztés WinUI 3, Windows megjelenítési alaprendszer (WPF) és Windows Forms (WinForms) használatával.
- Windows Software Development Kit (SDK) és Windows App SDK.
- A Windows célzása a platformfüggetlen fejlesztési stratégia részeként.
- Hibrid és webalkalmazás-fejlesztés .NET MAUI, Blazor és ASP.NET Core használatával.
- Hogyan válasszunk egy megközelítést, miközben megértjük Microsoft befektetéseit.
Windows alkalmazásfejlesztési környezet
Hol találok egyértelmű áttekintést Windows fejlesztési technológiákról?
A Windows fejlesztők mai lehetőségeinek áttekintéséhez tekintse meg a legújabb Windows Dev Chat epizódot, Az ideális fejlesztői platformot, ahol a WinUI, a .NET MAUI, a React Native, a Blazor és a Progresszív Web Apps (PWA-k) kerülnek megvitatásra.
A Windows fejlesztők számára készített alkalmazásfejlesztési lehetőségek áttekintésére is hivatkozhat.
A modern digitális átalakításhoz még mindig elengedhetetlen az ügyfélalkalmazások fejlesztése a cloud services korában?
A felhőszolgáltatások korában az ügyfélalkalmazások fejlesztése továbbra is fontos a felhasználói eszközökön való rugalmas, értelmes interakciók biztosításához.
Íme, miért fontosak az ügyfélalkalmazások:
- Eszköz elérése: Az ügyfélalkalmazások lehetővé teszik, hogy az alkalmazást közvetlenül a választott eszközökön lévő felhasználókhoz hozza.
- Átjáró az intelligens szolgáltatásokhoz: ügyfélalkalmazások gyakran az első interakciók a felhasználókkal a szolgáltatásaikkal. Gazdag, interaktív felületet kínálnak, amellyel intelligens funkciókat mutathat be, és megkülönböztetheti a terméket másoktól.
- Méretezhetőség felhőintegrációval: A jól integrált ügyfélalkalmazás könnyedén szinkronizálható a háttérrendszerbeli felhőszolgáltatásokkal, így a felhasználói bázis növekedésével valós idejű hozzáférést és zökkenőmentes méretezhetőséget tesz lehetővé.
- Fokozott hatékonyság és felhasználói hűség: Egy átgondolt kialakítású alkalmazás növelheti a termelékenységet, és folyamatosan figyelemmel követheti a felhasználókat a termékével vagy szolgáltatásával.
Natív Windows alkalmazásfejlesztés
Mi a Windows App SDK?
A Windows App SDK független szervizelt összetevőket biztosít Windows asztali alkalmazásokhoz, beleértve a WinUI-t, az alkalmazás életciklusát, az ablakozást, az értesítéseket, az erőforrásokat és a szöveges API-kat. Támogatja az Windows 10, 1809-es és újabb verziókon futó alkalmazásokat, a Windows kiadás és Windows App SDK verziójának támogatási életciklusától függően.
Mi a különbség a Windows App SDK és a Windows SDK között?
Mindkettő szoftverfejlesztői készlet (SDK), amely lehetővé teszi Windows alkalmazások készítését.
A(z) Windows App SDK olyan összetevőket biztosít, amelyek a Windowstól függetlenül kerülnek kiadásra, és a támogatott Windows-kiadásokon működnek egészen a Windows 10 1809-es verziójáig. WinUI-t és API-kat tartalmaz az alkalmazás életciklusához, ablakozásához, értesítéseihez, erőforrásaihoz, szövegéhez és egyéb képességeihez.
A Windows SDK fejléceket, kódtárakat, metaadatokat és eszközöket biztosít az operációsrendszer-API-khoz, például a Win32-hez, a WinRT-hez, a COM-hoz, a DirectX-hez, az eszközökhöz és a rendszerhéjhoz.
A Windows App SDK nem helyettesíti a Windows SDK-t. A Windows App SDK alkalmazó alkalmazások továbbra is használhatják Windows SDK API-kat, a WinUI-alkalmazások pedig gyakran mindkettőt.
A csak Windows alkalmazás fejlesztéséhez új csapatot hoz létre. Miért érdemes natív Windows keretrendszerrel ( WinUI, WPF vagy WinForms) fejleszteni?
Az alábbiakban néhány okot talál arra, hogy natív Windows keretrendszert válasszon a Windows-only alkalmazáshoz:
- Performance: A natív Windows-keretrendszerek a modern Windows hardverek kihasználására vannak optimalizálva, gyors és rugalmas felhasználói élményt biztosítva.
- Integráció: A Windows olyan API-k széles választékával rendelkezik, amelyek kifinomult élményeket tesznek lehetővé csak Windows alatt. A natív keretrendszerek mély integrációt biztosítanak ezekkel a funkciókkal és API-kkal.
- Natív felhasználói élmény: A natív keretrendszerek egységes felületet biztosítanak Windows eszközökön, így az alkalmazás mindenhol nagyszerűen néz ki és működik.
- Offline támogatás: A natív keretrendszerek támogatják az offline forgatókönyveket, így az alkalmazások internetkapcsolat nélkül is működhetnek.
- Támogatás és eszközhasználat: Microsoft fenntartja a natív keretrendszereket, és aktuális SDK-kat, dokumentációt, hibakeresési eszközöket és mintákat biztosít.
Milyen keretrendszert kell használnom Microsoft legújabb befektetéseivel Windows alkalmazásfejlesztésbe?
Ha csak Windowsra készült új alkalmazást készít, javasoljuk a WinUI használatát. A WinUI a legújabb natív felhasználói felületi keretrendszer Windows alkalmazásfejlesztéshez, és Windows eszközök széles skálájára tervezték. Modern és rugalmas felhasználói felületi keretrendszert biztosít vizuálisan vonzó és interaktív Windows alkalmazások létrehozásához. A WinUI a Windows App SDK része, és a legjobban a Windows legújabb verzióival működik.
A meglévő Windows-alkalmazásomban Windows App SDK/WinUI-t használok?
Vegye figyelembe, hogy WinUI (egy felhasználói felületi keretrendszer) a Windows App SDK (Windows platformfejlesztési keretrendszerrel) rendelkezik.
Az alkalmazás felhasználói felületét migrálhatja a WinUI-ba, vagy a WinUI XAML-szigetek használatával Windows App SDK vezérlőket üzemeltethet egy támogatott meglévő asztali gazdagépen. Az örökölt rendszer XAML-szigetei UWP XAML-vezérlőket üzemeltetnek, és különböző API-kat használnak.
A Windows App SDK elemei gyakran használhatók asztali alkalmazásokban a meglévő alkalmazás felépítésétől függően. Az UWP-alkalmazásokat a Windows App SDK nem támogatja.
Ez azt jelenti, hogy WPF/MFC/WinForms alkalmazások a WinUI-hoz nem kapcsolódó Windows App SDK API-kat használhatják. Ilyenek például az alkalmazás életciklusa, az ablakozás és a toast értesítések.
További információ: Az Windows App SDK használata meglévő projektben.
A WinUI-alkalmazások létrehozásához Visual Studio kell használnom?
Nem. A WinUI XAML-buildek az MSBuildet használják, de a .NET SDK-val és az aktuális WinUI-sablonokkal készíthet egy másik szerkesztő parancssorából. Tekintse meg a .NET és a parancssori útvonalat.
Visual Studio 2026 a leggazdagabb integrált szerkesztési, hibakeresési, profilkészítési és XAML-Hot Reload élményt nyújtja. Használja az eszközhasználati követelményeknek megfelelő munkafolyamatot.
I "Nem tölthető be a DLL "Microsoft.ui.xaml.dll"" hiba az alkalmazás futtatásakor. Hogyan javíthatom ki?
Ez a hiba általában unpackaged olyan alkalmazásforgatókönyvekben fordul elő, ahol a Windows App SDK futtatókörnyezet nincs telepítve a gépen. Kipróbálhatja a következőt:
- Ha packaged alkalmazást futtat (az ajánlott alapértelmezett), győződjön meg arról, hogy Visual Studio keresztül indítja el a MsixPackage indítási profillal (nem az egyszerű végrehajtható profillal). Az MSIX csomagolási lépés telepíti a szükséges futtatókörnyezeti összetevőket.
- Ha keretrendszerfüggő csomagolatlan alkalmazást futtat, telepítse a megfelelő Windows App SDK futtatókörnyezetet. Egy önálló üzembe helyezés magában foglalja a Windows App SDK függőségeit.
- Ellenőrizze, hogy a projekt megfelel-e az üzembehelyezési modellnek. Normál .NET csomagolatlan alkalmazások esetén a beállítás
<WindowsPackageType>None</WindowsPackageType>lehetővé teszi Windows App SDK futtatókörnyezet automatikus inicializálását. A bootstrapper API-t csak akkor használja közvetlenül, ha explicit vezérlésre van szüksége a dinamikus függőségek inicializálása felett.A Windows App SDK-t használó alkalmazások üzembe helyezésével kapcsolatos követelményekről a Windows App SDK alkalmazások üzembe helyezése című részben talál további részleteket.
Mi a különbség a WinUI 3 és a WinUI 2 for UWP között?
WinUI (korábbi nevén WinUI 3) a legújabb natív felhasználói felületi keretrendszer Windows alkalmazásfejlesztéshez. Modern és rugalmas felhasználói felületi keretrendszert biztosít vizuálisan vonzó és interaktív Windows alkalmazások létrehozásához. A WinUI a Windows App SDK része, és a legjobban a Windows legújabb verzióival működik.
A WinUI for UWP (korábbi nevén WinUI 2) az UWP-n alapuló felhasználói felület vezérlőinek és stílusainak készlete. Modern megjelenést és élményt biztosít az UWP-alkalmazásokhoz, és Windows 10-hez van tervezve.
Ha Windows App SDK és WinUI használatával készítek alkalmazást, akkor egy "WinUI-alkalmazást" készítek?
Igen – a "WinUI-alkalmazás" az ajánlott kifejezés. A WinUI-alkalmazásokat "WinUI-alkalmazásoknak" nevezzük, mivel az UWP-hez készült WinUI nem egy alkalmazástípus, hanem az UWP-alkalmazásokban használt összetevők készlete.
Frissíthetem fokozatosan az UWP-alkalmazásomat WinUI for UWP-vezérlőkkel WinUI-ra azáltal, hogy lépésenként lecserélem a WinUI for UWP-összetevőket WinUI-összetevőkre?
Nem. Windows App SDK nem használható az UWP-alkalmazásokban, és a WinUI for UWP nem keverhető a WinUI-val. Lásd: Migrálás az UWP-ről a Windows App SDK-ra.
Milyen nehéz migrálni egy UWP-alkalmazást a WinUI-ba?
A felhasználói felület összetevőinek migrálása általában egyszerű (C# és C++/WinRTesetén). Ellenkező esetben a migrálás költsége elsősorban a következőtől függ:
- Project fájl és MSBuild testreszabás: A migrálási munka a speciális MSBuild használattól függően változik.
- .NET API-migrálás: A natív .NET használó UWP-alkalmazások áttérhetnek egy jelenleg támogatott .NET kiadásra a natív AOT használatával. Ez a modernizáció nem a felhasználói felület WinUI-ra való migrálása.
- Felhasználói felületi összetevők kódtárai: A kódtáraknak WinUI-t célzó verziókkal kell rendelkezniük.
- Ha az UWP-alkalmazás a most felülírt C++/CX fájlban van megírva, szükség van némi forráskód-portolásra. Lásd: Áttérés C++/CX-ről C++/WinRT-re.
További információ: Migrate from UWP to the Windows App SDK.
Ha már van UWP-alkalmazásom az Áruházban, közzétehetek egy új csomagolt WinUI-alkalmazást ugyanazokkal az azonosítókkal?
Igen, a frissített alkalmazások az alkalmazás identitásának frissítése nélkül is közzétehetők. A régi verzió felhasználói az új verzióra frissülnek. Ez csak az asztali alkalmazásokra vonatkozik. Xbox, HoloLens és Surface Hub-alkalmazások nem migrálhatók a WinUI-ba.
Hogyan csomagoljam és terjesszem a WinUI-alkalmazásomat?
Lásd: Üzembe helyezés áttekintése.
Hol találhatok Windows App SDK migrálási útmutatót?
Használnom kell az XAML-jelölést, ha WinUI-t szeretnék használni?
Nem. A felhasználói felület vezérlői kódban hozhatók létre. Azonban a felhasználói felület deklaratív XAML jelölésének használata számos előnnyel jár, beleértve a továbbfejlesztett fejlesztői élményt is.
- Migrálás UWP-ről WinUI-ra: Sok XAML- és felhasználói felületi összetevő újra felhasználható, de szükség van néhány szintaxis-módosításra.
- Migrálás WPF-ról WinUI-ra: Sok fogalom átviszi azokat, de a vezérlőkészlet és az API-k eltérőek.
Van-e a Visual Studio-nak tervezőfelülete / felhasználói felület-tervezője a WinUI-hoz?
Jelenleg nem. Az XAML-Hot Reload, az élő vizualizációs fa, az Élő tulajdonságkezelő és a kapcsolódó futtatókörnyezeti eszközök használatával vizsgálja meg és frissítse az XAML-t az alkalmazás futtatása közben.
A WinUI 3-hoz elérhető futtatókörnyezet-tervezési eszközök teljes áttekintéséért tekintse meg a WinUI 3 XAML futtatókörnyezet-tervező eszközeit.
Does Windows App SDK tartalmazza a WinUI?
Igen. A WinUI a Windows App SDK részeként kerül szállításra.
Tartalmazza a Windows App SDK a WinUI-t az UWP-hez?
Nem. A WinUI for UWP az UWP platform része.
A WinUI for UWP és a WinUI ugyanarra a technológiára épül?
Nem egészen. Bár a WinUI eredetileg a WinUI for UWP-kódbázisból indult, ezek különböző technológiák. Mindkettő XAML-alapú felhasználói felületi keretrendszer, amely a .NET és C++ platformokon is működik, de a WinUI for UWP és a WinUI önmagukban nem kompatibilisek egymással.
A WinUI használata Windows App SDK használata nélkül?
Nem. A WinUI a Windows App SDK részeként kerül szállításra.
Használhatom a WinUI-t csomagolatlan alkalmazásokban?
Igen. A WinUI és számos Windows App SDK API csomagolatlan alkalmazásokban működik. Egyes Windows képességek azonban csomagidentitást igényelnek, és a keretrendszerfüggő csomagolatlan alkalmazásoknak inicializálnia kell a Windows App SDK futtatókörnyezetet. Hasonlítsa össze a Csomagolás áttekintése és a csomagidentitást igénylő funkciók beállítását.
Mi a különbség az XAML-szigetek és a WinUI között?
A WinUI a Windows App SDK részét képező felhasználói felületi keretrendszer. Az XAML-szigetek olyan üzemeltetési technika, amellyel egy meglévő asztali alkalmazás XAML-tartalmat helyezhet el a felhasználói felület mellett egy másik keretrendszerből.
A kifejezés hivatkozhat az UWP XAML-vezérlőket üzemeltető régi rendszer XAML-szigetekre, vagy a támogatott asztali gazdagépeken Windows App SDK vezérlőket üzemeltető WinUI XAML-szigetekre. Az API-k, a névterek és a gazdagép követelményei eltérőek.
Ha WinUI-alkalmazást hozok létre, az modernnek fog kinézni mind Windows 11-en, mind Windows 10-en?
Igen. Az alkalmazás felhasználói felülete az Windows 11 és Windows 10 összes támogatott verziójára vonatkozó legújabb Fluent felhasználói felületi tervezési alapelveket örökli, egészen az 1809-es verzióig, csomagolt és csomagolatlan forgatókönyvekben is.
Igen. Lásd A Mica vagy akril anyagok alkalmazása asztali alkalmazásokban Windows 11 esetén.
Hol találhatók WinUI-minták?
Lásd: Minta és erőforrások. Néhány figyelemre méltó adattár:
- WindowsAppSDK-Samples: Bemutatja, hogyan használhatók adott Windows App SDK API-készletek.
- Windows témakörspecifikus minták: A WinUI-alkalmazás létrehozása oktatóanyagban használt WinUI-jegyzetek mintáját tartalmazza.
- WinUI 3 galéria: A WinUI és a Windows App SDK bemutatása. A Microsoft Store is elérhető.
Ha már sokat fektettem be a WPF, érdemes-e továbbra is használni a WPF, vagy át kell-e migrálni a WinUI-ba?
Ha már sokat fektetett be a WPF-be, használhatja továbbra is a meglévő alkalmazásokhoz. WPF egy kiforrott, stabil keretrendszer, amelyet széles körben használnak Windows asztali alkalmazások létrehozásához.
A GitHub Copilot frissítése segítségével felmérheti, majd korszerű .NET-re frissítheti a .NET Framework-alapú WPF-alkalmazást. Tekintse át a létrehozott tervet, és ellenőrizze az alkalmazás minden módosítását.
Ha új WPF-alkalmazást készítek, elavultnak fog tűnni a többi új Windows-alkalmazáshoz képest?
Ha 9-.NET vagy újabb verziójú WPF alkalmazást fejleszt, biztosíthatja, hogy az alkalmazás megfeleljen a Windows 11 elegáns, modern megjelenésének. Az új Fluent téma WPF-hez egy modern Windows 11-es esztétikai stílust vezet be, integrált Világos/Sötét mód és a rendszer kiemelő színének támogatásával. Ez modernizálja az alkalmazás megjelenését, és kifinomult, egységes felhasználói élményt nyújt.
A csapatom kényelmesen készít WinForms-alkalmazásokat, és megfelel az igényeinknek. Érdemes megfontolnunk a WinUI-ba vagy más keretrendszerbe való migrálást?
Ha a WinForms megfelel az igényeinek, és csapata jól érzi magát benne, továbbra is használhatja a WinFormst a meglévő alkalmazásokhoz. A WinForms egy kiforrott és stabil keretrendszer, amelyet széles körben használnak Windows asztali fejlesztéshez.
A WinForms csapata továbbra is befektet a platformba. A beruházások néhány jelenlegi területe a következők:
- Aszinkron támogatás a gyakori vezérlőkhöz
- Sötét mód
- Elrendezés rugalmassága
- Asztali biztonsági funkciók, például vágólap-hozzáférés
Platformfüggetlen natív fejlesztés
Mi lehet az oka a platformfüggetlen, natív alkalmazások létrehozásának, amelyek Windows célként szerepelnek?
Ha több operációsrendszer-platformon célozza meg a felhasználókat, a platformfüggetlen alkalmazások .NET MAUI vagy React Natív használatával történő létrehozása számos előnyt kínálhat:
- Elér: A platformfüggetlen alkalmazások nagyobb közönséget érnek el különböző eszközökön és operációs rendszereken.
- Kód újrafelhasználása: A kód platformok közötti újrafelhasználása csökkenti a fejlesztési időt és a költségeket. Az Windows, Android, iOS és macOS rendszerekhez készült különálló alkalmazások létrehozása rendkívül költséges lehet.
- Konzisztens felhasználói élmény: A platformfüggetlen keretrendszerek egységes megjelenést és érzetet biztosítanak a különböző platformokon.
- Integráció: A platformfüggetlen alkalmazások továbbra is integrálhatók a platformspecifikus szolgáltatásokkal, hogy átfogó élményt nyújtsanak.
Meg vagyok győződve arról, hogy .NET MAUI alkalmazások jól fognak futni Windows?
Amikor .NET MAUI alkalmazást készít Windowsra, a kimenet egy WinUI-alkalmazás lesz. A fejlesztés során a .NET MAUI egyetlen .NET felületet kínál a platformokon, de platformspecifikus kódot hoz létre a motorháztető alatt. Ez biztosítja, hogy .NET MAUI alkalmazások jól teljesítsen az egyes platformokon, és natív felhasználói élményt nyújtson.
Hogyan .NET MAUI biztosíthat natív eszköz API-kat minden platformon?
.NET MAUI egységes .NET élményt nyújt Windows, iOS, Android és macOS rendszereken. Platformfüggetlen API-kat kínál olyan gyakori képességekhez, mint a tárolás, a hálózatkezelés és az eszközérzékelők. Platformspecifikus API-kat is hívhat, vagy speciális implementációkat biztosíthat az egyes platformokhoz.
A WinUI-val kezdek, majd később integrálom .NET MAUI, ha végül platformfüggetlen forgatókönyveket szeretnék célba venni?
Jelenleg nem. Bár .NET MAUI WinUI-t használ a Windows futtatásakor, a több platformot megcélozó csapatoknak .NET MAUI vagy a React Native for Desktop használatával kell kezdődnie.
Csapatunk erős webes előtérbeli fejlesztési készségekkel rendelkezik. Érdemes megfontolnunk a React Native for Desktop használatát?
Az erős webes fejlesztési tapasztalattal rendelkező csapatok érdemes lehet figyelembe venni a React Native for Desktopot. Tartalmazza a React Native-t Windows és macOS rendszerekhez. A "Learn once, write anywhere" (Tanulás egyszer, bárhol írás) megközelítéssel a meglévő JavaScript-, TypeScript- és React-képességek natív Windows és macOS-alkalmazások készítésére használhatók.
A React Native for Desktop közvetlenül natív primitívek számára rendereli a felhasználói felületet, így natív teljesítményt és platformképességeket biztosít.
A kezdéshez lásd a React Native for Desktop dokumentációját.
Támogatja-e a React Native for Desktop más Windows eszközöket?
A React natív alkalmazásai az Windows 10 és újabb verziók által támogatott összes eszközön üzembe helyezhetők, beleértve a pc-ket, táblagépeket, 2 az 1-ben, Xbox és vegyes valóságú eszközöket.
Mit használjak, ha olyan alkalmazásokat szeretnék készíteni, amelyek működnek Windows és Xbox rendszeren?
Ha az alkalmazásnak támogatnia kell Xbox, HoloLens vagy IoT-t, az UWP használata ajánlott. Windows App SDK nem támogatja ezeket a platformokat. A játékfejlesztéshez használja a Microsoft Játékfejlesztő készlet.
Ha Windows és Surface Hubon működő alkalmazásokat szeretnék létrehozni?
Ha Windows és Surface Hubot is megcélozza, az UWP használata ajánlott.
Hibrid és webes fejlesztés
Mik azok a hibrid alkalmazások, és miért érdemes megfontolni a létrehozásukat?
A hibrid alkalmazások a legjobb webes és natív alkalmazásfejlesztést ötvözik. Alapjuk olyan webes technológiákkal épül fel, mint a HTML, a CSS és a JavaScript, és egy natív tárolóba vannak csomagolva, amely access bizonyos natív platformfunkciókhoz és hardverekhez. Alkalmazás-áruházakon keresztül is terjeszthetők.
A fő előnye, hogy a hibrid alkalmazások lehetővé teszik egyetlen alkalmazás összeállítását, amely több natív platformon és a weben is futtatható, csökkentve a fejlesztési időt és a költségeket. A hibrid alkalmazásfejlesztési platformok például a következők:
- Elektron asztali alkalmazásokhoz
- Ionic mobilalkalmazásokhoz
- .NET MAUI Blazor Hybrid platformfüggetlen alkalmazásokhoz
Hogyan építek natív érzetű progresszív webalkalmazásokat Windows?
Lásd: Webfejlesztés Windows rendszeren és Progresszív webalkalmazások áttekintése.
Mi az .NET MAUI Blazor hibrid alkalmazás?
A .NET MAUI a Blazor-alkalmazások natív módon futtathatók Windows, iOS, Android és macOS rendszeren. Ez lehetővé teszi olyan hibrid ügyfélalkalmazások létrehozását, amelyek egyetlen natív ügyfélalkalmazásban egyesítik a Blazort és .NET MAUI összetevőket, teljes hozzáféréssel a natív platform képességeihez.
További információ: ASP.NET Core Blazor Hybrid.
Az .NET MAUI hibrid alkalmazás webes összetevőit a Blazor használatával kell létrehozni
Nem. A .NET 9-től kezdve a .NET MAUI tartalmaz egy HybridWebView vezérlőt, amely lehetővé teszi más JavaScript-alapú felhasználói felületek natív alkalmazásokon belüli üzemeltetését.
Ez lehetővé teszi az Angular, React, Vue vagy más HTML/JavaScript-alkalmazások üzemeltetését egy .NET MAUI alkalmazásban. A hibrid vezérlő kapcsolatot biztosít a C# és a JavaScript között, így a C#-kód meghívhatja a JavaScript-függvényeket, és fordítva.
Bármely más natív alkalmazástípus üzemeltethet hibrid Blazor-összetevőket?
Igen. WPF és WinForms-alkalmazások a Blazor hibrid összetevőit is üzemeltethetik, lehetővé téve a modern webes felhasználói felület hozzáadását a meglévő alkalmazásokhoz. Ez nem támogatott WPF vagy .NET-keretrendszerre épülő WinForms-alkalmazások esetében.
A teljes alkalmazásomnak hibrid alkalmazásnak kell lennie, vagy kombinálhatom és egyeztethetem a natív és hibrid összetevőket?
A natív és a hibrid összetevők keverhetők egy alkalmazáson belül. Előfordulhat például, hogy egy alkalmazás magja .NET MAUI összetevőkkel épül fel, míg a hibrid összetevők további funkciókat biztosítanak. Ez lehetővé teszi a natív összetevők teljesítményének és képességeinek kombinálását a hibrid összetevők rugalmasságával és költséghatékonyságával.
Mi a választásom .NET-alapú webalkalmazások létrehozására, amelyek nagyszerűen mutatnak a modern böngészőkben a Windows?
Web apps bármely ügyfélalkalmazás-platform legszélesebb körét kínálja. A gyönyörű .NET webalkalmazások létrehozásának lehetőségei a következők:
- ASP.NET Core-alkalmazások a Razor Pages használatával
- ASP.NET Core MVC-alkalmazások
- ASP.NET Core Blazor-alkalmazások üzemeltetési modellbeállításokkal:
- Blazor WebAssembly (egy .NET alapú keretrendszer, amely lehetővé teszi webes alkalmazások futtatását közvetlenül a böngészőben)
- Blazor Server
A Blazor üzemeltetési modelljei most már konfigurálhatók az összetevők szintjén, így olyan forgatókönyvek is engedélyezhetők, mint a Blazor WebAssembly-összetevők üzemeltetése a Blazor Server-alkalmazásokban.
További részletekért tekintse meg a ASP.NET Core dokumentációját.
Válasszon egy megközelítést, és ismerje meg Microsoft befektetéseit
A Windows megcélzott alkalmazások létrehozásához rengeteg keretrendszer-lehetőség áll rendelkezésre. Hogyan dönthetek?
Windows egy nyílt platform, amely számos technológiát támogat. Íme néhány feltétel, amely segíthet a platform kiválasztásában:
- Windows-fókuszú vagy platformfüggetlen fejlesztést végez?
- Milyen nyelvekkel vagy készségekkel rendelkezik már – .NET, JavaScript, valami más?
- Hozzáférésre van szüksége Windows-specifikus API-khoz?
- Melyik keretrendszer képességei felelnek meg a legjobban az alkalmazás követelményeinek?
- További összehasonlító tényezőkért tekintse meg ezt a táblázatot .
Számos üzleti alkalmazás esetében a csapatok gyakran a meglévő készségek és a csapat által a legkényelmesebb használat alapján választanak.
Hogyan választhatom ki a webalkalmazásom legjobb fejlesztési megközelítését?
A webalkalmazás fejlesztési megközelítésének kiválasztásakor vegye figyelembe az alábbiakat:
- Blazor ajánlott a frontend webalkalmazások fejlesztéséhez .NET-tel. Lehetővé teszi az előtérbeli és a háttérrendszer .NET használatával történő összeállítását, időt és költséget takarítva meg, és különösen jó a nagyvállalati alkalmazások számára.
- A JavaScript web apps akkor is van értelme, ha meglévő JavaScript-készségeket szeretne használni, vagy integrálnia kell a meglévő JS-kódtárakkal vagy -keretrendszerekkel.
- A régebbi keretrendszereket, például a Web Formst, az MVC-t vagy a Razor Pagest használó meglévő alkalmazások továbbra is támogatottak, és továbbra is fejleszthetők és karbantarthatók.
Ki készít alkalmazásokat ma a WinUI-val?
Ma sok ügyfél épít a WinUI-val, beleértve az Adobe-t és az Apple-t is:
- Adobe Fresco, egy ingyenes rajz- és festőalkalmazás.
- Az Apple Apple Music, Apple TV és Apple-eszközök-alkalmazások a WinUI-val és a Windows App SDK készültek.
Microsoft számos WinUI-alkalmazást is létrehozott, például Windows 11 Fájlkezelőt és a Fényképek alkalmazást.
Ki készíti ma a .NET MAUI alkalmazásokat?
Számos ügyfél, köztük a Microsoft, platformfüggetlen alkalmazásokat készít .NET MAUI. A Microsoft Azure mobilalkalmazás például .NET MAUI használatával készült.
További információ a .NET ügyfélbemutatóról.
Ki fejleszt ma WPF alkalmazásokat?
A Microsoft Visual Studio felhasználói felületének többsége WPF van kialakítva. Maga a Visual Studio IDE egy összetett, nagy teljesítményű WPF alkalmazás egyik fő példája.
Ki készít ma Blazor-alkalmazásokat?
A GE Digital FlightPulse légitársasági rendszere a Blazort használja a pilóták által látottak háttérkonfigurációjához, így az érzékelőadatok és az elemzések közvetlenül a pilótákhoz való eljuttatásával javítják a biztonságot és a hatékonyságot.
További Blazor-ügyféltörténetek a .NET webhelyen.
Nyelvválasztás (.NET és C++)
C# vagy C++ elemet kell használnom a Windows alkalmazásomhoz?
A legtöbb esetben használja a C# (.NET) parancsot. A C# gyorsabb fejlesztést, memóriabiztonságot, gazdag kódtárakat és kiváló eszközhasználatot biztosít. A legtöbb Windows alkalmazás – beleértve a WinUI 3, a WPF, a WinForms és a .NET MAUI alkalmazásokat – a legjobban a C# használatával készült.
A C++- ot akkor használja, ha közvetlen hardverhozzáférésre, minimális futásidejű többletterhelésre vagy meglévő C++ kódbázisokkal való együttműködésre van szüksége. A C++ forgatókönyvek közé tartoznak a játékmotorok (DirectX), az illesztőprogramok, a rendszerszintű segédprogramok és a teljesítmény szempontjából kritikus összetevők.
Tényező C# (.NET) C++ Fejlesztési sebesség ✅ Gyorsabb – felügyelt memória, gazdag ökoszisztéma ⚠️ Lassabb – manuális erőforrás-kezelés Futásidejű teljesítmény ✅Kiváló a modern .NET-tel (AOT, Span<T>) ✅ A lehető legjobb — nincsenek szemétgyűjtési szünetek Memóriabiztonság ✅ Szemétgyűjtés ⚠️ Kézikönyv – szivárgások és biztonsági rések kockázata WINDOWS API-hozzáférés ✅ C#/WinRT-vetítéssel ✅ C++/WinRT-vetítéssel WinUI 3-támogatás ✅ Teljes körű támogatás ✅ Teljes támogatás a C++/WinRT használatával Platformfüggetlen ✅.NET Windows, Linux, macOS rendszeren fut ✅ Platformspecifikus kóddal Legjobb a számára Üzleti alkalmazások, CRUD, szolgáltatások, felhasználói felületi alkalmazások Játékok, illesztőprogramok, rendszereszközök, alacsony késés Mindkettőt kombinálhatja: létrehozhatja az alkalmazást C# nyelven, és meghívhatja a teljesítmény szempontjából kritikus natív kódot a P/Invoke (CsWin32) vagy egy C++/WinRT-összetevő használatával.
Hogyan hívhatom meg a Win32 API-kat a C#-ból?
Használja a CsWin32 forrásgenerátort, amely típusbiztos P/Invoke aláírásokat hoz létre a létrehozáskor. Hozzáadhatja a
Microsoft.Windows.CsWin32NuGet-csomagot, listázhatja a fájlbanNativeMethods.txtszükséges API-kat, és meghívhatja őket egy létrehozottPInvokeosztályon keresztül.A CsWin32 felváltja a kézzel írt
[DllImport]deklarációkat, és bármilyen C#-projektben működik – WinUI, WPF, WinForms vagy konzol. Részletes útmutatóért tekintse meg a Win32 API-k meghívását egy C# Windows-alkalmazásból (CsWin32).
Mi az a C++/WinRT, és mikor érdemes használni?
A C++/WinRT egy standard C++17 nyelvi kivetítés Windows-futtatókörnyezet API-khoz. Használja Windows WinRT API-kat használó vagy létrehozó C++-alkalmazások létrehozásakor. A C++/CX és a Windows-futtatókörnyezet C++ sablontár (WRL) helyébe lép.
A következő esetekben válassza a C++/WinRT lehetőséget:
- Ön egy C++-os WinUI 3-alkalmazást készít
- Más nyelvek által használt Windows-futtatókörnyezet összetevőket kell létrehoznia
- Áttelepítés C++/CX környezetből
Mi az a C#/WinRT, és mikor van rá szükségem?
A C#/WinRT winRT-vetítési támogatást nyújt a C# számára. A legtöbb esetben nem kommunikál vele közvetlenül – .NET Windows célalkalmazások automatikusan hozzáférést kapnak a WinRT API-khoz a cél keretrendszerbeli monikereken (TFM-ek) keresztül. A C#/WinRT-re kifejezetten szükség van, ha C#-ban írt Windows-futtatókörnyezet-összetevőket hoz létre, vagy ha külső féltől származó WinRT-összetevőkhöz generál interop szerelvényeket.
Csomagolás, üzembe helyezés és frissítések
Mi a különbség a külső helyen csomagolt, csomagolatlan és csomagolt alkalmazások között?
A csomagolt alkalmazások fájlokat, identitásokat és üzembehelyezési információkat tartalmaznak egy csomagban, például az MSIX-ben. A csomagolatlan alkalmazások a Windows csomagrendszeren kívüli telepítőt vagy üzembe helyezési folyamatot használnak, és alapértelmezés szerint nem rendelkeznek csomagadentitással. A külső helyre csomagolt alkalmazás kis identitáscsomagot használ, miközben megtartja a külső helyen található binárisokat, valamint a meglévő telepítőjét és frissítési folyamatát.
A követelményekről és a kompromisszumokről lásd a Csomagolás áttekintését .
Szükségem van csomagidentitásra?
Ez az alkalmazás által használt Windows funkcióktól függ. Bizonyos háttérben végzett feladatok, push értesítések, shellbővítmények, társítások és Windows AI-forgatókönyvek csomagidentitást igényelnek. Más Windows App SDK képességek, például a WinUI és a helyi alkalmazásértesítések nélkül is működhetnek.
Lásd a csomagazonosságot igénylő jellemzők. Ha identitásra van szüksége, de meg kell őriznie egy meglévő telepítőt, fontolja meg a külső helyen való csomagolást.
Mi a különbség a keretrendszerfüggő és az önálló üzembe helyezés között?
A keretrendszerfüggő alkalmazások az eszközön külön telepített Windows App SDK futtatókörnyezeti csomagokat használnak. Ez csökkenti az alkalmazás üzembehelyezési méretét. Egy önálló alkalmazás az alkalmazással együtt tartalmazza a Windows App SDK Framework-csomag tartalmát, ami növeli a telepítési méretet, de lehetővé teszi, hogy az alkalmazás kezelje ezeket a keretrendszer-összetevőket.
A további MSIX-csomagoktól, például a Singleton-csomagtól függő API-k külön üzembe helyezési vagy futtatókörnyezeti támogatási ellenőrzéseket igényelhetnek még önálló alkalmazásokban is. A csomagolás és a futtatókörnyezet telepítése külön döntések. Lásd Windows App SDK üzembe helyezésének áttekintését.
A WinUI-alkalmazásom automatikusan frissül a végfelhasználók számára?
A WinUI-alkalmazásokat az Áruházban, egy .appinstaller-fájlban, vagy egy meglévő MSI- vagy setup.exe-csomagban lehet kézbesíteni. Az Áruház és az AppInstaller támogatja az automatikus frissítéseket azon végfelhasználók számára, akiknek engedélyezve vannak az automatikus frissítések, de az MSI/setup.exe-alkalmazásoknak saját frissítési mechanizmust kell biztosítaniuk.
Használhatom a Windows App SDK-t MSBuild használata nélkül?
A WinUI XAML-projektekhez MSBuild szükséges, de Visual Studio nincs szükség. A .NET SDK- és WinUI-sablonokkal futtathatja az MSBuild
dotnet buildparancsot a parancssorból. Windows App SDK WinUI-t nem használó összetevők is integrálhatók támogatott MSBuild-alapú asztali projektekbe.
Windows AI (mesterséges intelligencia)
Hogyan választhatok Windows AI API-k, Foundry Local és Windows ML között?
A használatra kész, a Windows által felügyelt MI-képességekhez használja a Windows AI API-kat. A Foundry Local használatával helyileg felderítheti, letöltheti és futtathatja a támogatott nyelvi és beszédmodelleket. Az Windows ML használatával egyéni ONNX-modelleket futtathat végrehajtási szolgáltatókkal az elérhető CPU-, GPU- és NPU-hardverekhez.
A hardver, a Windows verzió, a csomag identitása, a modell és a terjesztési követelmények eltérőek. Ellenőrizze a választott API vagy futtatókörnyezet aktuális követelményeit ahelyett, hogy feltételezi, hogy minden Windows AI-képesség elérhető minden pc-n.
Mit érdemes figyelembe vennem egy MI-vel támogatott funkció bevezetése előtt?
Határozza meg a szolgáltatás tervezett használatát és korlátozásait, értékelje a minőséget és a biztonságot reprezentatív adatokkal, szükség esetén tegye közzé az AI viselkedését, védje a felhasználói adatokat, és tartalékot biztosítson, ha a modell vagy a szükséges hardver nem érhető el. Lásd: Felelős generatív mesterséges intelligencia fejlesztése a Windows.
Teljesítmény és optimalizálás
Mi a teendő, hogy a Windows-alkalmazásom jól érezze magát a végfelhasználók számára?
Tekintse meg Windows alkalmazásfejlesztés – Ajánlott eljárások és Windows alkalmazások teljesítményével és alapjaival kapcsolatos áttekintést.
Compatibility
A felhasználóimnak frissíteniük kell Windows a WinUI-alkalmazásom használatához?
Windows App SDK alkalmazások futtathatók az Windows 10 1809-es és újabb verzióinak támogatott kiadásain, de az egyes API-k és alkalmazásfunkciók újabb Windows kiadásokat vagy hardvereket igényelhetnek. Éles támogatás esetén az eszköznek egy Windows kiadást és verziót kell futtatnia, amely továbbra is támogatott, és az alkalmazásnak egy támogatott Windows App SDK kiadást kell használnia az aktuális karbantartási frissítésekkel. Lásd Windows App SDK támogatási és kiadási csatornákat.
Megcélzhatom az Arm64-et a WinUI-alkalmazásommal?
Igen. Natív Arm64-alkalmazás létrehozása a legjobb teljesítmény és hatékonyság érdekében. Az x64-függőségekkel rendelkező nagy C++ kódbázis esetén az Arm64EC lehetővé teszi a modulok növekményes migrálását. Windows 11 az Armen számos meglévő x86- és x64-alkalmazást is futtathat a Prizma emuláción keresztül, de tesztelnie kell a teljesítményt és a kompatibilitást a reprezentatív Arm-eszközökön.
Elavulások és migrálások
Elavult az UWP/WinUI az UWP-hez?
Nem. Az UWP és az UWP-hez készült WinUI továbbra is támogatott, és hibajavításokat, valamint megbízhatósági és biztonsági javításokat kap. A WinUI és a Windows App SDK azonban az új általános célú Windows asztali alkalmazások ajánlott útvonala, és a legtöbb új platformberuházást megkapják.
Általánosan elérhető a Natív AOT-alapú modern .NET UWP-támogatása, amely a 2026-os Visual Studio alapértelmezett C# UWP-projekttípusa. Egy meglévő UWP-alkalmazás áthelyezése .NET natívról modern .NET egy külön modernizációs lépés a felhasználói felület WinUI-ra való migrálásától. Lásd: UWP-alkalmazás modernizálása .NET és natív AOT használatával.
Mikor kell migrálnom egy UWP/WinUI for UWP-alkalmazást a WinUI-ba?
Az UWP-fejlesztők nem érezhetik a migrálásra nehezedő nyomást, ha elégedettek az UWP-vel és annak funkciókészletével – sok alkalmazás esetében a megfelelő választás lehet az UWP használata.
Azokat az alkalmazásokat, amelyek a legújabb Windows platform és .NET beruházások előnyeit szeretnék kihasználni, érdemes megfontolni a Windows App SDK való áttérést. Lásd: Migrálás az UWP-ről a Windows App SDK-ra.
Mikor kell *nem* áttelepíteni egy UWP + WinUI for UWP alkalmazást a WinUI-ba?
Folytassa az UWP használatát, ha Xbox, Surface Hubra vagy HoloLens készül.
Már nem támogatott a WPF?
Nem. WPF támogatott, ajánlott, és továbbra is megkapja a funkciófrissítéseket. Tekintse meg a WPF ütemtervet GitHub.
Használaton kívüli a WinForms?
Nem. A WinForms támogatott, és továbbra is megkapja a funkciófrissítéseket. Lásd a Windows Forms ütemtervet a GitHubon.
A Windows-futtatókörnyezet (WinRT) elavult?
Nem. A WinRT egy alkalmazás bináris felülete (ABI), amely lehetővé teszi a több nyelv közötti interopációt. A WinRT a COM fejlődése, és a Windows App SDK a legtöbb funkcióját a WinRT API-kon keresztül biztosítja.
Kibocsátási megjegyzések
Hol találom a Windows App SDK kiadási megjegyzéseit?
A legújabb kibocsátási megjegyzések az Újdonságok lapon találhatók.
Kapcsolódó tartalom
Windows developer