App native

Le applicazioni native sono sviluppate in linguaggio macchina e devono essere realizzate appositamente per ciascun sistema operativo. Questo significa che è necessaria un'applicazione per ogni differente sistema operativo per il quale la si vuole rendere disponibile, anche sullo stesso device mobile.
Ad esempio le applicazioni per iOS (iPhone, iPad, iPod Touch) sono scritte in Object-C; quelle per Android in Java, mentre quelle per Windows Mobile 7 sono sviluppate ambiente .NET.

Tra i principali vantaggi c'è il fatto di pubblicarle sugli stores (ad esempio l'Apple Store), veicolandole in shop virtuali caratterizzati da un elevato traffico di utenti.
Una volta scaricate sullo smartphone o altro device mobile utilizzato, le app native possono essere utilizzate anche in modalità offline, cosa non sempre possibile nel caso delle web app.
Inoltre è possible inviare messaggi push a tutti coloro che hanno installato l'applicazione, con un meccanismo simile agli SMS e con analoghe potenzialità per il mobile marketing.

Web app

Le web app consistono in una pagina web in HTML5, JavaScript e CSS, alla quale si accede da qualsiasi supporto mobile in grado di connettersi ad Internet.
Una volta effettuato l'accesso all'URL, la app viene scaricata sul dispositivo e da quel momento in avanti può essere utilizzata sostanzialmente allo stesso modo di una app nativa.

Chiaramente la web app non può utilizzare alcuni meccanismi e funzionalità specifiche delle app native, ad esempio la già citata pubblicazione sugli stores, ma anche il sistema di micro-pagamenti denominato in-app purchase, ad esempio.

Il principale vantaggio delle web app consiste nel fatto che sono in grado di funzionare a prescindere dal sistema operativo, ovvero una web app può essere utilizzata da un qualsiasi smartphone o tablet che disponga di un web browser e della connessione alla rete.
Non è quindi necessario realizzare un'applicazione diversa per iOS, una per Android e via dicendo: un'unica web app sarà compatibile con tanti dispositivi, sia mobili che non.

Il fatto che non sia necessario pubblicarle su uno store ufficiale, inoltre, rende più agevole la messa a disposizione degli utenti, nonché il sistema di aggiornamento e diffusione delle eventuali nuove release. Altro vantaggio non indifferente, dato che l'iter di approvazione dell'Apple Store -sempre per citare un esempio noto- ha spesso tempi lunghi ed esito non sempre scontato. Non mancano infatti casi eclatanti di app rifiutate dall'Apple Store perché in contrasto con la sua policy.