Mentre dal 1° maggio 2024, Microsoft ha comunicato la fine del supporto per Xamarin, Uno Platform si conferma come una delle migliori soluzioni per creare app .NET per il Web, i dispositivi mobili, desktop ed embedded utilizzando lo stesso codice di programmazione. Uno Platform si distingue per l’impressionante gamma di funzionalità e il focus sulla produttività e flessibilità, per creare programmi .NET che “semplicemente funzionano” su tutte le piattaforme, senza la necessità di apportare modifiche sul codice.
La piattaforma è open source ed è capace di adattarsi alle necessità di ciascun programmatore. Gli sviluppatori possono ad esempio decidere di utilizzare i propri strumenti preferiti. Che si tratti di Visual Studio, Visual Studio Code o Rider, Uno Platform offre un’esperienza di sviluppo senza soluzione di continuità. Grazie al supporto integrato per C# e XAML Hot Reload, è possibile creare e testare le interfacce utente in tempo reale, migliorando notevolmente la produttività.
Uno degli elementi distintivi di Uno Platform è l’integrazione con Figma, un popolare strumento di progettazione. Gli sviluppatori possono esportare facilmente i design da Figma e generare rapidamente markup in C# o XAML così da rispecchiare fedelmente il design originale.
Cos’è Uno Platform e quali sono le sue finalità
Come spiegato nell’introduzione, Uno Platform per .NET è una tecnologia che consente lo sviluppo di applicazioni cross-platform, permettendo di creare un’unica codebase che può essere eseguita su piattaforme come iOS, Android, Windows, macOS, Linux e Web. Ciascuno sviluppatore può quindi scrivere codice una sola volta e distribuirlo su molteplici dispositivi e sistemi operativi.
Uno Platform sfrutta le API .NET per garantire un’esperienza di sviluppo fluida e costruire interfacce utente responsive e performanti. Grazie alla sua architettura, consente di creare applicazioni native che mantengono un aspetto e un comportamento coerenti su diverse piattaforme, riducendo al minimo la necessità di scrivere codice specifico per ciascun sistema operativo.
Dalle centinaia di componenti UI .NET disponibili alle funzionalità native di Windows, Uno Platform offre agli sviluppatori tutti gli strumenti necessari per creare app di alta qualità e dalle prestazioni ottimali.
Il supporto per XAML, linguaggio dichiarativo per la progettazione delle interfacce utente, facilita la creazione di layout flessibili e adattabili a diversi schermi e risoluzioni. Questo approccio permette agli sviluppatori di concentrarsi sulla logica dell’applicazione, riducendo i tempi di sviluppo e migliorando l’efficienza. È comunque possibile utilizzare anche il markup C#.
Come funziona Uno Platform, in breve
Abbiamo detto che Uno Platform è progettata per consentire l’esecuzione dello stesso codice dell’applicazione su tutte le piattaforme supportate, garantendo un’esperienza coerente per gli utenti indipendentemente dal dispositivo utilizzato.
Su Windows, l’applicazione viene compilata utilizzando lo strumento Windows App SDK, senza coinvolgere Uno Platform. In sostanza, il programma realizzato dallo sviluppatore è trattatao come un’applicazione WinUI single-platform. Il cuore di Uno Platform è Uno.UI, un pacchetto NuGet che riproduce completamente l’API di WinUI, inclusi tutti i namespace, le classi e i membri delle classi. In questo modo, è possibile replicare l’aspetto e il comportamento dell’applicazione su tutte le piattaforme, mantenendo un’API pubblica uniforme.
Durante il rendering dell’interfaccia utente, gli elementi XAML sono convertiti in elementi HTML per il Web, in viste native per iOS e Mac Catalyst, per Android e direttamente sotto forma di canvas Skia per Linux.
Al momento della compilazione dell’applicazione, Uno Platform gestisce vari aspetti. Citiamo, per esempio, la generazione dei file binari delle applicazioni, il parsing degli elementi XAML e la conversione delle risorse come immagini e stringhe nei formati appropriati per ogni piattaforma di destinazione. I file XAML sono convertiti in codice C# tramite un generatore di codice Roslyn, facilitando il processo di sviluppo senza richiedere interventi manuali.
Iniziare a lavorare con Uno Platform
Per provare i tanti aggiornamenti recentemente applicati sulla piattaforma, è sufficiente configurare il proprio sistema operativo e l’ambiente di sviluppo integrato (IDE) preferito. Uno Platform offre supporto per una vasta gamma di sistemi operativi e IDE: dal sito ufficiale del progetto, cliccate su Develop quindi sull’ambiente di sviluppo preferito per effettuare il download dell’add-on da installare.
Per installare Uno Platform in Visual Studio, è necessario abilitare i componenti in figura quindi aggiungere l’estensione dall’apposito menu, come indicato nel documento di supporto Get started on Visual Studio 2022.
Avvalendosi del contributo del Sottosistema Windows per Linux (WSL), è possibile eseguire Linux in Windows e provare in tempo reale tutte le applicazioni in corso di sviluppo. La procedura da seguire per attivare il supporto per i progetti Skia desktop differisce a seconda della distribuzione Linux installata in WSL. I comandi da impartire per configurare l’ambiente di lavoro, tuttavia, si possono trovare nella pagina disponibile sul sito di Uno Platform.
Anche nel caso di Visual Studio Code, basta installare l’estensione di Uno Platform (aggiungere anche OpenJDK 11 per lo sviluppo di applicazioni Android su Linux).
In ogni caso, per verificare il corretto funzionamento della piattaforma, si possono impartire i seguenti comandi dalla riga di comando Windows:
dotnet tool install -g uno.check dotnet tool update -g uno.check uno-check
I passaggi da seguire sono molto simili, a parte differenze minimali, su macOS e Linux.
Creare programmi .NET con l’IDE che più vi piace
Per richiedere la creazione di un’app .NET da Visual Studio basta avviare un nuovo progetto quindi selezionare la voce Uno Platform App. La piattaforma mette a disposizione diversi modelli per predisporre lo scheletro del programma che s’intende realizzare.
Nel caso di Visual Studio Code, invece, è necessario utilizzare il Live Wizard da browser Web. Anche in questo caso, è possibile assegnare un nome al progetto in corso di creazione per poi passare alla scelta del template.
L’applicazione può quindi essere aperta portandosi nel percorso che la contiene, quindi digitando code ./MyApp
(specificando, ovviamente, il nome corretto del programma).
Maggiori informazioni sulla scrittura dell’applicazione con Uno Platform sono disponibili nella documentazione ufficiale.