Le mobile app stanno oggi letteralmente invadendo la nostra quotidianità; se verso la fine degli anni ’90 il web mise il mondo a portata di computer, oggi le app ce lo servono a portata di dito.
Oggi abbiamo a disposizione un numero sconfinato di App; già solo se pensiamo a quelle che quotidianamente troviamo sui due principali marketplace, Google Play per Android e App Store per IOS, sono un numero enorme; se poi prendiamo in considerazione anche piattaforme meno utilizzate ma ugualmente fornite, come Tizen o Blackberry OS, ci accorgiamo di essere di fronte a numeri veramente importanti.
Scegliere dove lanciare la propria app è questione di strategia; avendo ogni marketplace differenti caratteristiche bisogna scegliere a chi rivolgersi; in ognuno ci sono differenti vantaggi e svantaggi, tutto dipende da chi vogliamo raggiungere.
Cominciamo col dire che ogni piattaforma di vendita esige una costruzione di App differente, che equivale a dire un linguaggio differente.
- Per un’App IOS bisogna usare un linguaggio Objective C
- Per il marketplace Android la lingua da usare è il Java
- Microsoft per i suoi Windows Phone vuole il cosiddetto C#
Costruire un’App: differenti lingue per differenti user
Oggi tutti sanno cos’è un’App ma forse non tutti sanno che un’applicazione non è un’unità standard ma un’entità fluida che può presentare diverse caratteristiche a seconda dall’uso che se ne vuole fare.
Ci sono tre diversi modi in cui poter progettare un’App:
- L’App Nativa, quelle App pensate, progettate e scritte per una sola specifica piattaforma.
- Le Web App che sono, fondamentalmente, pagine web ottimizzate per il mobile attraverso alcune tecnologie web come l’HTML5 e javascript.
- Le App Ibride, la via di mezzo tra le due precedenti: scritte con tecnologia web ma eseguite dentro di un’applicazione nativa.
Di seguito si esplorerà la terza di queste, le App ibride, scritte con linguaggio web ma incapsulate dentro un’App.
Pregi e difetti
Quale delle sopra elencate è meglio scegliere? Dipende tutto dall’uso che se ne vuole fare.
L’App nativa ha sicuramente dei grandi vantaggi in termini di grafica e di usabilità ma, come detto in precedenza, il suo funzionamento è legato solo ad una piattaforma.
La Web App è di contro indipendente dalla piattaforma che si utilizza ma, non essendo un’App a tutti gli effetti, non può sfruttare le caratteristiche hardware del dispositivo; per fare un esempio, con una web App non potrete mai scattare una foto ed aggiungere da postare, in quanto non ha diretto accesso alla fotocamera.
Infine l’App Ibrida è una buona via di mezzo delle due precedenti, riuscendo a coniugare la completezza di un’App nativa con la duttilità dell’App web. Chiaramente sarà meno attrattiva graficamente rispetto all’App nativa ed i collegamenti con le funzioni interne dello smartphone saranno più lenti; ciò nonostante vanterà tutte le funzioni tipiche di una vera App, garantendo così usabilità e funzionalità.
Non c’è una versione perfetta, dipende dall’uso che si ha necessità di fare dell’app. Di seguito verranno esplorate le App ibride e, soprattutto, lo strumento per svilupparle.
Apache Cordova: lo strumento per App ibride
Apache Cordova, più brevemente Cordova, nasce da un progetto chiamato PhoneGap ed è un software open source che permette di costruire agevolmente un’App ibrida. Qual è il grande vantaggio di questo framework? Perché ne parliamo?
Perché Cordova ha al suo interno un’architettura che possiamo banalmente comparare a quella di un contenitore di applicazione web, dando però all’App simultaneamente la possibilità di essere eseguita localmente, su dispositivo mobile.
Cordova si presenta graficamente con una web view, all’interno della quale viene visualizzato l’HTML ed il CSS e viene eseguito il codice JavaScript. Tramite quest’ultimo è possibile accedere ad una serie di API (Application Programming Interface, librerie di funzioni in grado di mettere in contatto due programmi altrimenti tra loro incompatibili) che collegano l’interfaccia web con le funzionalità della piattaforma ospite.
Quindi, perché uno sviluppatore dovrebbe scegliere Cordova? Perché mette a disposizione web view e API, permettendo di concentrarsi solo sulla scrittura del codice.
Per chi non avesse troppa dimestichezza con i termini informatici: Apache Cordova mette a disposizione un contenitore, come se fosse un’App vuota, che lo sviluppatore deve riempire con codice HTML, CSS e JavaScript. Il risultato sarà un’App con base web comune ma con diverso codice interno a seconda del marketplace di destinazione.
Al momento Cordova ‘’si’’ mette a disposizione per tutte le maggiori piattaforme mobile:
- Android
- IOS
- Blackberry
- Bada
- Tizen
- Windows Phone
Potete da soli immaginare il numero pressoché sconfinato di utilizzatori potenziali che potrebbero interfacciarsi con un’App costruita con Cordova.
Per maggiori info, andare sulla pagina ufficiale di Cordova.