Dall'archivio articoli > Xamarin
La tecnologia Xamarin per lo sviluppo multipiattaforma
Per poter utilizzare questa funzionalità, devi fare il login o iscriverti.
Lo sviluppo di applicazioni mobile ha conosciuto in questi ultimi anni un incremento esponenziale, e sempre più spesso vi è la necessità di rendere disponibile la medesima applicazione per le piattaforme d'uso più utilizzate, come Android, iOS e Windows Phone.
L'approccio classico è quello di creare diversi team di sviluppo, uno per piattaforma. Per ovviare all'inevitabile duplicazione di lavoro che una tale organizzazione comporta, nel tempo sono stati realizzati e offerti sul mercato diversi framework di sviluppo, di tipo ibrido, tra i quali il più famoso è certamente PhoneGap. In buona sostanza, i framework ibridi offrono la possibilità di creare delle app simili a quelle web, sviluppate in HTML, CSS, and JavaScript, che vengono eseguite su un controllo web browser implementato su ciascuna piattaforma.
Lo svantaggio di una tale soluzione sta nella limitazione delle funzionalità specifiche disponibili per ciascuna piattaforma e nell'omologazione dell'interfaccia utente e quindi della user experience. Nella pratica, si nota una generale similitudine delle app prodotte con questi tipi di framework, unita a uno scarso gradimento da parte degli utenti, che si aspettano un look and feel più rispondente alla loro piattaforma.
Ciò non di meno, la possibilità di usare uno strumento che offra un paradigma di sviluppo noto e comune alle tre piattaforme, è senz'altro un valido motivo che spinge aziende e team di sviluppo, che magari non dispongono della conoscenza approfondita dei differenti linguaggi e API di sviluppo, a utilizzare i framework ibridi come valida soluzione per lo sviluppo di applicazioni multipiattaforma.
In questo contesto, Xamarin offre vantaggi simili, consentendo l'uso del linguaggio C# e di .NET per lo sviluppo di applicazioni Android, iOS e Windows Phone, con in più la possibilità di poter utilizzare tutte le caratteristiche native, sia per quanto riguarda l'interfaccia che per le peculiarità, delle diverse piattaforme.
Nel 1999 uno sviluppatore di nome Miguel de Icaza fonda insieme al suo amico e collega Nat Friedman una società di nome Helix Code, per lo sviluppo di software gratuito in ambiente Linux. Nel 2001 la società cambia nome in Ximian e annuncia l'avvio un progetto chiamato Mono, capitanato dallo stesso Miguel de Icaza, con l'obiettivo di effettuare il porting di Microsoft .NET su Linux e più in generale su tutte le piattaforme Unix-like.
Due anni dopo, Ximian viene acquistata da Novell e da essa finanziata per proseguire lo sviluppo del progetto Mono. Durante questo periodo vengono sviluppate anche delle versioni di Mono per Android e per iPhone, chiamate rispettivamente Monodroid e MonoTouch, che però non hanno particolare successo.
Quando nel 2011 Novell viene a sua volta acquistata da Attachmate e il progetto Mono abbandonato, Miguel de Icaza fonda una nuova società, denominata Xamarin, che ottiene da Novell i diritti per lo sviluppo e la vendita dei suddetti prodotti, rinominati Xamarin.Android e Xamarin.iOS.
Tale genesi è illustrata schematicamente nella figura seguente.
La piattaforma Android è, come molti sanno, assai aperta alle modifiche e molto più permissiva di quella Apple, di cui parleremo più avanti. Quindi su Android viene installato un Mono runtime che si occupa di eseguire .NET API sulle quali applicazione è basata. Lo sviluppo nativo, che consente di utilizzare C# per chiamare tutte le API di Android, si ottiene mediante il binding delle suddette API, consentendo uno scambio bidirezionale tra il Mono runtime e il Dalvik runtime di Android. La figura seguente illustra meglio questo concetto.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.