Xamarin/MAUI: vale ancora la pena?

Xamarin/MAUI: vale ancora la pena?

Microsoft ha terminato il supporto a Xamarin nel maggio 2024, sostituendolo con .NET MAUI (Multi-platform App UI). Per le aziende che hanno investito nello stack .NET la domanda e legittima: vale la pena costruire un'app MAUI nel 2026, oppure conviene puntare su Flutter o React Native? La risposta dipende molto dall'ecosistema interno.

Cosa offre .NET MAUI

MAUI permette di scrivere app iOS, Android, Windows e macOS condividendo un solo codice C# e XAML. Sfrutta i renderer nativi: a differenza di Flutter, ogni controllo MAUI viene mappato sul componente nativo della piattaforma. L'integrazione con Visual Studio, Azure e gli strumenti enterprise Microsoft e profonda, e questo e il suo principale punto di forza.

Punti deboli da considerare

L'ecosistema di plugin di terze parti e più piccolo rispetto a Flutter o React Native. La curva di apprendimento per chi viene dal web e ripida, e XAML resta meno popolare di JSX o Composable. La hot reload non sempre funziona in modo affidabile, e i tempi di build su iOS richiedono comunque un Mac. La community esterna a Microsoft e ridotta.

Quando ha senso scegliere MAUI

Azienda con team .NET esistente, esigenza di condividere codice con backend ASP.NET, applicazioni B2B interne, scenari Windows-first. Per app consumer di massa o startup la scelta e debole: si paga la quota di mercato ridotta in termini di librerie e talento disponibile.

Migrazione da Xamarin.Forms

Microsoft fornisce un tool di migrazione e una guida ufficiale. Le differenze principali: namespace cambiati, behavior diversi per i Handler vs Renderer, gestione DI diversa. Il refactoring richiede settimane su app medie e mesi su app grandi. Pianifica una migrazione incrementale con feature flag per limitare il rischio.

Hybrid: MAUI con Blazor

Blazor Hybrid permette di usare componenti web Blazor dentro un'app MAUI nativa. E utile per riutilizzare codice web esistente sul mobile. Le performance sono inferiori a una UI nativa MAUI, ma per moduli interni o configurazioni puo essere una soluzione efficace.

Confronto onesto con Flutter

Flutter ha community più grande, time-to-market più rapido per startup, animazioni più fluide. MAUI ha integrazione Microsoft, ottimo Visual Studio, accesso a Windows desktop e macOS Catalyst. Per progetti esistenti in casa Microsoft, MAUI riduce la curva e mantiene il know-how. Per nuovi progetti consumer non vincolati, Flutter e React Native sono spesso più razionali.

Community e supporto

Community MAUI in crescita ma più piccola rispetto a Flutter o React Native. Stack Overflow ha meno risposte, librerie terze sono limitate. Microsoft ha investito significativamente con .NET 9 nel 2024, migliorando stabilita e performance. Per il futuro, il commitment Microsoft sembra solido ma la quota di mercato resta nicchia.

Costi totali di ownership

Sviluppatori .NET sul mercato hanno costo medio simile a sviluppatori JavaScript. Tooling richiede Visual Studio (gratuito Community, a pagamento Enterprise). Apple Developer Account 99 USD/anno, Google Play 25 USD una tantum, come per gli altri framework. Il TCO totale non e significativamente diverso, l'aspetto critico resta la disponibilità di talento.

Procedura passo-passo

  1. Installa Visual Studio 2022 con il workload .NET MAUI.
  2. Crea un nuovo progetto MAUI tramite il template.
  3. Configura il TargetFrameworks per iOS, Android, Windows e macOS.
  4. Usa i Pair to Mac per la compilazione iOS se sviluppi da Windows.
  5. Implementa la UI in XAML o tramite il nuovo C# Markup.
  6. Sfrutta dependency injection con Microsoft.Extensions.DependencyInjection.
  7. Pubblica con dotnet publish e i tool specifici per piattaforma.

Esempi di app reali in produzione

BBVA, Olo, NBC Sports, UPS Mobile, Outback Steakhouse sono esempi di app B2C su Xamarin/MAUI. App interne enterprise (banche europee, retailer USA) sono il vero punto di forza. Per app consumer da milioni di download il pool e più ridotto. Microsoft promuove MAUI nelle sue conferenze (.NET Conf) con demo e casi studio aggiornati.

Errori comuni e come risolverli

  • Aspettarsi parita con WPF/UWP: MAUI non ha tutti i controlli desktop avanzati.
  • Hot reload instabile: pulisci spesso bin/obj e riavvia il debugger.
  • Plugin mancanti: valuta se serve un Xamarin.Essentials successor o un custom handler.
  • Build iOS senza Mac: serve sempre un Mac in rete o in cloud.
  • Sottostimare la transizione da Xamarin.Forms: la migrazione richiede refactor significativi.

Domande frequenti

D: Xamarin Forms e ancora supportato?
R: No, il supporto ufficiale e terminato nel maggio 2024. Le app esistenti continuano a funzionare, ma non ricevono più aggiornamenti.

D: MAUI e più lento di Flutter?
R: A runtime e simile per app standard. Le animazioni complesse sono meno fluide rispetto a Flutter.

D: Posso pubblicare un'app MAUI sul Mac App Store?
R: Si, tramite il target Mac Catalyst.

D: MAUI supporta Linux?
R: Non ufficialmente. Esiste un progetto community ma non production-ready.

Verdetto finale

MAUI vale la pena per organizzazioni già investite in ecosystem .NET. Per nuovi progetti consumer o startup, valutare Flutter o React Native con più attenzione e razionale. Microsoft continua a investire ma la community resta limitata. Decisione tecnologica importante: pesa team skills, manutenzione lungo termine, integrazione con stack esistente.

Hai bisogno di aiuto?

Se vuoi sviluppare la tua app con G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?