Lavora con noi Caso Studio.
A partire da maggio 2024, Microsoft ha cessato il supporto per Xamarin. Ma per molte aziende questo significa un’opportunità: è il momento di migrare a .NET MAUI. Questo framework moderno è stato creato per semplificare la vita degli sviluppatori, unificando i progetti e rendendo più facile la gestione di app multipiattaforma. Mentre con Xamarin.Forms si dovevano creare progetti separati per ogni piattaforma, .NET MAUI consente di mantenere un’unica base di codice, riducendo i costi di sviluppo e manutenzione.
Stesi Srl è sponsor di 1nn0va da anni e, durante il .NET Saturday di Pordenone del 25 gennaio 2025, il nostro CIO Giovanni Silvestrin ha condiviso i suoi consigli per una migrazione fluida da Xamarin a .NET MAUI, sottolineando i vantaggi di Microsoft .NET in questo processo.
Xamarin.Forms vs .NET MAUI: le differenze
Con l’aggiornamento da Xamarin a .NET MAUI, Microsoft ha semplificato lo sviluppo multipiattaforma. A differenza di Xamarin, che richiedeva progetti separati per ogni piattaforma, .NET MAUI consente di gestire tutto da un’unica base di codice. Questo framework offre una gestione semplificata delle risorse, prestazioni superiori e supporto nativo migliorato. Strumenti come Hot Reload e nuovi pattern (MVU / Blazor) ottimizzano ulteriormente il processo, rendendo .NET MAUI una scelta strategica per ridurre i costi e migliorare le app.
Cosa fare prima della migrazione da Xamarin a. NET MAUI: la checklist
Prima di iniziare a migrare un progetto da Xamarin a .NET MAUI è importante portare a termine una serie di controlli. Nello specifico:
Tutti gli step per una migrazione da Xamarin a .NET MAUI senza intoppi
1. Crea un nuovo progetto .NET MAUI
Inizia valutando la complessità del tuo progetto Xamarin.Forms e identifica eventuali librerie di terze parti. Crea un nuovo progetto in .NET MAUI come punto di riferimento per capire come dovrà essere strutturato e configurato.
2. Aggiorna i file di progetto
Modifica i file .csproj per allinearli al nuovo formato .NET SDK e aggiorna i target framework per includere .NET MAUI (come net7.0-android). Cambia i riferimenti da Xamarin.Forms a Microsoft.Maui.Controls e aggiorna i pacchetti NuGet ai loro equivalenti MAUI.
3. Apporta le modifiche più importanti
.NET MAUI introduce diversi cambiamenti. Cambia sensibilmente il comportamento della UI per le grid e il comportamento del rendering per controlli grafici, per esempio, che sono sempre da mantenere in binding per ottenere il miglior risultato possibile (mentre è consigliabile abbandonare i rendering personalizzati a favore di gestori più performanti).
4. Gestisci risorse e funzionalità specifiche della piattaforma
Passa a MauiProgram.cs per la gestione delle risorse, aggiornando il modo in cui immagini, font e altre risorse sono utilizzate. Anche l’accesso alle API della piattaforma dovrebbe essere aggiornato, passando da DependencyService a .NET MAUI Handlers.
5. Usa l’Assistente per l’Upgrade .NET
Lo strumento .NET Upgrade Assistant può automatizzare buona parte della migrazione da Xamarin a .NET MAUI, gestendo aggiornamenti e configurazioni necessarie. Anche se alcune parti richiederanno ancora interventi manuali, questo tool può risparmiare molto tempo.
6. Aggiustamenti manuali e test
Dopo l’uso dell’assistente, risolvi eventuali errori di compilazione e fai test su tutte le piattaforme supportate (Android, iOS, Windows, macOS) per assicurarti che l’app funzioni come previsto. Ricostruisci il progetto regolarmente e rivedi il codice specifico della piattaforma.
Migrazione manuale o automatica? Pro e contro
La migrazione può essere fatta manualmente o con l’aiuto di strumenti automatici.
Migrazione manuale: richiede più tempo, ma ti dà il pieno controllo su ogni dettaglio del processo. È l’ideale per progetti complessi che richiedono adattamenti specifici.
Migrazione automatica: strumenti come il .NET Upgrade Assistant possono semplificare molto il processo, aggiornando file e dipendenze in automatico. Perfetto per progetti meno complessi o quando si vuole ridurre il tempo di transizione.
Adatta il tipo di migrazione alla complessità del tuo progetto e non avrai problemi.
Pro Tip per una migrazione senza stress
Ricorda che alcune librerie o componenti potrebbero non essere ancora supportati in .NET MAUI; quindi, investi del tempo extra nella fase di ricerca.
Sovrastima anche le tue tempistiche: ci saranno sempre piccoli problemi che richiederanno aggiustamenti e causeranno allungamenti nella tua time-line. Ricordati anche di preparare il tuo management a non avere risultati immediati.
Questa è una migrazione che richiede tempo prima di vedere i primi risultati e ogni step va fatto con cura.
Caso studio: silwa mobile reengineering
L’evoluzione delle applicazioni enterprise ha visto una significativa trasformazione con il passaggio da sistemi operativi dedicati, come Windows CE, a piattaforme più moderne e performanti come Android e .NET MAUI. L’app silwa mobile di Stesi ha vissuto direttamente questo cambiamento.
silwa è il Supply Chain Execution System (SCES) sviluppato da Stesi che combina le funzionalità di un WMS (Warehouse Management System) e di un MES (Manufacturing Execution System). Serve a gestire tutto il flusso logistico della merce all’interno degli stabilimenti dall’accettazione alla spedizione.
In passato, silwa era sviluppata e mantenuta su Windows CE. Il sistema operativo si prestava per essere utilizzato su dispositivi rugged e handheld scanner per magazzino e offriva stabilità e una lunga durata di supporto. Sviluppato in .NET Compact Framework con Visual Studio 2008 per Windows Embedded Compact 7 e successivamente con Visual Studio 2012 per EC 8, silwa mobile ha sfruttato le tecnologie Microsoft per garantire aggiornamenti stabili e compatibilità a lungo termine.
Tuttavia, con l’avvento di Android, le dinamiche del mercato enterprise sono cambiate. Dal 2014, Android ha iniziato ad acquisire sempre più mercato con la nascita di Android Enterprise e la crescente adozione di terminali basati su Android 7.0 Nougat. Nel 2016, Android deteneva già oltre il 70% del mercato mobile mondiale (enterprise e consumer), portando alla necessità di una nuova fase evolutiva per silwa mobile.
L’effetto della migrazione da Xamarin a .NET MAUI su silwa mobile
Nel 2020, l’annuncio di Microsoft della fine del supporto per Xamarin.Forms e il lancio di .NET MAUI, ha spinto Stesi a intraprendere una nuova migrazione di silwa mobile, questa volta verso .NET MAUI, per mantenere il progetto al passo con le nuove tecnologie e garantire un ciclo di sviluppo più efficiente.
I punti chiave della migrazione da Xamarin a .NET MAUI sono:
Sfide vinte
Durante il processo di migrazione, il team di sviluppo di Stesi ha dovuto affrontare diversi aspetti tecnici, tra cui:
Risultati ottenuti
La migrazione a .NET MAUI ha portato numerosi vantaggi per silwa mobile, tra cui:
FAQ: Domande e Risposte sulla migrazione da Xamarin a .NET MAUI
Durante il .NET Saturday di 1nn0va, sono emerse alcune domande riguardo alla migrazione da Xamarin a .NET MAUI e all’uso di dispositivi Android in ambiente enterprise. Ecco alcune delle domande più rilevanti e le risposte fornite dal nostro CIO, Giovanni Silvestrin.
Risposta:
»Abbiamo implementato un sistema basato su Android Device ID con una logica di abilitazione e disabilitazione intelligente delle licenze.«
Risposta:
»Attualmente no, i produttori di device Android per ambiente enterprise generalmente distribuiscono sul mercato dispositivi con più di una versione aggiornabile/compatibile del sistema, permettendo eventualmente di riadattare il proprio S.O. e l’applicativo agli ultimi avanzamenti tecnologici«
Risposta:
»Considerate le possibilità date nativamente da .Net Maui, lo consiglierei solo in caso di particolari necessità. In questi casi esistono comunque molti framework open source, aggiornati in modo continuo dalla community e sostenuti da un ampio team di sviluppatori, che rende disponibile un’abbondante varietà di controlli.«
Conclusione
Nonostante la fine del supporto per gli OS Microsoft in ambito mobile, l’IDE Visual Studio permette di sviluppare applicazioni per le piattaforme più diffuse in modalità cross-platform. Questo riduce i costi e i tempi di apprendimento per le aziende che migrano da Windows CE ad Android tramite .NET MAUI, garantendo prestazioni elevate e un’integrazione perfetta nel mondo enterprise.
Vuoi sapere di più su cosa fa un Full Stack Developer per la Supply Chain e logistica di magazzino? Scopri qui cosa fa e quanto guadagna.
Se sei un programmatore software e ti piacerebbe lavorare in una software house, conosciamoci! Scopri le posizioni aperte e inviaci la tua candidatura.