Cavalcare le innovazioni è importante per chi fa business. Ma ancora di più avere chiare le implicazioni di ogni scelta. E quando si parla di web app, le differenze possono essere sostanziali
Sviluppare un’app per la propria attività è sicuramente affascinante, ma comprendere quale sia la soluzione migliore è fondamentale per gestire al meglio il proprio budget e focalizzare gli investimenti sulle giuste necessità.
Web app, parliamo dell’app nativa
Per poter parlare di App Native bisogna fare prima un breve excursus sui principali sistemi su cui poi “lavoreranno”: Apple con il suo sistema operativo iOS e Google con il suo sistema operativo Android.
Ognuno di questi due OS (Operating System) ha un proprio linguaggio di programmazione che permette agli sviluppatori di scrivere le istruzioni, eseguite poi dall’applicazione stessa.
iOS, ad esempio, utilizza principalmente il linguaggio Objective-C ( e, nell’ultimo periodo, il nuovo linguaggio chiamato Swift), mentre Android si basa su Java.
Se chiederete ad uno sviluppatore la propria piattaforma di riferimento molto probabilmente sentirete uno di questi nomi: è difficile trovare qualcuno specializzato nella programmazione di entrambi perché l’apprendimento delle caratteristiche di ogni ecosistema richiede tempo e uno studio approfondito.
Detto questo, possiamo comprendere meglio cosa indichi il termine “nativa”: un’app nativa è un’applicazione sviluppata appositamente per una di queste due piattaforme e le cui istruzioni sono state scritte attraverso il proprio linguaggio di programmazione.
I vantaggi di un’app nativa sono molteplici:
- maggiore velocità e reattività nell’esecuzione e nella ricezione dei comandi da svolgere, in particolare per tutte quelle applicazioni pesantemente incentrate sulla grafica (giochi o app per la modifica delle foto o dei video)
- accesso diretto a tutte le funzionalità e a tutti i sensori del telefono (in base a ciò che il sistema operativo concede)
- poter essere pubblicata nello Store digitale di riferimento (Apple Store o Play Store) ottenendo maggiore visibilità
- maggiore semplicità nella creazione di un sistema di notifiche push (le tipiche notifiche che riceviamo dalle varie app installate)
La via di mezzo: l’Ibrida
Le App Ibride (o multipiattaforma) sono quelle applicazioni che creiamo a partire da un linguaggio di programmazione che non è specifico della piattaforma di destinazione ma che, un software di supporto traduce ed “impacchetta” per essere accettate dai vari Store digitali.
I costi di sviluppo per singola app sono più alti, ma il vantaggio di avere un’unica applicazione che possa essere installata sia su iOS che su Android, evitando così di dover sviluppare due app, sono evidenti.
Anche in caso di aggiornamento o di aggiunta di determinate caratteristiche e funzionalità si dovrà procedere alla modifica di un unico codice, dimezzando di fatto il lavoro.
Sembrerebbe tutto perfetto: dov’è quindi il problema e perché non utilizziamo unicamente app ibride?
Affinché queste applicazioni possano funzionare, di solito, viene aggiunto uno “strato” che permette di tradurre il linguaggio di programmazione ibrido con quello nativo: questo meccanismo tende a rallentare le operazioni che vengono effettuate con un effetto che è prossimo allo zero per applicazioni principalmente testuali, ma che inizia ad avere il suo peso in tutte quelle attività in cui la grafica è pesantemente coinvolta.
I principali framework di sviluppo per app ibride sono: Xamarin, Ionic e Phonegap.
Web app o progressive web app, il nuovo che avanza
Tutti noi abbiamo avuto a che fare con una applicazione web e molto probabilmente non ce ne siamo nemmeno resi conto.
Una Web App infatti non è nient’altro che un’applicazione, sviluppata attraverso i codici di programmazione propri del Web (HTML, Javascript, PHP ecc ecc…) e che visualizziamo esattamente allo stesso modo di un comune sito internet.
Fino ad ora ci sono state forti limitazioni per quanto concerne l’accesso alle funzionalità dei sensori dei dispositivi e non era possibile pubblicarle negli store digitali, ma il loro utilizzo sta prendendo sempre più campo grazie alla loro versione “estrema”: le Progressive Web App.
Le PWA sono web app leggerissime, praticamente istantanee nei caricamenti e fortemente votate a contenuti testuali (quindi ancora una volta non consigliate per gaming o programmi di editing video/foto): Google sta addirittura iniziando un processo di integrazione di quest’ultime nel proprio Play Store.