Een probleem dat wij Linux-gebruikers hebben, is dat we door veel ontwikkelaars een beetje in de steek worden gelaten. Als ze iets voor een systeem moeten bouwen, bouwen ze het voor Windows, aangezien het door ongeveer 4 van de 5 computers wordt gebruikt. En het is dat het ontwikkelen voor meer besturingssystemen een extra inspanning vereist, maar Microsoft heeft de informatie over zijn .NET MAUI en is bedoeld om dingen gemakkelijker te maken voor app-makers.
Wat is .NET MAUI? Zoals we lezen in de Microsoft-documentatie, de naam komt van .NET Multi-platform App UI, wat in het Spaans vertaald is a gebruikersinterface voor platformonafhankelijke toepassingen. Het .NET is hetzelfde dat zijn Framework jaren voor is geweest, en het geheel is een platformonafhankelijk raamwerk voor het bouwen van native desktop- en mobiele apps met C# en XAML.
.NET MAUI is meer bedoeld voor mobiele apps, maar...
Hoewel ze het niet direct zeggen, lijkt het doel duidelijk: maak een app, pas hem een beetje aan en maak hem bruikbaar op elk apparaat. Het is eigenlijk een beetje zoals PWA (Progressive Web Apps), maar dan voor mobiele applicaties die op de desktop gebruikt kunnen worden. We komen tot deze conclusie als we de pagina met ondersteunde platforms, waar Android en iOS worden genoemd vóór macOS. En het is dat het voor macOS via Catalyst zal zijn, wat iPad-apps compatibel maakt met macOS.
Op de pagina met ondersteunde platforms lezen we:
- Android 5.0 (API 21) of hoger. Voor .NET MAUI blazor-apps is Android 6 (API 23) of hoger vereist.
- iOS 10 of hoger. Voor .NET MAUI blazor-apps is iOS 11 of hoger vereist.
- macOS 10.13 of hoger, met behulp van Mac-katalysator.
- Windows 11 en Windows 10 versie 1809 of hoger, met Windows UI Library (WinUI) 3.
En waarom praten we hierover in Linux Addicts? Nou, omdat hieronder staat dat het ook compatibel zal zijn met Tizen, ondersteund door Samsung, en Linux, ondersteund door de gemeenschap. Op de originele pagina in het Engels gebruiken ze het woord "ondersteund", niet compatibel, en ik denk dat de vertaling zo zou moeten zijn, dat het Samsung en de Linux-gemeenschap zijn die de laatste hand zullen moeten leggen aan een app die is ontwikkeld vanuit . NET MAUI compatibel zijn met respectievelijk Tizen en Linux.
Is dit goed nieuws? Heeft dit toekomst?
We kunnen niet zeggen dat het nieuws slecht is. Om te beginnen, .NET MAUI is open source, maar het is de evolutie van Xamarin.Forms, dus we kunnen zeggen dat het een koning zou zijn die na een dode koning wordt geplaatst. Het nieuwe voorstel heeft UI-besturingselementen die helemaal opnieuw zijn gecompileerd om de prestaties en uitbreidbaarheid te verbeteren.
Over prestaties legt Microsoft uit:
.NET MAUI verenigt Android-, iOS-, macOS- en Windows-API's in één enkele API die een ontwikkelaarservaring die overal kan worden geschreven mogelijk maakt en tegelijkertijd diepgaande toegang biedt tot alle aspecten van elk native platform.
.NET 6 biedt een aantal platformspecifieke frameworks voor het bouwen van apps: Android, iOS, macOS en Windows UI 3 (WinUI 3) bibliotheekversies. Al deze frameworks hebben toegang tot dezelfde .NET 6 Base Class Library (BCL) Deze bibliotheek abstraheert de details van het onderliggende platform uit de code. De BCL is afhankelijk van de .NET-runtimeomgeving om de uitvoeringsomgeving voor code te bieden. Voor Android, iOS en macOS implementeert mono de omgeving, een implementatie van de .NET runtime-omgeving. Op Windows biedt Win32 de runtime-omgeving.
Laat niemand denken dat .NET MAUI alles zal veranderen... of toch niet?
Toen mij dit voor het eerst werd verteld, was mijn eerste gedachte dat "Maui" een woord is dat al in Linux bestaat, dus ik was verrast. Dan, na wat meer gelezen te hebben, ben ik tot een conclusie gekomen die volgens mij correct zal zijn: in het beste geval is het waarschijnlijk dat Linux-gebruikers bijvoorbeeld een officiële Twitter-native applicatie of een app-type kunnen hebben Photoshop voor iPad OS, maar niet de Photoshop die we allemaal beschikbaar zouden willen hebben.
Over de toekomst weet niemand. ARM-architectuurprocessors zijn er om te blijvenEn Apple heeft hier inspraak in gehad. Twee tegengestelde opties kunnen niet worden uitgesloten: de ene is dat dit nergens toe leidt; de andere zou een bijna utopische toekomst zijn waarin ontwikkelaars besloten om alles met .NET MAUI te maken en uiteindelijk zouden we ook allerlei apps op Linux kunnen hebben, waarbij duidelijk wordt gemaakt dat de laatste hand gelegd moet worden door de gemeenschap. Wat als het tweede gebeurt?