Sviluppare APP Ibride o Native
Sviluppare app ibride o native?
Lo sviluppo di una applicazione mobile pone sempre alcuni interrogativi legati alla piattaforma da adottare. Meglio iOS o Android? Meglio una soluzione nativa oppure ibrida o totalmente Web? Meglio sviluppare in outsourcing oppure sfruttare competenze già acquisite in azienda dal personale IT?
Spesso non si hanno a disposizione sviluppatori con le competenze necessarie e non è nemmeno semplice riconvertire un team a sviluppare per mobile. Lo sviluppo di un’app cross-platform potrebbe tradursi in un aumento dei costi e dei tempi di consegna difficilmente sostenibile.
HTML5
Per risolvere questa situazione potenzialmente complessa alcuni adottano lo sviluppo di applicazioni web o ibride da far girare sui loro dispositivi. Questo tipo di soluzioni hanno il vantaggio di essere scritte utilizzando HTML5, CSS e JavaScript e che possono girare teoricamente su qualsiasi device. Purtroppo, anche in questo caso, non sempre è possibile adottare questa strategia; le ragioni sono molteplici:
- Minimo comune denominatore
Le WebApp, pur avendo la capacità di interagire con l’hardware di un dispositivo mobile, rischiano di rappresentare il minimo comune denominatore tra le caratteristiche di ciascuna piattaforma. Ciò implica che difficilmente potranno usufruire delle funzionalità avanzate di ogni singolo dispositivo, nè dei servizi di alto livello offerti dall’ultima release di un sistema operativo mobile. - Performance
Esiste un problema legato alle prestazioni: trattandosi di applicazioni che girano in una WebView, non si possono ottenere performance pari a quelle di una equivalente applicazione nativa. - Conformità alle linee guida
Una WebApp non sfrutta le linee guida della user experience del dispositivo. Questo è spesso un requisito importante, di cui occorre tenere conto nello sviluppo dell’applicazione, e che richiederebbe l’adozione di uno stile e di una UX costruita ad hoc per essere simile a quella nativa di ciascuna piattaforma.
Javascript
Esistono sistemi di sviluppo che permettono di scrivere applicazioni cross-platform utilizzando un solo linguaggio di programmazione: JavaScript. Questo consente ai programmatori provenienti dallo sviluppo su web di riutilizzare le proprie competenze anche in ambito mobile, producendo applicazioni native (cioè che non girano dentro una WebView) e multipiattaforma.