Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Mobile tool per Sviluppare app multipiattaforma

Una panoramica sui principali strumenti per lo sviluppo di app mobile su più piattaforme: da Titanium a Xamarin, passando per Sencha Touch e PhoneGap, tutte le soluzioni preferite dagli sviluppatori.
Una panoramica sui principali strumenti per lo sviluppo di app mobile su più piattaforme: da Titanium a Xamarin, passando per Sencha Touch e PhoneGap, tutte le soluzioni preferite dagli sviluppatori.
Link copiato negli appunti

Appcelerator Titanium

Il primo tool che citiamo per lo sviluppo mobile è Appcelerator Titanium. Si tratta di un framework che consente di utilizzare linguaggi tipici dello sviluppo web, come JavaScript, XML e CSS, per generare app native per iOS, Android, Windows Phone e
Tizen (è anche in grado di creare una versione web dell’app, che utilizza HTML5 e le suddette tecnologie per l’interfaccia e la business logic). Dal sito
ufficiale è possibile ottenere l’IDE e tutti gli strumenti per iniziare lo sviluppo.

I principali vantaggi di Titanium risiedono nella sua facilità d’uso, nonché nella possibilità di utilizzare moduli già pronti (che
possono essere multipiattaforma o specifici per un singolo sistema). Ciò è possibile grazie alla presenza di un Marketplace che offre una vasta gamma di moduli già pronti per soddisfare le
esigenze più svariate. È possibile, inoltre, creare i propri moduli e condividerli.

Inoltre, la possibilità di utilizzare i servizi cloud ACS (Appcelerator Cloud S
ervices), e di integrarli facilmente all’interno delle app generate con Titanium, rende queste ultime facilmente orientabili al cloud, con
la possibilità di gestire dati ed utenti tramite un backend già pronto e funzionale.

Chiunque fosse interessato, può leggere la guida a Titanium, pubblicata su HTML.it.

Rhodes RhoMobile

Un’altra possibilità, molto apprezzata dalla comunità degli sviluppatori mobile, è rappresentata da RhoMobile, un framework open source
per lo sviluppo di app multipiattaforma. Anche in questo caso si tratta di una soluzione molto familiare a chi ha già le competenze richieste per lo
sviluppo web (HTML, CSS e JavaScript), tramite le quali è possibile realizzare app native per Android, iOS, BlackBerry, Windows eccetera. Anche Ruby è supportato come linguaggio di sviluppo, principalmente per implementare i controller del classico modello MVC su cui si basa questo
framework.

Anche le app prodotte con RhoMobile possono essere integrate con servizi cloud: con RhoHub è possibile sviluppare e
sincronizzare le app direttamente sul cloud (motivo per cui questo servizio si propone come implementazione dell’innovativo modello “Development as a
Service”), sfruttando RhoSync come server di sincronizzazione, che permette la modifica offline di dati distribuiti.

Infine, RhoMobile offre anche una sorta di App Store orientato all’ambito Enterprise, chiamato RhoGallery. Esso consente di distribuire le
app ed i relativi aggiornamenti, ad esempio sugli smartphone degli impiegati di un’azienda, consentendone una facile gestione.

Xamarin

Xamarin è una piattaforma basata sul linguaggio C#, pensata per consentire principalmente lo sviluppo di applicazioni per iOS, Android e
Windows, che possono essere compilate in modo distinto durante il deploy. Si tratta di un framework abbastanza avanzato, che consente agli sviluppatori
l’utilizzo trasparente delle API native nell’app prodotta. Tramite Xamarin.Forms, gli sviluppatori hanno inoltre a disposizione un vasto
numero di componenti per la realizzazione dell’interfaccia, in grado di adattarsi facilmente ai sistemi operativi mobile supportati.

Xamarin offre la possibilità di eseguire il codice su un framework .NET, potendo simulare l’esecuzione dell’app sia su iOS che su Android. Risulta
versatile soprattutto per grandi team, in cui molte persone partecipano allo stesso progetto. L’intera piattaforma può essere utilizzata tramite l’IDE Microsoft Visual Studio, le cui funzionalità sono ben note anche a chi non si occupa di sviluppo mobile.

MoSync

A quelli già elencati va aggiunto un ulteriore strumento di sviluppo, che questa volta (oltre ad HTML5 e JavaScript) consente di sviluppare app
multipiattaforma in C e C++, nonché in PHP, Ruby e Python: si tratta
di MoSync, tramite il quale possono essere generate da un unico codice applicazioni in grado di girare su Android, iOS, Windows, Symbian
S60, Java ME e Moblin.

Nato e cresciuto come prodotto open source, MoSync può essere integrato sull’IDE Eclipse e risulta versatile perché utilizzabile da molti
sviluppatori (con competenze sia desktop che web). Recentemente è stata introdotta in MoSync la tecnologia Wormhole, tramite la quale è
perfino possibile scrivere JavaScript e C in uno stesso file.

La mancanza principale di MoSync rispetto alle precedenti soluzioni riguarda l’integrazione con servizi Cloud: sebbene sia comunque possibile utilizzare
soluzioni di altri produttori (come AWS di Amazon), MoSync si limita a fornire un SDK versatile e potente, ma non
un’infrastruttura Cloud a corredo dell’app.

L’SDK di MoSync può essere scaricato dal sito ufficiale.

Corona SDK

Abbiamo visto come sviluppare app multipiattaforma utilizzando diversi linguaggi di programmazione più o meno noti. Corona SDK consente di creare le nostre
applicazioni utilizzando un linguaggio di scripting chiamato Lua, abbastanza semplice ma che in genere deve essere appreso dalla maggior
parte degli sviluppatori (semplicemente perché poco diffuso).

Sebbene imparare un nuovo linguaggio possa sembrare più complicato (rispetto alle soluzioni precedenti), Lua ha il vantaggio di essere costruito su C++ ed OpenGL, consentendo la realizzazione di applicazioni accattivanti in modo relativamente semplice. Una volta
scritto, il codice può essere compilato e trasformato in applicazioni che girano su Android, iOS, Kindle Fire e NOOK.

Un esempio di come si possa realizzare un’app con Corona è disponibile su HTML.it.

PhoneGap e Sencha Touch

Gli ultimi due framework di cui parleremo sono PhoneGap (cui talvolta ci si riferisce anche come Apache Cordova) e Sencha Touch. Il primo di essi consente sostanzialmente di creare app mobile descrivendole in JavaScript, ed utilizzando una serie di
plugin per implementare le funzionalità più svariate. Si tratta di interfacce scritte in JavaScript che richiamano funzionalità native specifiche dei
sistemi su cui l’app sarà utilizzata. Con PhoneGap, l’applicazione generata è una web application eseguita su un componente nativo come una WebView, che ha cioè la capacità di visualizzare pagine web ed interpretare codice JavaScript.

Una soluzione simile è rappresentata da SenchaTouch, che consente di descrivere l’app tramite una serie di classi JavaScript, che vengono
compilate e generano il codice HTML delle pagine in maniera ottimizzata. In questo modo sarà il framework a risolvere i problemi dell’adattare l’HTML a più
dispositivi, lasciando al programmatore soltanto l’onere di occuparsi della business logic.

Mentre inizialmente si trattava di due soluzioni in competizione, la tendenza che sta emergendo è quella di utilizzare entrambe queste tecnologie: Sencha
Touch consente di realizzare (in JavaScript) l’interfaccia, che sarà poi trasformata in una web app da eseguire sul componente nativo ottimizzato e
realizzato con PhoneGap (insieme a tutti gli eventuali plugin).

Le app possono quindi essere esportate per funzionare su Android, iOS, Symbian e Blackberry.

Per maggiori informazioni, su HTML.it sono disponibili approfondimenti relativi a Sencha Touch, nonché una guida a PhoneGap.

Negli ultimi anni, il mercato delle app mobile è letteralmente esploso. Le aziende hanno quindi iniziato a promuovere i propri prodotti attraverso questo nuovo canale, e le competenze richieste agli sviluppatori sono diventate molto variegate: lo sviluppo su iOS ha richiesto prima Objective-C ed ora Swift (con i relativi framework), mentre Android si è basato su Java (prima solo con Eclipse ADT, poi anche con Android Studio). Intanto si sono affermati altri sistemi operativi, minori ma pur sempre significativi: non solo noti come Windows Phone, ma anche emergenti o meno diffusi come Tizen o Ubuntu Touch.

Questa grande frammentazione di tecnologie e sistemi operativi mobile ha portato alla diffusione di nuovi strumenti per lo sviluppo cross-platform, con l’obiettivo di limitare le competenze richieste ai programmatori, pur consentendo la produzione di app fruibili su più sistemi. Questi strumenti, in linea di principio, permettono di scrivere una sola volta il codice, e di compilarlo in modo da produrre più app, ognuna destinata ad una diversa piattaforma.

In questo articolo vedremo alcuni dei principali strumenti di sviluppo di app mobile cross-platform. Prima di iniziare a vederli nel dettaglio, di seguito è mostrata una tabella comparativa dei tool.

Tool Linguaggi di programmazione Backend
(cloud)
IDE Sistemi operativi mobile supportati
PhoneGap
Apache Cordova
Sencha Touch
JavaScript
HTML
CSS
No Eclipse
Altri
Android
iOS
Symbian
Blackberry
Corona SDK Lua No Corona Editor Android
iOS
Kindle Fire
NOOK
Xamarin C# No Xamarin Studio
Visual Studio
Android
iOS
Appcelerator Titanium JavaScript
XML
CSS
Titanium Studio Android
iOS
Blackberry
Tizen
Rhomobile Ruby
JavaScript
HTML
CSS
RhoStudio
Visual Studio
Altri
Android
iOS
Windows
Blackberry
Tizen
MoSync C
C++
PHP
Ruby
Python
No Eclipse Android
iOS
Windows
Symbian S60
Java ME
Moblin

Ti consigliamo anche