

Waarom je Flutter of React Native zou moeten overwegen in plaats van .NET MAUI of .NET voor mobiel
Xamarin is de afgelopen 10 jaar een van de belangrijkste cross-platform frameworks voor mobiele apps geweest. Meer dan 15.000 organisaties wereldwijd hebben Xamarin-applicaties gebouwd en gebruikt.
Microsoft heeft echter besloten om de ondersteuning voor Xamarin vanaf 1 mei 2024 stop te zetten en te vervangen door .NET MAUI en .NET for Mobile. De impact zal merkbaar zijn vanaf 1 april 2024, aangezien de distributie van updates voor iOS vanaf die datum zal stoppen.
Xamarin migreren naar .NET MAUI of .NET voor Mobile?
De beslissing om bestaande Xamarin-apps te migreren naar .NET MAUI of .NET for Mobile is minder eenvoudig dan het lijkt. Onze ervaring bij ACA Mobile leert ons dat een herschrijving naar een ander platform vaak een betere keuze is. In deze blog geven we argumenten ten gunste van dit advies.
Waarom .NET MAUI en .NET Mobile geen goed alternatief zijn voor Xamarin
- De roadmap voor .NET MAUI en .NET for mobile(https://github.com/dotnet/maui/wiki/Roadmap) biedt weinig duidelijkheid en zekerheid op de lange termijn. Microsofts beslissing om Visual Studio for Mac, een essentiële tool voor iOS- en Mac-ontwikkeling, met pensioen te sturen, versterkt deze bezorgdheid en zendt gemengde signalen uit over hun toewijding aan cross-platform mobiele ontwikkeling. Bovendien gebruikt Microsoft zelf React Native voor cruciale mobiele applicaties zoals Microsoft Teams en Outlook. Daarom mist Microsoft een strategische focus op .NET MAUI en .NET for Mobile.
- Uit onze ervaring met migraties naar .NET MAUI en .NET for Mobile blijkt dat er nog veel problemen zijn in deze frameworks. Verdere stabilisatie en ontwikkeling zijn nodig om ze op het niveau van de concurrentie te brengen. We zien echter dat slechts een zeer beperkt aantal ontwikkelaars actief aan de slag gaat met het framework. Bij frameworks als Flutter en React Native zien we 3 tot 4 keer meer activiteit.
- De LTS-releases (Long-Term Support) van .NET MAUI voldoen niet aan de standaarden die we gewend zijn van volwassen frameworks. Hoewel de releasecyclus van .NET MAUI de normen van .NET volgt, is de ondersteuningsperiode korter. Dit resulteert in de noodzaak om .NET MAUI voortdurend bij te werken naar nieuwere versies.
- Er is een aanzienlijke daling in het aantal ontwikkelaars dat actief gebruikmaakt van Xamarin, .NET voor mobiel en .NET MAUI. Deze trend wijst op een afnemend vertrouwen in de gemeenschap, wat op lange termijn mogelijk kan leiden tot minder ondersteuning en innovatie.
De uitdagingen van het migreren van Xamarin naar .NET MAUI of .NET Mobile
Tegen de verwachtingen in is de migratie van Xamarin naar .NET MAUI of .NET for Mobile geen gestandaardiseerd proces. De documentatie is zeer beperkt en problemen moeten voornamelijk met vallen en opstaan worden ontdekt en opgelost. Dit leidt tot regressies, waarbij bepaalde functionaliteiten niet langer worden ondersteund, codeverduistering niet langer werkt, tooling niet beschikbaar is en bestaande pakketten niet langer compatibel zijn. Bovendien komen er regelmatig bugs in het .NET framework zelf aan het licht.
Bovendien is de app niet technisch beter na migratie; alle technische schuld blijft behouden en kan zelfs erger worden door het oplossen van bugs.
De kosten van de migratie, inclusief alle bugfixing, kunnen daarom aanzienlijk worden. Voor sommige van onze grotere projecten brengt dit een proces met zich mee waarbij meerdere ontwikkelaars gedurende meerdere maanden betrokken zijn.
Tot slot rijst de vraag of deze migratie een langetermijninvestering rechtvaardigt, gezien onze twijfels over de toekomst van .NET MAUI en .NET for Mobile.
Het alternatief: de Xamarin app herschrijven in React Native of Flutter
Vanuit onze ervaring zijn we ervan overtuigd dat het herschrijven van de Xamarin app met React Native of Flutter meer waar voor je geld biedt dan migreren naar .NET MAUI of .NET for Mobile.
Ten eerste bieden beide frameworks een volwassen basis met een langetermijnvisie en ondersteuning, waardoor de herschreven applicatie gemakkelijk te onderhouden, schaalbaar en klaar voor de toekomst is. Meer details over elk van deze frameworks zijn te vinden aan het einde van dit artikel.
Het herschrijven biedt ook de perfecte gelegenheid om de app aan te passen aan veranderende of nieuwe bedrijfsbehoeften. Het is niet alleen een technisch project, maar levert ook tastbare bedrijfswaarde op.
Bovendien is het kostenverschil tussen migreren en herschrijven kleiner dan je zou denken:
- We herbouwen alleen de app zelf, waardoor integraties met backendsystemen behouden blijven, wat resulteert in aanzienlijke besparingen. Zelfs als er een Backend-For-Frontend is gebruikt, kan deze behouden blijven.
- We baseren de herbouw op het ontwerp van de oude app, waardoor er geen nieuw analysewerk nodig is.
- Door met een nieuwe architectuur te beginnen, kunnen we alle bestaande technische schuld in één keer aanpakken. Dit betekent dat onderhoud en toekomstige uitbreidingen aanzienlijk eenvoudiger en dus goedkoper worden.
Samenvattend zien we dat het herschrijven van de Xamarin app in React Native of Flutter niet fundamenteel duurder hoeft te zijn dan een migratie naar .NET MAUI of .NET Mobile met bug fixing. Zeker als je kijkt naar de verbeterde onderhoudskosten, de langere levensduur van de app en de toegevoegde bedrijfswaarde.
De voordelen van Flutter
Overweeg je om van Xamarin naar Flutter te migreren? Een verstandige keuze, want Flutter biedt verschillende strategische voordelen:
- Toekomstbestendige technologie: Flutter geniet een sterke ondersteuning van Google, die als primaire bijdrager een zeer actieve ontwikkelgemeenschap heeft (1313 bijdragers, waarvan er 72 meer dan 50 commits hebben gemaakt). Google past het framework toe in hun eigen applicatieontwikkeling, waaronder applicaties als Google Classroom, YouTube Create, Google Ads en recentelijk in hun AI-toepassing Gemini voor het genereren van aangepaste UI's tijdens runtime. Dit geeft bedrijven de zekerheid dat Flutter een technologiestack is die op de lange termijn wordt onderhouden.
- Populariteit: Sinds de lancering in 2018 heeft Flutter gestaag marktaandeel gewonnen in cross-platform ontwikkeling. In 2020 was 1% van de apps in de App Store en 3% in Google Play geschreven in Flutter. In slechts drie jaar tijd is dit gestegen naar 9% en 19%. Het aandeel van Xamarin is daarentegen 4% gebleven.
- Unified User Experience: Flutter gebruikt zijn eigen rendering engine en beheert de UI volledig vanuit Flutter zelf. Dit zorgt voor een consistente gebruikerservaring tussen iOS en Android, zelfs bij verschillende besturingssystemen. Oudere OS-versies kunnen ook profiteren van nieuwe functies, wat zorgt voor een uniforme ervaring.
- Toegang tot de nieuwste functies: Hoewel niet alles out-of-the-box beschikbaar is door Flutter's unieke rendering engine, worden nieuwe features snel ondersteund door updates van het Flutter Framework. Het is altijd mogelijk om native componenten te schrijven en deze beschikbaar te maken binnen onze Flutter code, zodat essentiële functies direct toegankelijk zijn.
De voordelen van React Native
Migreren van Xamarin naar React Native is ook een slimme keuze vanwege de vele strategische voordelen die React Native biedt:
- Toekomstbestendige technologie: React Native is oorspronkelijk ontwikkeld door Meta om zichzelf als mobile-first bedrijf in de markt te positioneren. Er is een zeer actieve ontwikkelgemeenschap die bijdraagt aan de toekomst ervan (2604 medewerkers, waarvan 89 met meer dan 50 commits). Meta gebruikt React Native voor zijn eigen applicaties, zoals Facebook, Facebook Ads Manager, Oculus en Messenger Desktop. Microsoft investeert ook een aanzienlijke hoeveelheid energie en tijd in React Native en gebruikt het voor de ontwikkeling van toepassingen zoals Microsoft Office, Microsoft Store op Xbox en Power Apps. Dit geeft vertrouwen in de stabiliteit van het framework.
- Populariteit: Sinds de lancering in 2015 heeft React Native een snelle stijging in populariteit doorgemaakt. Het heeft al enkele jaren een stabiel marktaandeel in de ontwikkeling van mobiele applicaties. In 2020 was 8% van de apps in de App Store en 10% in de Google Play Store ontwikkeld met React Native. In slechts drie jaar tijd zijn deze percentages gestegen tot respectievelijk 13% en 18%.
- Gebruik van JavaScript/TypeScript: Dankzij het gebruik van zeer populaire programmeertalen is React Native zeer toegankelijk voor ontwikkelaars. Dit resulteert in een overvloed aan beschikbare ontwikkelaars die de applicatie gemakkelijk kunnen onderhouden omdat ze bekend zijn met de gebruikte taal.
- Toegang tot de nieuwste functies: Omdat React Native is gekoppeld aan de OS-componenten, kunnen applicaties die ermee zijn ontwikkeld direct en moeiteloos gebruikmaken van nieuwe functies zodra deze zijn geïntroduceerd. Er is bijvoorbeeld kant-en-klare ondersteuning voor een vernieuwingsfrequentie van 120 Hz. Daarnaast is het ook mogelijk om native componenten te schrijven en te integreren voor gebruik binnen React Native.
Conclusie
In het licht van de stopzetting van Xamarin en de complexe uitdagingen die gepaard gaan met de migratie naar .NET MAUI of .NET for Mobile, komt het herschrijven van Xamarin apps in React Native of Flutter naar voren als een strategisch en kosteneffectief alternatief. Beide frameworks bieden betrouwbare oplossingen met ondersteuning voor de lange termijn en zorgen voor eenvoudig onderhoud en schaalbaarheid.
ACA Group staat klaar om uw bedrijf te helpen weloverwogen beslissingen te nemen. Laten we samen de toekomst van uw applicaties vormgeven!
Wilt u het succes van uw mobiele Xamarin-applicaties op de lange termijn garanderen?
What others have also read


Bij ACA zijn de Ship-IT Days no-nonsense innovatiedagen.
Lees verder

Maak het concreet voor alle belanghebbenden Data Mesh wordt vaak gezien als iets zeer abstract en theoretisch, waardoor belanghebbenden onzeker zijn over de precieze implicaties en mogelijke oplossingen ervan. Daarom willen we het bij ACA Group zo concreet mogelijk maken voor business stakeholders, technische stakeholders en andere belanghebbenden in de organisatie. Wij raden aan om drie belangrijke uitdagingen tegelijkertijd aan te pakken: IDENTIFICEER BEDRIJFSWAARDE – Definieer hoe Data Mesh exact bijdraagt aan de bedrijfswaarde door data als een product te beschouwen. ORGANISEER TEAMS – Specificeer de rol van elk team, teamlid en persona binnen de context van Data Mesh. BUILD PLATFORM – Laat zien hoe data mesh de technische architectuur beïnvloedt. Uitdaging 1: De bedrijfswaarde van Data Mesh identificeren Een van de eerste uitdagingen bij de introductie van Data Mesh is het uitleggen en bewijzen van de waarde voor de business. Bij ACA Group beginnen we met het identificeren van potentiële dataproducten, domeinen en use cases. Dit proces is gebaseerd op zakelijke input en resulteert in een dataproductlandschap. De figuur hieronder geeft een voorbeeld vanuit een e-commerce bedrijf (rechthoeken zijn applicaties, hexagonen zijn data producten, kleuren geven domeinen die ownership nemen). Dit landschap dient als navigatiekaart, inspireert nieuwe innovatieve zakelijke ideeën en laat de meerwaarde zien die Data Mesh voor de organisatie kan bieden. Door te laten zien hoe Data Mesh nieuwe mogelijkheden kan creëren, verduidelijken we de relevantie ervan voor zakelijke belanghebbenden. Data Mesh Oplossingen Afstemmen op Organisatiedoelen Om het maximale uit Data Mesh te halen, is afstemming op de algemene doelstellingen en strategie van de organisatie van het grootste belang. Het is cruciaal om ervoor te zorgen dat de investering in technologie en processen aansluit bij de bredere bedrijfsdoelstellingen. Door deze afstemming blijft de steun en het momentum behouden, wat cruciaal is voor het succes van een Data Mesh-initiatief. Data Mesh Opportuniteiten Identificeren met Gamestorming Bij ACA Group passen we gamestorming-technieken toe om domeinen en dataproducten te ontdekken. Dit proces begint met de identificatie van business mogelijkheden en datagebruiksscenario's. Dat doen we aan de hand van workshops, zoals het in kaart brengen van de impact. Door Data Mesh op deze aspecten af te stemmen, identificeren we een dataproductlandschap vanuit twee perspectieven. Een inventarisatie van beschikbare data en potentiële dataproducten inspireert en genereert nieuwe zakelijke ideeën, terwijl de gewenste zakelijke impact en doelstellingen helpen bij het identificeren van de benodigde data en dataproducten. Uitdaging 2: Teams Organiseren en Individuen Empoweren Data Mesh gaat niet alleen over technologie; het gaat over het transformeren van de manier waarop teams en teamleden binnen de organisatie opereren. ACA Group gelooft in het effectief organiseren van teams om de kracht van Data Mesh te benutten. We gaan in gesprek met bestaande teams en teamleden en positioneren hun waardevolle rollen en expertise binnen een Data Mesh-teamorganisatie. Meestal zijn hierbij platformteams, domeinteams, faciliterende teams en een gefedereerd governanceteam betrokken. Daarnaast onderzoeken we de verschillende gebruikerstrajecten en ervaringen voor elke persona, om ervoor te zorgen dat Data Mesh een positieve invloed heeft op de organisatie, haar mensen en hun rollen. Uitdaging 3: De technische architectuur opzetten Het invoeren van Data Mesh is een transformerend traject voor elke organisatie. Door de uitdagingen op te splitsen in uitvoerbare stappen, zoals ACA Group doet, kan je Data Mesh tastbaarder maken, de waarde ervan verduidelijken en de oplossing afstemmen op de doelstellingen van je organisatie. Deze incrementele acties dienen om het mysterie weg te nemen rond Data Mesh, waardoor het begrijpelijk wordt voor een breed scala aan stakeholders en het pad wordt geëffend voor goed geïnformeerde beslissingen. Het omarmen van Data Mesh betekent het omarmen van de toekomst van datamanagement, en biedt een scala aan opportuniteiten voor je organisatie. Dit traject gaat over het praktisch realiseren van Data Mesh en tegelijkertijd zorgen voor afstemming op je organisatiedoelstellingen. Conclusie Het invoeren van Data Mesh is een transformerend traject voor elke organisatie. Door de uitdagingen op te splitsen in uitvoerbare stappen, zoals ACA Group doet, kan je Data Mesh tastbaarder maken, de waarde ervan verduidelijken en de oplossing afstemmen op de doelstellingen van je organisatie. Deze incrementele acties dienen om het mysterie weg te nemen rond Data Mesh, waardoor het begrijpelijk wordt voor een breed scala aan stakeholders en het pad wordt geëffend voor goed geïnformeerde beslissingen. Het omarmen van Data Mesh betekent het omarmen van de toekomst van datamanagement, en biedt een scala aan opportuniteiten voor je organisatie. Dit traject gaat over het praktisch realiseren van Data Mesh en tegelijkertijd zorgen voor afstemming op je organisatiedoelstellingen. Nieuwsgierig naar wat Data Mesh nog meer te bieden heeft? Ontdek het hier ✅
Lees verder

In de complexe wereld van moderne softwareontwikkeling worden bedrijven geconfronteerd met de uitdaging om verschillende applicaties die door verschillende teams worden ontwikkeld en beheerd, naadloos te integreren. De Service Mesh is van onschatbare waarde bij het overwinnen van deze uitdaging. In dit blogartikel verdiepen we ons in Istio Service Mesh en onderzoeken we waarom investeren in een Service Mesh zoals Istio een slimme zet is." Wat is Service Mesh? Een Service Mesh is een softwarelaag die verantwoordelijk is voor alle communicatie tussen applicaties, in deze context services genoemd. Het introduceert nieuwe functionaliteiten om de interactie tussen services te beheren, zoals monitoring, logging, tracing en verkeerscontrole. Een service mesh werkt onafhankelijk van de code van elke individuele service, waardoor het over netwerkgrenzen heen kan werken en kan samenwerken met verschillende beheersystemen. Dankzij een service mesh kunnen ontwikkelaars zich richten op het bouwen van toepassingsfuncties zonder zich zorgen te maken over de complexiteit van de onderliggende communicatie-infrastructuur. Istio Service Mesh in de praktijk Denk aan het beheren van een groot cluster waarop meerdere applicaties draaien die ontwikkeld en onderhouden worden door verschillende teams, elk met verschillende afhankelijkheden zoals ElasticSearch of Kafka. Na verloop van tijd resulteert dit in een complex ecosysteem van applicaties en containers, overzien door verschillende teams. De omgeving wordt zo ingewikkeld dat het voor beheerders steeds moeilijker wordt om het overzicht te bewaren. Dit leidt tot een reeks pertinente vragen: Hoe ziet de architectuur eruit? Welke applicaties interageren met elkaar? Hoe wordt het verkeer beheerd? Bovendien zijn er specifieke uitdagingen die voor elke afzonderlijke applicatie moeten worden aangepakt: Het afhandelen van aanmeldingsprocessen Implementeren van robuuste beveiligingsmaatregelen Netwerkverkeer beheren dat naar de applicatie wordt geleid ... Een Service Mesh, zoals Istio, biedt een oplossing voor deze uitdagingen. Istio fungeert als een proxy tussen de verschillende applicaties (services) in het cluster, waarbij elk verzoek door een component van Istio gaat. Hoe werkt Istio Service Mesh? Istio introduceert een sidecar proxy voor elke service in het microservices ecosysteem. Deze sidecar proxy beheert al het inkomende en uitgaande verkeer voor de dienst. Daarnaast voegt Istio componenten toe die het inkomende en uitgaande verkeer van het cluster afhandelen. Istio's control plane maakt het mogelijk om beleidsregels te definiëren voor verkeersbeheer, beveiliging en monitoring, die vervolgens worden toegepast op de toegevoegde componenten. Voor een beter begrip van de functionaliteit van Istio Service Mesh, zie ons blogartikel "Istio Service Mesh installeren: A Comprehensive Step-by-Step Guide" , een gedetailleerde, stapsgewijze uitleg over de installatie en het gebruik van Istio. Waarom Istio Service Mesh? Verkeersbeheer: Istio maakt gedetailleerd verkeersbeheer mogelijk, waardoor ontwikkelaars eenvoudig verkeer tussen verschillende versies van hun services kunnen routeren, verdelen en controleren. Beveiliging: Istio biedt een robuuste beveiligingslaag met functies zoals verkeersversleuteling met behulp van eigen certificaten, Role-Based Access Control (RBAC) en mogelijkheden voor het implementeren van authenticatie- en autorisatiebeleid. Waarneembaarheid: Door middel van ingebouwde instrumentatie biedt Istio diepgaande observeerbaarheid met tools voor monitoring, logging en gedistribueerde tracering. Hierdoor kunnen IT-teams de prestaties van services analyseren en snel problemen opsporen. Vereenvoudigde communicatie: Istio neemt de complexiteit van servicecommunicatie weg van applicatieontwikkelaars, zodat zij zich kunnen richten op het bouwen van applicatiefuncties. Is Istio geschikt voor uw opstelling? Hoewel de voordelen duidelijk zijn, is het essentieel om te overwegen of de extra complexiteit van Istio past bij jouw specifieke opstelling. Ten eerste is er een sidecar container nodig voor elke ingezette service, wat kan leiden tot ongewenste geheugen- en CPU overhead. Daarnaast kan het zijn dat je team niet beschikt over de specialistische kennis die nodig is voor Istio. Als je overweegt om Istio Service Mesh te gaan gebruiken, vraag dan begeleiding aan specialisten met expertise. Vraag onze experts gerust om hulp. Meer informatie over Istio Istio Service Mesh is een technologische game-changer voor IT-professionals die streven naar geavanceerde controle, beveiliging en observeerbaarheid in hun microservices-architectuur. Istio vereenvoudigt en beveiligt de communicatie tussen services, waardoor IT-teams zich kunnen richten op het bouwen van betrouwbare en schaalbare applicaties. Snel antwoord nodig op al uw vragen over Istio Service Mesh? Neem contact op met onze experts
Lees verderWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

.png)
