Det finnes en masse kryssplattformrammeverk for de som vil lage apper for ulike mobiloperativsystemer uten å måtte vedlikeholde flere kodebaser – eller måtte kunne flere programmeringsspråk.
Mens React Native kanskje er mest kjent for de som kommer fra JavaScript- og React-verdenen, skal .NET MAUI være et alternativ for utviklere som føler seg mest komfortable i Microsoft-verdenen og som behersker .NET og programmeringsspråket C#.
Vi spurte utvikleren Gudsteinn Arnarson fra Miles om hva den for oss noe ukjente .NET MAUI er for noe, hvem og hva det er beregnet på, og ikke minst – hva som gjør at du eventuelt bør velge .NET MAUI fremfor konkurrerende alternativer.
– Gudsteinn, hva er egentlig .NET MAUI?
– Hvis du som fersk utvikler vil lage applikasjoner for iOS, Android, macOS eller Windows i samme kodebase, så er .NET MAUI greia.
– MAUI står for Multiple Application User Interface, og er et kryssplattform-rammeverk en kan bruke til å utvikle applikasjoner for iOS, Android, macOS og Windows i samme kodebase.
– Det betyr at man bare trenger å skrive kode én gang for flere systemer. MAUI er Microsofts løsning for kryssplattformutvikling. MAUI bruker C# for kodelogikken og XAML til presentasjon/UI.
Dag Erik mener alle bør lære seg Svelte: – Det er gøy å skrive!
– Hvordan skiller .NET MAUI seg fra Xamarin?
– .NET MAUI bygger mye på Xamarin og er egentlig den nye versjonen av Xamarin.
– MAUI har bedre support for nyere versjoner av .NET, og bedre support for nyere versjonene av iOS, Android og Windows. MAUI har også bedre hot reload-funksjonalitet som gjør det lettere å se endringene en gjør i koden med en gang.
– Hva er de største forskjellene mellom .NET MAUI og andre kryssplattformløsninger?
– Den største forskjellen er nok måten de er satt opp på og hvilke språk som er brukt.
– .NET MAUI bruker C# og XAML, som er en del av .NET-økosystemet, mens React Native bruker JavaScript og JSX. Flutter bruker Dart.
– Det er nok også forskjeller på ytelse. I tillegg kan det nevnes at MAUI ikke har support for å lage applikasjoner for Linux, med noen unntak.
Nå bruker han Remix til alt: – Det løser mange vanskelige ting med React
– Hvem bør velge .NET MAUI fremfor alternativene?
– .NET MAUI er nok først og fremst for dem som allerede er kjent med C# og .NET-rammeverket til Microsoft, siden læringskurven vil være relativt enkel og mye vil være kjent.
– Man bør også tenke på hva man vil utvikle. Siden MAUI er ganske nytt, kan det bli problemer å lage komplekse applikasjoner.
– Er man kjent med JavaScript og man vil lage en kryssplatform-applikasjon, så vil React Native være det beste valget. I tillegg har React Native en stor community med support for mye funksjonalitet. For Flutter sin del har jeg hørt at den er ganske rask.
«.NET MAUI er nok først og fremst for dem som allerede er kjent med C# og .NET-rammeverket til Microsoft.»
– Hvor utbredt er .NET MAUI sammenlignet med alternativene?
– .NET MAUI er relativt nytt ettersom det ble gitt ut våren 2022, mens for eksempel React native, som ble gitt ut i 2015, har en mye større community bak seg.
– Det ser ut til å være ganske stor interesse for .NET MAUI, men vi får se med tiden hvordan det utvikler seg. Det kan også nevnes at det var ganske buggy når det ble gitt ut i fjor og det er fortsatt noen issues med rammeverket. Men for min del var det ganske enkelt og stabilt å få ut en simpel applikasjon som jeg kunne installere på mobilen min.
- Du bør ha svært gode grunner, om du ikke vil deploye til skyen
– Hva kan du lage med .NET MAUI?
– Du kan egentlig lage hva som helst! Et spill, en chatbot, værapp, vitseapp, meldingsapp, kalenderapp, treningsapp, og så videre.
– MAUI har et API som kan gi utvikleren tilgang til mye av smarttelefonen, som for eksempel GPS, aksellerometeret, kontakter, og så videre. Det er ganske kult!
– Er det vanskelig å lære seg?
– Det kommer an på. Hvis du allerede er kjent med .NET og C# så er det nok ganske greit å lære seg. Er du ny utvikler kan det være smart å starte med enklere .NET konsoll-applikasjoner for å bli bedre kjent med C# og .NET.
– Siden jeg bruker .NET og C# på jobben, så var det ikke så vanskelig for meg å komme i gang med .NET MAUI.
«Det var veldig kult å kunne debugge applikasjonen på mobilen over WiFi-nettverket hjemme.»
– Microsoft learn har gode ressurser du kan bruke for å starte med å lage en .NET MAUI-applikasjon. Der får du også vite hvordan du kan teste applikasjonen på mobilen din, hvordan du publiserer, og hvordan du installerer applikasjonen der du vil. Et annet tips er å se videoserien .NET MAUI for beginners på YouTube.
– Det jeg liker best personlig, er å starte et MAUI-prosjekt og leke med koden, gjøre endringer, "hot reloade" og se hva som skjer. Jeg synes det var veldig kult å kunne debugge applikasjonen på mobilen over WiFi-nettverket hjemme og se endringene på mobilen mens jeg endret på koden i Visual Studio!