Le applicazioni native sono sviluppate in linguaggio macchina e devono essere scritte e compilate appositamente per ogni tipo di sistema operativo supportarto dal device.
Per esempio le applicazioni per iOS (iPhone/iPad/iPod) sono scritte in Object-C, quelle per Android sono sviluppate in Java mentre quelle per Windows Mobile 7 sono sviluppate ambiente .NET.
Sviluppare applicazione in codice nativo è molto più complesso e richiede molto più tempo, tuttavia gli sforzi sono ben ripagati dal risultato e da una serie di pro di cui indichiamo i principali:
- Possibilità di inviare delle notifiche push geolocalizzate. Le notifiche push sono dei messaggi che si possono inviare a tutti coloro che hanno installato la vostra applicazione. Simili a degli SMS sono molti utili per fare marketing sul mobile.
- Accesso a tutti i sensori hardware installati sul dispositivo: NFC, accellerometro, GPS, fotocamera, magnetometro, sensore di prossimità, di luminosità di posizionamento e altri.
- Pubblicazione gli stores: i negozi virtuali di Apple, Google, Blackberry e Microsoft (stores) vedono di buon grado questa tipologia di sviluppo e accettano (approvano) un maggior numero di app, specialmente di livello elevato
- Modalità offline: le applicazioni native devono essere scaricate e installate su ogni dispositivo mobile. Una volta compiuta questa semplice operazione sarà possibile utilizzarla sia online che in modalità offline.
- GUI: l'interfaccia grafica utente è piu’ reattiva perchè vengono effettuate chiamate dirette di sistema e il codice non è interpretato come nelle webapp da un browser ma è scritto direttamente in codice macchina.
- In ultimo, ma forse l'aspetto più importante, la possibilità illimtata di sviluppo, modifica, upgrade in tutte le direzione richieste dal business