Sviluppo mobile con Xamarin Forms e .NET Standard 2.0

di Marco Leoncini, Matteo Tumiati, in Xamarin,

Lo sviluppo su mobile, con particolare riferimento al mondo nativo, ha vantaggi notevoli: performance massime su ogni device poiché il codice è ottimizzato, per lo sviluppo ci sono documentazioni ed esempi di tutti i tipi e l'interfaccia grafica viene creata seguendo il contesto della piattaforma.

Chiaramente un approccio di questo tipo non ha solo lati positivi ma anche lati negativi, come il fatto che per sviluppare un'applicazione cross-platform (quindi la stessa applicazione funzionante su dispositivi iOS ed Android, ad esempio) si perde almeno il doppio del tempo. Non da meno va considerato il fatto che sono necessarie competenze considerevolmente diverse ed è difficile trovare persone tecniche che conoscono in modo approfondito tutte le piattaforme, sia a livello di codice di business, di framework, che a livello di interfaccia grafica, che solitamente è in un linguaggio ben diverso dal codice di code-behind e sfrutta una modalità di riuso differente rispetto al classico Model-View-ViewModel. Il tutto si traduce in costi notevolmente maggiori.

Per cercare di risolvere tutti i problemi evidenziati sono nati diversi framework con tecnologie diverse che si promettono tutti di semplificare la scrittura e la condivisione del codice, così da avere un numero minimo di risorse tecniche e di massimizzare la "reachness" (ovvero un solo codice ma più applicazioni generate): nascono così strumenti come React, Cordova, Ionic e, per l'appunto, Xamarin.

Abbiamo già affrontato il tema Xamarin negli anni passati, sia nel 2013 che nel 2014, ma con un riferimento piuttosto esplicito a solo quella che è la parte nativa di Xamarin, ovvero quella che permette di scrivere codice in C# e di condividere la logica di business tra le piattaforme, mantenendo però separata tutta la parte relativa all'interfaccia grafica.

Lo scopo di questo articolo è quello di vedere quali sono le novità nell'ambiente di Xamarin, non solo spiegando quello che c'è già oggi disponibile sul mercato, ma anche facendo qualche esempio di quello che sarà il futuro dei prossimi anni. Pertanto, poiché i concetti alla base di Xamarin non sono cambiati, rimandiamo agli articoli precedenti per avere una overview di tutto quello che offre, in termini di funzionalità e vantaggi, un framework di questo tipo.

Xamarin Forms

Sono ormai passati un paio d'anni dal suo primo rilascio, ma non ne abbiamo mai parlato in modo approfondito. Mentre Xamarin consente di condividere la business logic e tutto quello che gli ruota attorno, Xamarin.Forms è una variante di Xamarin che permette di condividere anche la parte di User Interface, sfruttando quella che può essere definita una versione alternativa di XAML.

Allo stesso modo di Xamarin tradizionale, scrivere il codice e l'interfaccia grafica una sola volta implica comunque la possibilità di portare l'applicazione generata (nativa) in tutte le piattaforme attualmente supportate: Android, iOS (Apple TV, Apple Watch, iPhone e iPad) e Windows.

Per condividere anche l'interfaccia grafica però, hanno dovuto introdurre a livello di framework un nuovo strato molto simile allo XAML, a cui siamo già abituati dai tempi di WPF, e questo implica che possiamo riutilizzare tutte le competenze tecniche dei classici sviluppatori .NET.

Questo strato di traduzione serve come una sorta di contratto, in cui l'interfaccia grafica viene descritta e poi tradotta dal motore dietro Xamarin in componenti nativi: ad esempio, l'oggetto Entry può essere tradotto in automatico in UITextView se siamo su iOS, piuttosto che in EditText se siamo su Android o in TextBox se siamo su Windows.

In questo caso specifico, strutturare bene la UI è fondamentale per avere non solo un'applicazione più bella da vedere, ma anche, più semplicemente utilizzabile e mantenibile. Poiché non è scopo di questo articolo affrontare come si crea un progetto di base su Xamarin.Forms, rimandiamo ad un nostro approfondimento precedente e vedremo solamente nel dettaglio quelle che sono le parti legate all'interfaccia grafica e personalizzazione degli stili.

6 pagine in totale: 1 2 3 4 5 6
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc