Skip to main content

Chiunque si sia trovato nella condizione di dover sviluppare un’applicazione per la propria azienda o per i propri clienti probabilmente si è trovato di fronte a due tipologie di soluzioni: web application e native application.

Cerchiamo pertanto di fare chiarezza sulle differenze che esistono tra le due possibilità.

LE APPLICAZIONI NATIVE

Le applicazioni native vengono create per uno specifico sistema operativo (Android, iOs, Blackberry, Windows Mobile, Tizen ecc…), che rappresenta pertanto il principale vincolo alla loro implementazione. Infatti ogni sistema operativo utilizza uno specifico linguaggio di programmazione ed ha i propri metodi per accedere ai sensori e alle periferiche del dispositivo (Accelerometro, GPS, Fotocamera, Bluetooth …) sul quale l’applicazione viene installata. In pratica dunque, un’applicazione nativa creata per Android non può funzionare su iOS.

Non tutti i dispositivi sono uguali
Ogni applicazione nativa può essere progettata per funzionare su un preciso target di dispositivi.
Ci sono applicazioni disponibili solo per tablet mentre altre sono concepite per funzionare correttamente solo su smartphone, altre ancora possono invece funzionare su entrambi; è possibile poi decidere di sviluppare applicazioni solo per una determinata risoluzione dello schermo o solo per una precisa versione del sistema operativo.

Ogni applicazione nativa dovrebbe essere progettata seguendo le linee guida fornite dal produttore del sistema operativo, le cosiddette “Best Practices”.

Di solito queste applicazioni vengono distribuite attraverso uno store online ed è sempre necessario installarle sul dispositivo.

LE APPLICAZIONI WEB

Le applicazioni web vengono invece create per il “web”, quindi qualsiasi browser è in grado di sfruttarne a pieno le funzionalità.

Di solito vengono definite “multipiattaforma” proprio perché, a differenza di quelle native, non hanno vincoli legati al sistema operativo.

Occorre però tenere in conto che ogni browser utilizza un proprio “motore” web (“engine”) che può essere diverso da browser a browser, pertanto il risultato ottimale non è sempre garantito.

Nonostante l’utilizzo di un motore web è comunque possibile accedere ad alcune periferiche del dispositivo: qui è possibile trovare informazioni sull’attuale stato dello sviluppo (http://www.w3.org/standards/techs/js#).

Per queste applicazioni non sono necessari l’installazione o il download da uno store.

La progettazione delle applicazioni web avviene secondo la pratica del “responsive design” metodo che garantisce la corretta visualizzazione dell’applicazione nella maggior parte dei Browser mobile e desktop.

COME SCEGLIERE

Ci sono diversi criteri che dovrebbero guidare la scelta tra le due soluzioni:

Funzionalità
Il criterio principale da tenere presente sono le funzionalità che l’applicazione deve avere.
La regola generale è che un’applicazione nativa ha prestazioni e funzionalità superiori rispetto ad una sviluppata per il web.

Target Utente
Un altro criterio da considerare nella scelta è il “Target utente” in questo caso non si tratta di una valutazione tecnologica ma di mercato.

Altri importanti criteri da valutare sono:

Offline
Contrariamente a quello che si sente dire anche le web app hanno la possibilità di salvare dati per il funzionamento offline.
Il vincolo viene posto dalla quantità di dati da mantenere in memoria, che per le web app è di qualche MB mentre per un’app nativa potenzialmente non ci sono limiti.

Rilascio aggiornamenti
Per un’applicazione nativa gli aggiornamenti vengono rilasciati sullo store di riferimento con conseguente notifica per l’utente della presenza di un nuovo aggiornamento. Per le applicazioni web non avviene nessun rilascio ma è sufficiente pubblicare la modifica.

Tempo e costi di sviluppo e manutenzione
Le applicazioni native generalmente hanno costi più alti e tempi di sviluppo maggiori, questo perché richiedono un maggior numero di fasi per la loro costruzione e una costante manutenzione per adeguarsi ai frequenti aggiornamenti dei sistemi operativi. I costi aumentano soprattutto quando si decide di sviluppare per diversi sistemi operativi.

Ovviamente esisterebbero molti altri fattori da prendere in considerazione ma quelli elencati dovrebbero bastare per una valutazione iniziale e per avere maggiore chiarezza sulla soluzione proposta.

Massimo Rinaldi

Designer e Direttore creativo con forti competenze nella comunicazione digitale. Oltre 10 anni di esperienza in progetti digitali e di comunicazione per clienti come Ferrero, Intesa San Paolo, Barilla, Unicredit, Max Mara Group, e applicazioni mobile per iOs, Nokia e Android, dove si é occupato di definire Customer journey, User Experience e User interface. Oggi è partner e direttore creativo di Ventisette Digital. IG @massimorinaldi27