
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
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.
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.
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 è 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.
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.
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.
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 | Sì | Titanium Studio | Android iOS Blackberry Tizen |
Rhomobile | Ruby JavaScript HTML CSS | Sì | 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 |
Se vuoi aggiornamenti su Mobile tool per Sviluppare app multipiattaforma inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Introduzione a TurboGears, framework per lo sviluppo di applicazioni web sfruttando tutti i vantaggi del linguaggio di programmazione Python.
Alcuni utili consigli per migliorare le performance di caricamento e visualizzazione di una pagina web, sfruttando alcuni trucchi basati su Javascript.
Questo articolo introdurrà il linguaggio JavaScript ai programmatori Java enfatizzando soprattutto le differenze al fine di garantire un più rapido apprendimento.
Android è il sistema operativo mobile più diffuso attualmente sul mercato. Imparare a sviluppare app per Android è quindi la chiave d’accesso ad uno dei mercati più attivi nello sviluppo mobile. Questa guida completa e dettagliata fornisce tutte le informazioni necessarie per imparare a progettare ed implementare app moderne e funzionali per Android.