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


Mi az a .NET MAUI?

A .NET többplatformos alkalmazás felhasználói felülete (.NET MAUI) egy platformfüggetlen keretrendszer natív mobil- és asztali alkalmazások C# és XAML használatával történő létrehozásához.

A .NET MAUI használatával olyan alkalmazásokat fejleszthet, amelyek egyetlen megosztott kódbázisból futtathatók Androidon, iOS-en, macOS-en és Windowson.

.NET MAUI által támogatott platformok.

A .NET MAUI nyílt forráskódú, és a Xamarin.Forms fejlődése, mobilról asztali forgatókönyvekre bontva, az alapoktól a teljesítmény és a bővíthetőség érdekében újraépített felhasználói felületi vezérlőkkel. Ha korábban a Xamarin.Formst használta platformfüggetlen felhasználói felületek létrehozásához, akkor a .NET MAUI-val való sok hasonlóság figyelhető meg. Vannak azonban különbségek is. A .NET MAUI használatával többplatformos alkalmazásokat hozhat létre egyetlen projekttel, de szükség esetén platformspecifikus forráskódot és erőforrásokat is hozzáadhat. A .NET MAUI egyik fő célja, hogy lehetővé tegye az alkalmazáslogika és a felhasználói felület lehető legnagyobb részének implementálását egyetlen kódbázisban.

Kinek szól a .NET MAUI?

A .NET MAUI azoknak a fejlesztőknek szól, akik a következőt szeretnék:

  • Platformfüggetlen alkalmazások írása XAML-ben és C#-ban egyetlen megosztott kódbázisból a Visual Studióban.
  • Felhasználói felület elrendezésének és kialakításának megosztása platformok között.
  • Kódot, teszteket és üzleti logikát oszthat meg a platformok között.

A .NET MAUI működése

A .NET MAUI egyetlen API-vá egyesíti az Android, az iOS, a macOS és a Windows API-kat, amely lehetővé teszi az egyszeri futtatású fejlesztői élményt, és emellett mély hozzáférést biztosít az egyes natív platformok minden aspektusához.

A .NET 6 vagy újabb platformspecifikus keretrendszereket biztosít az alkalmazások létrehozásához: .NET androidos, .NET for iOS, .NET for Mac Catalyst és Windows UI 3 (WinUI 3) kódtár. Ezek a keretrendszerek mind ugyanahhoz a .NET alaposztálytárhoz (BCL) férnek hozzá. Ez a könyvtár absztrahálja a mögöttes platform részleteit, így az eltávolodik a kódtól. A BCL a .NET-futtatókörnyezettől függ, hogy megadja a kód végrehajtási környezetét. Android, iOS és macOS esetén a környezetet a Mono, a .NET-futtatókörnyezet implementálása valósítja meg. Windows rendszeren a .NET Core Common Language Runtime (CLR) biztosítja a végrehajtási környezetet.

Bár a BCL lehetővé teszi a különböző platformokon futó alkalmazások számára a közös üzleti logika megosztását, a különböző platformok különböző módokon határozzák meg az alkalmazás felhasználói felületét, és különböző modelleket biztosítanak annak meghatározásához, hogy a felhasználói felület elemei hogyan kommunikáljanak és működjenek együtt. Az egyes platformok felhasználói felületét külön-külön készítheti el a megfelelő platformspecifikus keretrendszerrel (Androidhoz készült.NET, .NET iOS-hez, .NET for Mac Catalyst vagy WinUI 3), de ehhez a megközelítéshez szükség van egy kódbázis fenntartására minden egyes eszközcsaládhoz.

A .NET MAUI egyetlen keretrendszert biztosít a mobil- és asztali alkalmazások felhasználói felületeinek létrehozásához. Az alábbi ábra egy .NET MAUI-alkalmazás architektúrájának magas szintű nézetét mutatja be:

.NET MAUI architektúradiagram.

A .NET MAUI-alkalmazásokban olyan kódot ír, amely elsősorban a .NET MAUI-vezérlőkkel és az API-réteggel (1) kommunikál. Ez a réteg ezután közvetlenül használja a natív platform API-kat (3). Emellett az alkalmazáskód szükség esetén közvetlenül használhat platform API-kat (2).

A .NET MAUI-alkalmazások PC-n vagy Macen is írhatók, és natív alkalmazáscsomagokba állíthatók össze:

  • A .NET MAUI használatával létrehozott Android-alkalmazásokat C#-ból köztes nyelvre (IL) fordítják, amelyet majd az alkalmazás indításakor natív assembly-re fordítanak le.
  • A .NET MAUI használatával készült iOS-alkalmazások teljesen előzetesen (AOT) C#-ból natív ARM assembly kódba kompilálva vannak.
  • A .NET MAUI használatával készült macOS-alkalmazások a Mac Catalystot használják, amely az Apple egyik megoldása, amely az UIKittel készült iOS-alkalmazást hozza az asztalra, és igény szerint további AppKit- és platform API-kkal bővíti azt.
  • A .NET MAUI használatával készült Windows-alkalmazások a Windows UI 3 (WinUI 3) kódtár használatával hoznak létre natív alkalmazásokat, amelyek a Windows asztalt célják. További információ a WinUI 3-ról: Windows felhasználói felületi kódtár.

Jegyzet

Az iOS-hez és macOS-hez készült alkalmazások létrehozásához Mac szükséges.

Amit a .NET MAUI biztosít

A .NET MAUI olyan vezérlők gyűjteménye, amelyek felhasználhatók adatok megjelenítésére, műveletek indítására, tevékenység jelzésére, gyűjtemények megjelenítésére, adatok kiválasztására stb. A .NET MAUI a vezérlők gyűjteménye mellett a következőket is biztosítja:

  • Kifinomult elrendezési eszköz lapok tervezéséhez.
  • Gazdag navigációs elemek, például oldalsávok létrehozására alkalmas többféle oldaltípus.
  • Az adatkötés támogatása elegánsabb és karbantarthatóbb fejlesztési mintákhoz.
  • A kezelők testreszabásának lehetősége a felhasználói felület elemeinek megjelenítésének javítására.
  • Platformfüggetlen API-k natív eszközfunkciók eléréséhez. Ezek az API-k lehetővé teszik az alkalmazások számára az eszköz olyan funkcióinak elérését, mint a GPS, a gyorsulásmérő, valamint az akkumulátor és a hálózati állapot. További információ: Platformfüggetlen API-k eszközfunkciókhoz.
  • Platformfüggetlen grafikus funkciók, amelyek olyan vászont biztosítanak, amely támogatja az alakzatok és képek rajzolását és festését, a összeállítási műveleteket és a grafikus objektumok átalakítását.
  • Egyetlen projektrendszer, amely több célzást használ az Android, az iOS, a macOS és a Windows megcélzásához. További információért tekintse meg: .NET MAUI Single project.
  • A .NET hot reload funkcióval az alkalmazás futása közben módosíthatja mind az XAML, mind a felügyelt forráskódot, és az alkalmazás újraépítése nélkül figyelheti meg a módosítások eredményét. További információért lásd: .NET "hot reload".

Platformfüggetlen API-k eszközfunkciókhoz

A .NET MAUI platformfüggetlen API-kat biztosít a natív eszközfunkciókhoz. Példák a .NET MAUI által az eszközfunkciók eléréséhez biztosított funkciókra:

  • Hozzáférés az érzékelőkhöz, például a gyorsulásmérőhöz, az iránytűhöz és a giroszkóphoz az eszközökön.
  • Az eszköz hálózati kapcsolati állapotának ellenőrzése és a változások észlelése.
  • Adjon meg információt arról az eszközről, amelyen az alkalmazás fut.
  • Másolja és illessze be a szöveget a rendszer vágólapjára az alkalmazások között.
  • Válasszon egy vagy több fájlt az eszközről.
  • Az adatokat kulcs/érték párokként biztonságosan tárolhatja.
  • Beépített szövegfelolvasási motorokkal olvashat szöveget az eszközről.
  • Olyan böngészőalapú hitelesítési folyamatokat kezdeményezhet, amelyek egy adott alkalmazás regisztrált URL-címére való visszahívást figyelnek.

Önálló projekt

A .NET MAUI egyetlen projektje a jellemzően az alkalmazások fejlesztése során tapasztalt platformspecifikus fejlesztési élményeket veszi igénybe, és egyetlen megosztott projektbe absztraktálja őket, amely az Android, iOS, macOS és Windows rendszert célozza meg.

A .NET MAUI egyetlen projektje leegyszerűsített és egységes platformfüggetlen fejlesztési élményt nyújt, függetlenül a megcélzott platformoktól. A .NET MAUI önálló projektje a következő funkciókat biztosítja:

  • Egyetlen megosztott projekt, amely androidos, iOS, macOS és Windows rendszert célozhat meg.
  • Egyszerűsített hibakeresési cél kiválasztása a .NET MAUI-alkalmazások futtatásához.
  • Megosztott erőforrásfájlok az egyetlen projekten belül.
  • Egyetlen alkalmazásjegyzék, amely megadja az alkalmazás címét, azonosítóját és verzióját.
  • Szükség esetén hozzáférés platformspecifikus API-khoz és eszközökhöz.
  • Egyetlen platformfüggetlen alkalmazásbeléptetési pont.

A .NET MAUI önálló projektje több célzással és SDK-stílusú projektek használatával engedélyezve van. A .NET MAUI önálló projekttel kapcsolatos további információkért lásd .NET MAUI önálló projekt.

Azonnali újratöltés

A .NET MAUI támogatja a .NET gyorstöltést, amely lehetővé teszi a felügyelt forráskód módosítását az alkalmazás futtatása közben anélkül, hogy manuálisan kellene szüneteltetnie vagy elütnie egy töréspontot. Ezután a kód szerkesztései újrafordítás nélkül alkalmazhatók a futó alkalmazásra.

A .NET MAUI támogatja az XAML gyorstöltést is, amely lehetővé teszi az XAML-fájlok mentését és a futó alkalmazásban megjelenő módosítások újrafordítás nélküli megjelenítését. Emellett a navigációs állapot és az adatok is megmaradnak, így gyorsan iterálhat a felhasználói felületen anélkül, hogy elveszítené a helyét az alkalmazásban.