La guida definitiva per confrontare app native, web ed ibride

Pagina creata da Martina Bianco
 
CONTINUA A LEGGERE
La guida definitiva per confrontare app native, web ed ibride
La guida
definitiva per
confrontare app
native, web ed
ibride

            W H I T E PA P E R

                           20
       X
       X                   21
La guida definitiva per confrontare app native, web ed ibride
Table of
contents
Introduzione alle App Mobile                         03

Cosa sono le app native?                             08

I Framework cross-platform                           14

Cosa sono le PWA?                                    21

Cosa sono le app ibride?                             27

Criteri decisionali                                  32
Conclusione                                          35

                               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
01.
     Introduzione
     alle mobile app

!3               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Al giorno d’oggi le app vengono               prenotare viaggi e biglietti di vari tipi,
     utilizzate da gran parte della
                                                   allenarsi e rimanere in forma, giocare,
     popolazione mondiale. Ogni giorno e
     per diverse volte nell'arco della giornata,   studiare, tenersi in contatto con gli

     gli utenti utilizzano le applicazioni         amici, ascoltare la musica e... Potrei
     installate sui propri device per decine di    andare avanti per giorni con questa lista
     scopi differenti. Le utilizzano per
                                                   infinita!

!4                                                                  U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Credo che ognuno di noi sappia che le app possano avere un ruolo
     fondamentale nel successo delle aziende, data la loro fama e il loro
     potenziale.

     Di recente il numero di app sviluppate, scaricate e il fatturato che hanno
     generato è aumentato a dismisura! L'industria della telefonia mobile sta
     crescendo velocemente anche grazie ai tanti benefici che questi
     strumenti ci permettono di ottenere, diventando vere e proprie
     estensioni dei nostri device.

     Basti pensare alla nostra routine, all’interno della quale i nostri i cellulari
     ci aiutano, supportano e intrattengono in diversi momenti della giornata.

     E’ probabile che alla mattina ci svegliamo con la sveglia del nostro
     cellulare. E’ altrettanto probabile che lo stesso cellulare ci intrattenga
     ascoltando musica o leggendo, in tempo reale, le ultime novità del nostro
     quotidiano preferito, mentre siamo sulla metro per raggiungere il luogo di
     lavoro. Una volta arrivati disattiviamo l’allarme per poter entrare, e
     magari lo facciamo sempre con un’app..

     Insomma, lo avete capito e probabilmente lo sapete meglio di me, le App
     ci permettono di compiere tantissime attività e le possiamo fare tutte da
     un unico device: il nostro cellulare!

!5                                                                U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Scommetto che la maggior parte delle persone utilizza lo smartphone e le app per
     svolgere molte delle attività di cui ho appena parlato, ed è probabile che anche tu sia una
     di queste. Ma ti sei mai chiesto: "Che cos'è un'app?" E, soprattutto, in quali modi
     possono essere sviluppate? Senz'altro sono domande importanti da porsi                            per le
     aziende che vogliono investire in un'app per incrementare la propria attività, innovare un
     processo o comunicare con i propri Utenti o Clienti.
     !
     Iniziamo, quindi, con una breve spiegazione del termine app mobile. Secondo
     il"Cambridge Dictionary, si tratta di un "un programma software che funziona sui telefoni
     cellulari". Questa definizione però non è del tutto completa, in quanto le app funzionano
     sui dispositivi mobili in generale, non solo sui cellulari. L'enciclopedia Treccani"ci fornisce
     un contesto più adatto e informazioni più utili sulla parola applicazione: "In informatica,
     programma software, destinato a un utente finale, così chiamato perché possiede
     appunto un'applicazione pratica! per chi lo utilizza. [...] In un'ideale classificazione dei
     programmi, l'applicazione si distingue dai programmi detti invece di sistema. Spesso,
     spec. con riferimento a!terminali mobili (smartphone e tablet), denominato anche con il
     termine inglese app.""

!6                                                                       U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Intuiamo, quindi, che un'app, a differenza dei programmi per il computer,
         viene creata per raggiungere obiettivi più specifici, svolgere funzioni
         particolari. E la cosa ancora più interessante è"che le potenzialità delle
         app sono a portata di mano, ovunque si trovino gli utenti!

         Allo stesso tempo, le aziende traggono vantaggio dalle app mobile
         perché offrono una user experience unica e un servizio di alta qualità.
         Hanno anche una maggiore probabilità di raggiungere, acquisire,
         mantenere e trasformare gli utenti in clienti fedeli, coinvolgendoli in
         diversi modi, ad esempio attraverso sistemi di automation, segmentation,
         notifiche push e messaggi in-app personalizzati. Leggi"questo articolo"e
     lasciati ispirare dalle notifiche push, un canale di comunicazione davvero
     utile. E se ti interessano anche gli altri fantastici strumenti del marketing
     mobile, come i messaggi in-app, dai un'occhiata"qui.
     !
     Adesso penso che ti sia fatto un'idea più chiara di che cos'è un'app
     mobile. Quindi, è il momento di partire per un fantastico viaggio alla
     scoperta di alcune caratteristiche delle app!

     Ti presenterò tre diversi tipologie di app, ovvero:
           app native;
           PWA (Progressive Web App);
           app ibride;
         Infine, ti darò alcuni consigli per scegliere il tipo di app più adatto alle tue
         esigenze. Sei pronto?!

         Buckle up, let's gooo!

!7                                                                    U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
02.
     Cosa sono le
     app native?

!8              U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Puoi pensare le app native come due       native vengono scritte utilizzando
     linee parallele che non si                linguaggi di programmazione specifici,
     incontreranno mai. Perché dico così?      che variano a seconda del sistema
     Perché ogni app nativa viene              operativo e non possono essere
     sviluppata per funzionare su un           semplicemente tradotti da un codice
     sistema operativo specifico, che sia      all'altro."
     Android, Apple, o qualsiasi altro OS.
     Questo significa che, se la tua Azienda
     desidera realizzare un'app nativa, il
     team di sviluppo dovrà creare
     almeno due app diverse: una per
     Android e una per iOS. Infatti, le app

!9                                                               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
La guida definitiva per confrontare app native, web ed ibride
Potrebbe essere che i meno esperti si stiano ancora chiedendo se
       un'app nativa per iOS funzioni o no su un dispositivo mobile Android.

       La risposta è no!

       Come ti ho appena detto, le app native vengono create per una
       piattaforma specifica e per questo motivo devono sottostare a
       requisiti, standard specifici e uso delle API della piattaforma su cui
       girano. Per esempio, se un giorno decidessi di creare la stessa
       versione di un'app nativa per i dispositivi Apple, e ne avessi già una
       per Android, gli sviluppatori dovrebbero partire da zero e usare
       linguaggi di programmazione e API del tutto diversi per svilupparla."
       ""
       Non credere, però, che sia tutto lavoro sprecato! Le app native hanno
       molti vantaggi. Scegliere se sviluppare un'app nativa o un altro tipo di
       app dipende, più che altro, dalle esigenze della tua Organizzazione.
       Scopriamo insieme alcuni dei principali vantaggi e svantaggi delle app
       native per aiutarti a scegliere il tipo di app più adatto a te.

!1 0                                                            U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
VA N TA G G I A P P N AT I V E

        Performance migliore: le app native vantano una performance di
        alto livello sia rispetto alle app ibride che alle app web. Le app
        native sono anche più veloci, efficienti e sicure, e funzionano
        perfettamente nei sistemi operativi dei dispositivi mobili.

        Sicurezza: Grazie all'interfacciamento diretto con l’OS, le app
        native hanno standard di sicurezza maggiori, risultando così più
        sicure rispetto a qualsiasi altro tipo di app mobile. Rafforzano la
        protezione dei dati degli utenti e sono molto usate da aziende e
        attori che mettono la sicurezza al primo posto, come nel caso delle
        app per le banche.

        Connettività avanzata: le app native possono usare più
        semplicemente i vari strumenti e le diverse risorse integrate
        nei dispositivi mobili, come la fotocamera, il Bluetooth, i contatti
        del cellulare, ecc. senza la necessità di dover integrare e/
        sviluppare componente esterni.

!11                                                         U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
VA N TA G G I A P P N AT I V E

         Top user experience: la UI (user interface) propria delle app
         native fornisce una migliore user experience. Questo perché le
         app sviluppate nativamente hanno a disposizione componenti ed
         elementi di UI tipici della piattaforma, utilizzati sia dalle app
         sviluppate dai produttori di device, sia da sviluppatori terzi. Questo
         fa si che l'utente finale, nonostante navighi tra app diverse, abbia
         una familiarità con elementi, stili e comportamenti comuni . Ne
         sono un esempio esempio l'effetto ripple sui pulsanti in Android, la
         navbar su iOS, l'animazione di apparizione delle schermate diversa
         tra gli OS, lo stile della navigazione, il font usato, etc…

!1 2                                                          U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I A P P N AT I V E

         Linguaggi di programmazione diversi: ogni app nativa è adatta per
         un'unica piattaforma specifica o per un sistema operativo (OS) specifico.
         Quindi, gli sviluppatori devono creare due app diverse per due OS
         diversi senza poter riutilizzare alcun elemento. Questa caratteristica
         comporta qualche piccolo svantaggio anche in termini di mantenimento,
         in quanto il team di developer dovrà mantenere due codebase differenti.

         Costose: sviluppare, mantenere e aggiornare il codice di ogni app nativa
         è più costoso, in quanto è necessario sviluppare l’app per ogni OS sul
         quale deve funzionare. Per questo gli sviluppatori hanno il doppio del
         lavoro, dato che sono costretti a modificare, risolvere i bug e aggiornare
         due codebase del tutto diverse.

         Processo lungo: dato che le app native richiedono agli sviluppatori il
         doppio del lavoro, è naturale che ci mettano molto più tempo a gestire
         e mantenere un’app nativa.""

!1 3                                                           U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Vuoi vedere com'è un'app nativa?

       Si chiama Covid Coach ed è stata            che si è dimostrato un periodo molto
       realizzata da Mumble per lo U.S.            duro e una vera minaccia per la
       Department of Veterans Affairs (il          salute fisica e mentale di ognuno di
       Dipartimento degli Affari dei Veterani      noi. L'app può essere di aiuto a tutti,
       degli Stati Uniti). È stata sviluppata      dalle persone comuni ai veterani di
       proprio per aiutare le persone durante la   guerra.
       pandemia di Covid-19,
                                                   Vuoi sapere di più di Covid Coach?
                                                   Prova a leggere questi articoli:"This
                                                   Mental Health App Is Tailor-Made for
                                                                 Woes,"Questions
                                                   Your Pandemic Woes, Questions for
                                                   Your Prospective Therapist, From Your
                                                   Own Couch.

!1 4
 14                                                                U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
03.
       I framework
       Cross-platform

!1 5              U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
I framework cross-platform nascono per risolvere un dei contro principali delle App Native:
       il fatto che necessitino un codice differente per ogni OS. Tutte le app create attraverso un
       framework cross-platform, quindi, funzionano su ogni sistema operativo supportato
       da quest’ultimo, rendendo così il processo di sviluppo più semplice, veloce ed
       accessibile.

       Queste app potrebbero essere la soluzione perfetta quando devi creare un'app mobile
       per piattaforme diverse e hai a disposizione poco tempo o risorse limitate. I
       framework cross-platform ti permettono infatti di sviluppare contemporaneamente app per
       OS diversi tramite un’unica codebase. In pratica, puoi creare app sia per Android che
       iOS senza sprecare tempo a fare due app da zero, che è il difetto principale delle app
       native.

       Scopriamo ora quali sono i Pro ed i Contro di queste App

!1 6                                                                     U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
VA N TA G G I C R O S S P L AT F O R M

         Più convenienti: lo sviluppo delle app cross-platform è più economico
         rispetto allo sviluppo delle app native perché non hai bisogno di team
         di sviluppo diversi che eseguono lo stesso lavoro per ogni OS (iOS,
         Android, etc…).

         Processo più veloce: il tempo di sviluppo è nettamente inferiore a
         quello delle app native, in quanto non è necessario sviluppare un’app
         differente per ogni OS.. Inoltre, anche in caso di modifiche o
         miglioramenti, è possibile lavorare su un’unica codebase.

         Write once, run anywhere: gli sviluppatori non devono più scrivere un
         codice specifico per ogni OS, ma possono usare un codice comune
         applicabile a piattaforme diverse (come ad esempio HTML5, Dart,
         Javascript, etc..). Avere un’unica codebase significa anche semplificare
         il processo di QA (Quality Assurance) e rendere il mantenimento del
         codice più semplice.

         Consistenza di comportamento: Sviluppare App Cross Platform
         permette di ottenere maggiore "consistenza di comportamento” tra le
         differenti piattaforme, ovvero su tutte le piattaforme supportate il
         comportamento dell'app sarà sempre lo stesso.

!1 7                                                           U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I C R O S S - P L AT F O R M

         Processo di sviluppo difficile, perché creare un'app adatta a OS
         diversi potrebbe richiedere competenze di alto livello. Non dimenticarti
         che ci sono differenze enormi tra OS diversi e queste devono essere
         prese in considerazione. Ne sono un esempio l’uso dei sensori del
         device (come ad esempio il sensore di movimento o del GPS), la
         gestione di alcuni permessi (come ad esempio quelli da richiedere per le
         notifiche push) e la gestione delle funzionalità in background (ad
         esempio il player audio che utilizzi anche quando l’app è in background).
         In sostanza, rispetto al nativo si è più dipendenti dalle funzionalità che
         offre il framework. Se sviluppando una funzionalità, il framework non
         permette un’interfaccia diretta con la parte "nativa" è molto più
         complicato implementare una soluzione che funzioni per le piattaforme
         supportate.

         Integrazioni difficili: il codice di un'app cross-platform sviluppata con
         Javascript o HTML5 rende più complesso integrare funzionalità che
         comunichino a basso livello con l'OS, come ad esempio Bluetooth,
         Fotocamera, Rubrica, GPS, etc…

         User interface: un altro compito difficile per i developer che sviluppano
         App Cross-platform è quello di creare una UI aderente alla User Guide
         richiesta dei differenti Sistemi Operativi. Ad esempio, iOS e Android
         utilizzano icone (basti pensare all’icona che rappresenta la condivisione)
         e modelli di navigazione (tab bar) differenti.

!1 8                                                             U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I C R O S S - P L AT F O R M

         Performance minori rispetto al nativo: dovendo girare su una sola
         codebase per più piattaforme, le App Cross-Platform vengono sviluppate
         utilizzando dei framework, che possiamo descrivere semplificando
         come “piattaforma sulla quale un!software!può essere progettato e
         realizzato, spesso facilitandone lo sviluppo da parte del!programmatore".
         Questi framework necessitano di un componente (layer) intermedio, il cui
         compito è quello di comunicare con la parte nativa, traducendo le
         istruzioni del framework in istruzioni comprensibili per gli OS nativi.
         Questo layer aggiuntivo, risultando come un vero e proprio livello di
         comunicazione aggiuntivo, può rallentare le performance
         dell’applicazione.

!1 9                                                             U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Flutter è un famoso framework cross-platform creato da Google, il cui SDK contiene
       tutto ciò di cui hai bisogno per lo sviluppo di app cross-platform. Vuoi sapere la
       figata?" Flutter permette di creare UX strepitose, e tutte le app sviluppate in questo
       modo funzionano sui dispositivi Android, iOS, Linux, Mac, Windows, ecc. In sostanza,
       è un kit di sviluppo software potentissimo con cui puoi creare app cross-platform in
       tempi record.""

!2 0                                                                 U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Vantaggi Flutter
       •   Performance elevate;
       •   Permette di create UI accattivanti grazie alla personalizzazione dei
           widget;
       •   Integrazione con il"Google Material Design;
       •   Test approfonditi;
       •   Efficienza collaudata.

       Svantaggi Flutter
       •   App più pesanti (il 40% in più rispetto alle app native);
       •   Supporto limitato delle librerie;
       •   Supporto limitato per alcune caratteristiche, ad esempio l’accessibilità.
       •   Il look & feel non è nativo;
       •   Il framework, nonostante sia di Google, è ancora giovane e i suoi
           cambiamenti rapidi richiedono un pò di impegno per rimanere al passo.

!2 1                                                               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Here's a challenge for you!

       Mumble ha sviluppato un'app cross-platform per una delle squadre di Volley più famose
       sia a livello nazionale che internazionale, Modena Volley. La squadra aveva necessità di
       sviluppare uno strumento che gli permettesse di instaurare relazioni più forti e
       personali con i propri fan.

       Grazie a questa nuova app modena Volley ha raggiunto il proprio scopo, ed ora i suoi fan
       hanno a disposizione un’app che gli consente:
         •   Seguire le dirette dei Match e rimanere aggiornati con le notifiche push;
         •   Votare l’MVP di ogni partita giocata in casa;
         •   Avere accesso a contenuti esclusivi sul club e sui giocatori;
         •   Rimanere informati sulle ultime novità della squadra;
         •   Condividere foto personalizzate con gli sticker ufficiali di Modena Volley;

!2 2                                                                     U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
04.
       Cosa sono le
       PWA?

!2 3              U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Le PWA (Progressive Web App)               le principali caratteristiche e
       assomigliano alle app native, infatti si   operazioni che contraddistinguono
       comportano in modo molto simile.           una PWA.
       Ciononostante, le PWA sono più simili
       a delle pagine web reattive capaci di
       adattare la propria UI ad ogni
       dispositivo mobile. È strano, non
       pensi? Ma non preoccuparti, cercherò
       di spiegarti nel miglior modo possibile

!2 4                                                                U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Progressive Web App"(PWA, in italiano"applicazioni web progressive) è un termine,
       coniato in origine da"Google, che si riferisce ad"applicazioni web"che vengono sviluppate
       e pubblicate come normali"pagine web, ma che si comportano in modo simile
       alle"applicazioni native"quando utilizzate su un"dispositivo mobile. [Fonte Wikipedia]

       Rispetto alle tradizionali web app, le PWA possono abilitare alcune funzionalità
       aggiuntive. Supportano una UI più reattiva rispetto alle applicazioni web, un’alta
       velocità di caricamento e la possibilità interfacciarsi con alcune caratteristiche
       hardware, come ad esempio la fotocamera o i sensori del dispositivo.

       Inoltre grazie all’utilizzo dei service worker, le PWA possono controllare le richieste di
       rete, memorizzarle e conseguentemente migliorare le performance e fornire accesso
       offline ai contenuti memorizzati. Tutto questo fa si che le app web funzionino in modo più
       che soddisfacente anche su network di bassa qualità.

       A differenza delle App Native e delle App sviluppate attraverso Framework cross-
       platform, le PWA non sono però delle app autonome, proprio perché il loro funzionamento
       dipende dal browser che l’utente sta utilizzando. Ciò significa che, anche se queste app
       possono avere un icona sulla home del dispositivo, quando l’utente clicca su di essa sta
       in realtà aprendo il browser web, seppure senza accorgersene.

       Con le PWA sarà inoltre possibile l'invio delle notifiche push in modo molto simile ad una
       app nativa, garantendo la possibilità al tuo Team Marketing di risvegliare l'attenzione
       degli utenti in qualsiasi momento della giornata.

       Ma attenzione     Questa funzionalità non è disponibile per il sistema iOS.

       Vediamo ora i Pro e i Contro

!2 5                                                                       U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
VA N TA G G I P WA

         Web app: le PWA sono web app, ciò significa che non devono essere

         personalizzate per ogni sistema operativo. In più, possono essere

         aggiornate in diretta, senza download.

         Non occorre un vero download: le PWA occupano uno spazio ridotto

         nella memoria del dispositivo mobile perché in realtà non vengono

         installate come un’app nativa.

         Il mantenimento dell’app è più semplice: mantenere una PWA è

         indubbiamente più facile, veloce ed economico per il semplice fatto che,

         a differenze delle app native, non deve essere personalizzata per ogni

         sistema operativo specifico.

         L’app si carica velocemente: grazie alla capacità di memoria intrinseca

         nella PWA, migliorano drasticamente le performance dell’app. Si può dire

         che il tempo di caricamento di una PWA sia prossimo a zero.

         Non ci sono problemi di accesso ad internet: grazie alla funzione di

         pre-load, l’app si adatta facilmente alle connessioni internet più lente e

         meno performanti.

!2 6                                                            U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I P WA

         Limitazioni di funzionalità e problemi di compatibilità:
         sfortunatamente Apple sta ostacolando le PWA per i suoi smartphone,
         limitando l’accesso ad alcune features dei propri device, creando dei veri
         e propri problemi di compatibilità. Infatti, le PWA non hanno accesso ad
         alcune informazioni dei device di Apple (Touch ID, Face ID, Bluetooth,
         informazioni sulla batteria). Per di più, le PWA funzionano solo sui
         dispositivi Apple che hanno installato iOS 11.3 o versioni più aggiornate.
         Questo significa che le PWA su dispositivi non aggiornati hanno
         performance molto inferiori.

         Alto consumo della batteria: questo può rappresentare un grosso
         problema per molti utenti, i quali potrebbero decidere di usare meno la
         PWA o di non utilizzarla affatto. Le PWA consumano più batteria delle
         app native perché sono sviluppate utilizzando tecnologie web anziché
         linguaggi di codifica nativi.

         È necessaria una connessione internet: alcune funzioni PWA non
         sono disponibili offline. Anche se le loro prestazioni sono migliorate
         grazie ai service worker, Internet è ancora necessario per eseguire il
         backup dei dati del dispositivo, caricare nuovi dati o aggiornare le pagine
         web.

!2 7                                                            U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I P WA

         L’app dipende dal browser: come abbiamo detto prima, le PWA sono app

         basate sul web, quindi funzionanti sul browser. !

         Ciò significa che la user experience potrebbe essere differente a

         seconda del browser utilizzato per navigare in quanto non sempre questi

         vengono aggiornati o manutenuti a dovere dalle aziende che li hanno

         sviluppati ed alcune features potrebbero dunque non essere presenti su

         alcuni di essi.

         La UI non è nativa: le PWA vengono sviluppate con tecnologie web

         come HTML, CSS e JavaScript e non con linguaggi nativi come Kotlin o

         Swift (utilizzati per le app native). Per alcuni utenti questo sviluppo potrebbe

         comportare una user experience di una qualità inferiore. In ogni caso, le

         tecnologie web, come Javascript e CSS, consentono agli sviluppatori di

         personalizzare la UI e l'interazione con essa, oltre che ad altre

         caratteristiche.

!2 8                                                            U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Vuoi vedere una PWA e come puoi usarla? Ecco un esempio!

       Questa è una PWA rilasciata da Mumble per           Lo sviluppo tecnologico di questa PWA è stato
       Alpura, un'Azienda messicana di prodotti            più veloce rispetto ad uno sviluppo Nativo.
       lattiero-caseari. L'obiettivo dell'app era quello   Questo perché il nostro team di sviluppo ha
       di coinvolgere gli utenti invitandoli a             potuto sviluppato un’unica code-base,
       partecipare ad un contest con diversi premi         semplificando così il processo di sviluppo e di
       in palio.                                           QA. Non ha perso insomma tempo a
                                                           sviluppare code-base differenti per ogni OS
                                                           specifico.

!2 9                                                                      U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
05.
       Cosa sono
       le app ibride?

!3 0               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Possiamo dire che le app ibride            e una web, il tutto racchiuso in un’app
       abbiano qualcosa in comune con le          nativa. Infatti, proprio come le app
       macchine ibride. Infatti, questo tipo di   native, le app ibride hanno la loro
       app combina tecnologie                     icona nella schermata home e
       consolidate, come HTLM, CSS e              possono essere scaricate dall’app
       JavaScript con tecnologie nuove e          store.
       innovative. Il risultato? Un prodotto
       digitale sviluppato usando meno
       risorse. Dal punto di vista tecnico,
       possiamo vedere le app ibride come
       una combinazione tra un’app nativa

!3 1                                                               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Le App Ibride possono essere viste come un'applicazione software che
       combina elementi di app native e applicazioni web.

       Le app ibride sono essenzialmente web app che sono state inserite in
       una shell di app nativa. Una volta scaricate da un digital store e
       installate localmente sul device, la shell è in grado di connettersi a tutte
       le funzionalità fornite dalla piattaforma mobile tramite un browser
       incorporato nell'app. Il browser e i suoi plug-in vengono eseguiti sul
       back-end e sono invisibili all'utente finale.

       Le app ibride sono popolari perché consentono agli sviluppatori di
       scrivere il codice per un'app mobile una volta ed essere ospitate
       comunque su differenti OS.

       Un pò come accade per le App sviluppate attraverso framework, le app
       ibride aggiungono un ulteriore layer tra il codice sorgente e la
       piattaforma di destinazione, risultando così leggermente più lente
       rispetto alle versioni native o web della stessa app.

       Andiamo ora a scoprire quali sono i principali Pro e Contro delle App
       Ibride!

!3 2                                                             U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
VA N TA G G I A P P I B R I D A

         Sviluppo veloce: le app ibride possono condividere un singolo
         codebase su più piattaforme riducendo notevolmente i tempi di sviluppo
         delle app.

         Più conveniente: le app ibride sono più economiche rispetto alle app
         native in quanto richiedono lo sviluppo di una sola code-base. A
         differenza delle App native, per le quali le code base sono sono due, i
         costi potrebbero essere quasi dimezzati.

         Maintenance più semplice: la manutenzione delle app ibride risulta
         più semplice in quanto queste App utilizzano una singola codebase.

         Più facile integrare componenti native: essendo un’applicazione che
         gira direttamente sul sistema operativo, è più semplice integrarsi con le
         componenti hardware e software degli smartphone degli utenti.

!3 3                                                           U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
S VA N TA G G I A P P I B R I D A

         Minore responsività: le app ibride potrebbero mancare di potenza e
         velocità, che sono le caratteristiche che contraddistinguono le app
         native. Questo sempre dovuto al layer tra il codice sorgente e la
         piattaforma di destinazione,

         Scarsa UX: è facile implementare elementi basic come pulsanti, moduli
         e checkbox, mentre l'implementazione di animazioni complesse, grafica
         e interfacce hardware sono attività più difficili. In questo caso, il codice
         viene eseguito più lentamente di un codice nativo. Per questo motivo la
         grafica, le animazioni e più in generale l’esperienza utente risulteranno di
         una qualità inferiore.

         Problemi con i plug-in: come sappiamo, le app ibride non vengono
         sviluppate utilizzando solo linguaggi di programmazione tradizionali, per
         definizione compatibili con i sistemi operativi dei dispositivi. Ecco perché
         le app ibride necessitano di plug-in per interfacciarsi con i requisiti
         specifici dei device dei differenti OS. Questi plug-in aiutano le app ibride
         a funzionare senza problemi sui dispositivi, ma gli sviluppatori possono
         incontrare alcuni problemi nei processi di creazione e manutenzione.
         Infatti, poiché i plug-in sono creati da terze parti, gli sviluppatori rischiano
         di avere problemi con la loro manutenzione. Inoltre, se il tuo team ha
         bisogno di riscrivere il codice, potresti trovarti a dover affrontare spese
         impreviste.

!3 4                                                               U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
06.
       Criteri
       Decisionali

!3 5                 U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Non esiste una soluzione che sia ottimale per tutto quando si sviluppa
       un'app mobile. L'ecosistema è in continua evoluzione e la tua app dev’essere
       in linea con i tuoi obiettivi.

       A seconda delle tue esigenze e dei vincoli che devi rispettare (es. Time to
       market, risorse disponibili, integrazioni con sistemi terzi, integrazioni con i
       device ecc.), dovresti valutare i vantaggi e gli svantaggi delle tre tipologie di
       app di cui abbiamo discusso in precedenza.

!3 6                                                                  U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Fattore decisionale: ho bisogno di un'app ORA!
       Se devi assolutamente avere un'app nel più breve tempo possibile,
       beh, devi optare per una app cross-platform o una PWA.
       Sicuramente, una singola codebase accelererà notevolmente i tempi
       di sviluppo.

       Fattore decisionale: non ho molte risorse!
       Se non hai molto tempo, denaro e risorse dovresti scegliere un'app
       ibrida o un'app multipiattaforma. Inoltre, un'app ibrida ti dà la
       possibilità di testare il mercato con un investimento minimo. Se i
       risultati ottenuti hanno successo, puoi decidere di sviluppare una
       versione nativa in un secondo momento.

       Fattore decisionale: la mia app deve essere veloce e
       stabile!
       Se le performance sono la caratteristica più importante per te, hai
       bisogno di un'app nativa. Le app native ti offriranno velocità,
       affidabilità, prestazioni elevate e funzionalità personalizzate essenziali
       per raggiungere i tuoi obiettivi.

!3 7                                                       U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
07.

       Conclusione

!3 8             U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
•   Scegliere il tipo di app di cui hai bisogno non è una
           decisione immutabile. Se un giorno le tue esigenze
           dovessero cambiare, puoi decidere di sviluppare un
           altro tipo di app;

       •   Tieni presente le tue esigenze e le tue risorse attuali,
           nonché le specificità di ogni tipo di app prima di fare una
           scelta;

       •   Una volta che hai finalmente sviluppato la tua app,
           assicurati di monitorare le metriche più rilevanti per
           controllarne l'effettiva crescita;

       •   Ricorda: sta a te trovare la strada per il tuo successo!

!3 9                                                  U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Di seguito, troverai una tabella riepilogativa per confrontare meglio le tre
       tipologie di app e orientarti verso quella più adatta a te.

                          NATIVE APPS                 PWAs                         HYBRID APPS

                                                      HTML5, CSS, JavaScript,      Ionic, HTML5, Javascript e
                          Java, Kotlin, Swift,
        Language                                      Ruby                         CSS
                          Objective-C, C++

        Technology        Platform-specific           General                      General

                          Distinct repositories for   Single cross-platform        Single cross-platform
        Codebase
                          each platform               codebase                     codebase

        Financial
                          High                        Low / Medium                 Low / Medium
        investment

        Development       Slow                        Fast / Medium                Fast / Medium

        Performance       High                        Low / Medium                 Low / Medium

        UI                Native UI                   Non-native UI                Semi-native UI

        Device features
                          Full                        Limited                      Full (with plugins)
        access

                          Occupano più spazio che     Sono le App che              Richiedono meno spazio
        Device storage
                          le PWA ma meno rispetto     richiedono meno spazio       delle app native e più
                          alle Cross-Platform                                      spazio rispetto alle PWA.

        Examples          Pokémon Go, Google          Starbucks, Pinterest         Instagram, Gmail
                          Maps                                                     !

!4 0                                                                            U N ’ E S C L U S I VA P E R B L A Z A R G R O U P. C O M
Puoi anche leggere