//App native vs App ibride

App native vs App ibride

0 votes
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someonePrint this page

This post has already been read 1359 times!

I dispositivi mobili occupano oggi un ruolo fondamentale nella vita quotidiana, la facilità e la velocità con cui è possibile scambiare informazioni, comunicare e offrire servizi hanno cambiato le nostre abitudini negli ultimi anni. La scelta di offrire un sito ottimizzato o meglio un app per dispositivi mobili è dunque una scelta obbligata per tutti coloro che hanno la necessità di restare in  contatto con i propri clienti, trovarne di nuovi o di offrire servizi relativi alle propria attività.

Lo sviluppo delle app è quindi oggi un settore in continua espansione. Esistono diversi approcci per lo sviluppo ma per orientarsi bisogna tenere presente che ci sono diversi fattori che influenzano la scelta verso quale strategia adottare, quali ad esempio il numero dei componenti e le competenze del team di sviluppo, la sicurezza dei dati, la capacità di archiviazione, le performance attese, il livello di interazione con le funzionalità del dispositivo, i tempi e i costi. Non è solo il problema di cosa l’applicazione dovrà fare, ma come dovrà farla. E a volte non c’è la scelta perfetta, ma il miglior compromesso. Ogni approccio di sviluppo ha i suoi pro e contro, e questi potrebbero essere in linea o in contrasto con i mezzi a disposizione.

Possiamo suddividere le applicazioni per i dispositivi mobili in almeno 2 categorie: App Native e App Ibride.

Per meglio capire questi concetti vediamo le principali differenze tra queste due grandi famiglie.

App Native

Un App Native generalmente offre maggiore usabilità e migliori caratteristiche, è sviluppata con linguaggi proprietari che dipende dalla piattaforma di destinazione dell’applicazione (iOS, Android, Windows Phone).

Pro

  • Velocità di esecuzione
  • Multitouch
  • Massima integrazione col device
  • Migliori performance grafiche
  • Animazioni fluide
  • Funzionamento offline completo

Contro

  • Linguaggio di sviluppo spesso proprietario, per Iphone objective-C/Swift, per Android Java, per Windows Phone C#, VB, F#
  • Tempi di sviluppo
  • Costi

 

App Ibride

Un applicazione Ibrida è sviluppata generalmente con linguaggi quali html5, css e javascript e vengono inglobati attraverso un Web View e all’interno di un app nativa che permette l’accesso alle funzionalità del dispositivo attraverso opportune librerie.

Pro

  • Non è necessario imparare nuovi linguaggi se si è già uno sviluppatore web
  • Linguaggio di sviluppo in HTML5, CSS, Javascript
  • Alta velocità di sviluppo
  • Molte librerie per il lignuaggio di sviluppo già a disposizione, praticamente per tutto ciò che si può desiderare
  • Facilità di gestire le immagini per più dispositivi con CSS e media query
  • Sviluppo del codice riutilizzabile sulle diverse piattaforme
  • Tempi di sviluppo
  • Costi

Contro

  • Alcune funzionalità native potrebberò non essere supportate dalle API intermedie tra il Web View e il dispositivo
  • Performance
  • Funzionamento offline parziale

Per gli sviluppatori solitari e team non numerosi orientarsi verso soluzioni ibride rappresenta una scelta fortemente conveniente per ridurre i costi di sviluppo.

Tra le soluzioni per sviluppare applicazioni ibride Apache Cordova è un ottimo framework da tenere in considerazione, nel caso volete realizzare la vostra prima app ibrida qui la guida su come installare e configurare l’ambiente di sviluppo visual studio community per apache cordova.

 

Personalmente, in linea di massima, preferisco le soluzioni ibride per i seguenti motivi:

  • tempo (e quindi costi)
  • l’idea di sviluppare più volte la stessa applicazione in linguaggi diversi non mi rende felice
  • non mi entusiasma il fatto di dover imparare un linguaggio nuovo per ogni piattaforma da dover raggiungere, il tempo impegnato nell’apprendere il nuovo linguaggio preferisco spenderlo nel creare qualcosa di nuovo con html, css, javascript

Ma questa è la mia opinione… a Voi la vostra scelta in base alle vostre esperienze e alle vostre esigenze.