.NET MAUI

.NET MAUI è l’acronimo di Multiplatform App User Interface. Introduce un nuovo modo di sviluppare applicazioni con una architettura  MVU (Model-View-Update) oltre a XAML e MVVM. .NET MAUI si integra con .NET 6 e supporta “tutte” le piattaforme tra cui Mac, Linux, Windows, Android e iOS.  

.NET MAUI è un framework di nuova generazione che consentirà agli sviluppatori di creare app per qualsiasi dispositivo da una singola code base e da un singolo sistema di progetto, inclusi i dispositivi mobili e desktop con più sistemi operativi.

Con .NET MAUI avremo non solo un singolo progetto per le varie piattaforme, riducendo così potenzialmente il sovraccarico di più riferimenti al progetto, ma anche una posizione dove avere le risorse come font ed immagini e la possibilità di gestire il codice specifico per le varie piattaforme.

net maui

Come funziona .NET MAUI

.NET MAUI unifica le API Android, iOS, macOS e Windows in un’unica API che consente agli sviluppatori un’esperienza di scrittura una sola volta eseguibile ovunque, fornendo un accesso profondo a ogni aspetto di ogni piattaforma nativa. 

.NET MAUI utilizza quindi direttamente le API della piattaforma nativa.

Le app .NET MAUI possono essere scritte su PC o Mac e compilate in pacchetti di app native: le app Android create usando .NET MAUI vengono compilate da C# in un linguaggio intermedio (IL) che viene quindi compilato just-in-time (JIT) in un assembly nativo all’avvio dell’app. 

.NET 6 fornisce una serie di framework specifici della piattaforma per la creazione di app: .NET per Android, .NET per iOS, .NET per macOS e libreria dell’interfaccia utente di Windows (WinUI). Questi framework hanno tutti accesso alla stessa libreria di classi base .NET 6 (BCL). 

net maui

Questa libreria astrae i dettagli della piattaforma sottostante dal tuo codice. Per fornire l’ambiente di esecuzione per il codice, il BCL dipende dal runtime .NET. 

Per Android, iOS e macOS, l’ambiente è implementato grazie a Mono, un’implementazione del runtime .NET. Su Windows, WinRT svolge lo stesso ruolo, nonostante sia ottimizzato per la piattaforma Windows. Sebbene il BCL consenta alle app in esecuzione su piattaforme diverse di condividere una logica di business comune, le varie piattaforme hanno modi diversi di definire l’interfaccia utente per un’app e forniscono modelli diversi per specificare come gli elementi di un’interfaccia utente comunicano e interagiscono. È possibile creare l’interfaccia utente per ogni piattaforma separatamente, utilizzando il framework specifico della piattaforma appropriato (.NET per Android, .NET per iOS, .NET per macOS o WinUI). Tale approccio richiede quindi di mantenere una base di codice per ogni singola famiglia di dispositivi. 

Le app iOS create utilizzando .NET MAUI sono completamente compilate in AOT da C# nel codice assembly ARM nativo. Le app macOS create utilizzando .NET MAUI utilizzano Mac Catalyst, una soluzione di Apple che porta la tua app iOS, creata con UIKit, sul desktop e la amplia con AppKit aggiuntive e API della piattaforma, secondo necessità. Le app di Windows create con .NET MAUI usano la libreria dell’interfaccia utente di Windows (WinUI) 3 per creare app native che possono essere destinate al desktop di Windows e alla piattaforma UWP (Universal Windows Platform).

Cosa offre .NET MAUI

.NET MAUI fornisce una raccolta di controlli che possono essere usati per visualizzare dati, avviare azioni, indicare attività, visualizzare raccolte, selezionare dati.

Come provare fin da subito .NET MAUI

  1. Apri Visual Studio 2022 e crea un nuovo progetto, selezionando MAUI nell’elenco dei template disponibili.

net maui

2. Attendi che visual studio finisca il set-up del progetto.

net maui

3. Nella barra degli strumenti di Visual Studio, seleziona la piattaforma che preferisci per provare l’app e fai partire la compilazione.

net maui

4. Testa e sperimenta tutte le funzionalità messe a disposizione dal framework.

net maui