Cos'è Xamarin.Forms?

Screenshots of example Xamarin.Forms application in iOS and Android

Xamarin.Forms è un framework dell'interfaccia utente open source. Xamarin.Forms consente agli sviluppatori di compilare applicazioni Xamarin.Android, Xamarin.iOS e Windows da un'unica codebase condivisa.

Xamarin.Forms consente agli sviluppatori di creare interfacce utente in XAML con code-behind in C#. Queste interfacce vengono visualizzate come controlli nativi a prestazioni elevate in ogni piattaforma.

Chi Xamarin.Forms è per

Xamarin.Forms è destinato agli sviluppatori con gli obiettivi seguenti:

  • Condividere il layout e la progettazione dell'interfaccia utente tra le piattaforme.
  • Condividere il codice, i test e logica di business tra le piattaforme.
  • Scrivere app multipiattaforma in C# con Visual Studio.

Come Xamarin.Forms funziona

Xamarin.Forms architecture diagram

Xamarin.Forms fornisce un'API coerente per la creazione di elementi dell'interfaccia utente tra piattaforme. Questa API può essere implementata in XAML o C# e supporta il data binding per modelli come MVVM (Model-View-ViewModel).

In fase di esecuzione, Xamarin.Forms usa i renderer della piattaforma per convertire gli elementi dell'interfaccia utente multipiattaforma in controlli nativi in Xamarin.Android, Xamarin.iOS e UWP. Ciò consente agli sviluppatori di ottenere l'aspetto e le prestazioni nativi continuando a usufruire dei vantaggi della condivisione del codice tra le piattaforme.

Xamarin.Forms le applicazioni sono in genere costituite da una libreria .NET Standard condivisa e da singoli progetti di piattaforma. La libreria condivisa contiene le visualizzazioni XAML o C# e la logica di business, ad esempio servizi, modelli o altro codice. I progetti di piattaforma contengono la logica specifica della piattaforma o i pacchetti richiesti dall'applicazione.

Xamarin.Forms usa la piattaforma Xamarin per eseguire applicazioni .NET in modo nativo tra piattaforme. Per altre informazioni sulla piattaforma Xamarin, vedere Che cos'è Xamarin?.

Funzionalità aggiuntiva

Xamarin.Forms ha un ampio ecosistema di librerie che aggiungono funzionalità diverse alle applicazioni. Questa sezione descrive alcune di queste funzionalità aggiuntive.

Xamarin.Essentials

Xamarin.Essentials è una libreria che fornisce API multipiattaforma per le funzionalità native dei dispositivi. Come Xamarin stesso, Xamarin.Essentials è un'astrazione che semplifica il processo di accesso alle utilità native. Alcuni esempi di utilità forniti da Xamarin.Essentials includono:

  • Informazioni dispositivo
  • File system
  • Accelerometer
  • Dialer telefono
  • Sintesi vocale
  • Blocco dello schermo

Per ulteriori informazioni, vedere Xamarin.Essentials.

Shell

Xamarin.Forms Shell riduce la complessità dello sviluppo di applicazioni per dispositivi mobili fornendo le funzionalità fondamentali richieste dalla maggior parte delle applicazioni. Di seguito sono riportati alcuni esempi di funzionalità disponibili nella shell:

  • Esperienza di navigazione comune
  • Schema di navigazione basato su URI
  • Gestore integrato per la ricerca

Per altre informazioni, vedere Xamarin.Forms Shell

Funzionalità specifiche della piattaforma

Xamarin.Forms fornisce un'API comune che esegue il rendering di controlli nativi tra piattaforme, ma una piattaforma specifica può avere funzionalità che non esistono in altre piattaforme. La piattaforma Android, ad esempio, include funzionalità native per lo scorrimento rapido in un elemento ListView, non disponibili in iOS. Xamarin.Forms le specifiche della piattaforma consentono di usare funzionalità disponibili solo in una piattaforma specifica senza creare renderer o effetti personalizzati.

Xamarin.Forms include soluzioni predefinite per un'ampia gamma di funzionalità specifiche della piattaforma. Per altre informazioni, vedi:

Oggetto visivo Material

Xamarin.Forms L'oggetto visivo materiale viene usato per applicare regole di progettazione materiale alle Xamarin.Forms applicazioni. Xamarin.Forms Material Visual usa la proprietà Visual per applicare selettivamente renderer personalizzati all'interfaccia utente, ottenendo un'applicazione con un aspetto coerente in iOS e Android.

Per altre informazioni, vedere Xamarin.Forms Material Visual