Le tipologie di App per iPad (&Co.): Web-applications vs. Native applications…

Una App per iPad (nonché per i vari smartphones, per altre Tablet, ma anche per PC e MAC desktop – in pratica, tutte le applicazioni !) può essere di due tipi:

Applicazione web

Si tratta di un’applicazione scritta in HTML, Javascript, JQuery (più altre eventuali librerie) che viene eseguita all’interno di un Web-browser.

Le web-applications sono diffusissime: sono quelle applicazioni che utilizzate quando siete connessi a Internet mediante il vostro browser. Un esempio ? GMAIL.COM – più web-application di così, si muore…!

Il maggiore svantaggio è che – finora – le web-application non possono funzionare se non si è connessi a Internet.

In realtà, grazie alla funzionalità off-line offerta da HTML5, un’applicazione web – se predisposta – può anche funzionare off-line: i file che la compongono vengono memorizzati in locale dal browser e richiamati anche se non è disponibile una connessione. Questo rende la linea di separazione tra applicazioni web ed applicazioni native molto sfumata.

Nota relativa all’iPad: Apple non esercita alcun controllo sulle Web application, non intende farlo, ed attualmente non è in grado di farlo. Anzi, al contrario, apple stessa si dà un gran d’affare per promuovere le tecnologie e gli strumenti che consentono di sviluppare Web application.

Applicazione nativa

E’ una tradizionale applicazione eseguibile (compilata), scaricata ed installata nella memoria del dispositivo (smartphone, tablet, PC, Mac, ecc.).

Concentriamoci sul Mobile: le applicazioni native sono solitamente scaricabili da un AppStore, come quello di Apple, che permette la gestione degli acquisti e dei pagamenti.

L’accesso alle risorse locali dei dispositivi (camera, GPS, contatti, accelerometri, ecc.) è totale per le App native. Per applicazioni pesantemente interattive come i video-giochi, le applicazioni native sono una scelta obbligata.

Lo sviluppo di un’applicazione mobile nativa ha un costo tipicamente di gran lunga superiore a quella di una Web application, dato che gli skill degli sviluppatori sono più specialistici, e come tali rari. Inoltre, sono necessarie tanti team di sviluppo quanti sono i dispositivi su cui l’applicazione dovrà girare – lo sviluppo cross platform attualmente all’atto pratico non esiste.

Se si sta sviluppando una applicazione nativa per iPhone e iPad, affinché essa possa essere liberamente distribuita sull’AppStore, è necessario che venga approvata da Apple (ricordatevi che le applicazioni native per iPhone e iPad possono essere rese disponibili esclusivamente su AppStore !). Tale approvazione non è affatto scontata, e quando non viene concessa, non è sempre chiaro il motivo. L’approvazione può addirittura essere revocata mesi dopo a quando è stata concessa. Questi sono rischi di business difficilmente gestibili.

Vi sono diversi progetti di terze parti (PhoneGap, Titanium, …) che consentono – con vari gradi di successo – di trasformare una applicazione web in una applicazione nativa che gira su più dispositivi; in questa maniera uno sviluppatore può realizzare un’applicazione web, renderla disponibile, affinarla, saggiarne il successo – successivamente può decidere di trasformarla in applicazione nativa (magari con accesso esteso alle risorse del dispositivo) e venderla tramite un AppStore. 

Man mano che escono sempre più modelli di dispositivi mobile – tra smartphone e tablet la scelta si allarga ogni giorno di più – la frammentazione rende lo sviluppo di applicazioni native sempre più costoso e complesso. Il Web-browser è per il momento l’unico vero grande “unificatore”, il solo intermediario che consente il “Write once, run everywhere”. Affinché l’approccio “applicazione web” abbia successo, è necessario che i Web-browser presenti sui dispositivi mobili evolvano e supportino completamente HTML5 con tutte le sue ricche funzioni.

Non solo, è necessario anche che le risorse locali dei dispositivi (camera, GPS, bussola, accelerometri, Contatti, ecc.) siano rese accessibili tramite Web-browser alle Web app (è il cosiddetto problema della native API availability). 

Andy Cavallini (andy.cavallini@tin.it)

 I vostri feedback sono molto apprezzati !

Per la versione in inglese di questo Post: http://meetingofideas.wordpress.com

Se siete interessati al mondo delle Applicazioni Mobile, dei Tablets (iPad & Co.) e degli Smartphone (…e prossimamente della Digital Reputation !), continuate a seguire il mio blog, cliccate su ‘Sign me up!’ per non perdere i prossimi Post !

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...