Website under innovative construction

Qual è la tecnologia migliore per il tuo business?

migliore tecnologia business

A dicembre del 2018, abbiamo avuto una svolta epocale nella storia di Internet: il traffico proveniente da smartphone, dopo decenni, ha surclassato quello proveniente da desktop, assestandosi (ad oggi) al 50,13%, contro il 47.06% dei computer desktop ed il 2.81% dei tablet. (fonte: Statcounter).

 

Per i non addetti ai lavori, quel 3% di differenza potrà sembrare una banalità, ma si porta dietro una serie infinita di implicazioni che possono andare ad impattare sul tuo business che ovviamente necessita della tecnologia migliore.

 

La miglior tipologia di App per il tuo business

 

In questo articolo scopriremo come orientarsi tra le tecnologie più note e analizzeremo i pro ed i contro di ogni soluzione, in modo da poter investire in modo corretto per centrare il nostro obiettivo di business.

 

Partiamo con il primo assioma: il termine APP è estremamente generico.

 

Infatti, ad oggi esistono numerose varianti con caratteristiche del tutto diverse.

 

Di seguito, elencherò alcune varianti attualmente esistenti.

 

Le App Native

 

Un’applicazione nativa è un’app costruita per una specifica piattaforma, pertanto, gli sviluppatori sfruttano un linguaggio di programmazione nativo per il sistema operativo.

 

Generalmente, gli utenti amano le app native poiché hanno delle performance molto elevate, e la loro UX richiama quella del sistema operativo di appartenenza. Da un punto di vista tecnologico, un’app nativa permette allo sviluppatore di accedere a tutte le funzionalità hardware del device a cui l’app è destinata. Cioè permette di eseguire operazioni anche molto complesse, come la gestione della memoria, networking, gestione ottimale dei sensori, fotocamera, GPS..). Qualora si optasse per sviluppare un’applicazione nativa, andrà sviluppata un’app per ogni singola piattaforma, quindi Android ed iOS avranno dei sorgenti totalmente diversi.

Per lo sviluppo di un’applicazione Android, viene utilizzato Java o Kotlin, mentre per lo sviluppo di un’applicazione iOS si utilizza Swift o Objective-C.

 

Le applicazioni native dovranno essere rilasciate sugli store del sistema operativo a cui sono state destinate, pertanto dovranno passare un processo di approvazione che può durare anche un paio di giorni. Qualora sia necessario dover aggiornare l’applicazione, essa dovrà ripassare attraverso i due distinti processi di approvazione (Play Store, App Store).

 

Come è facile intuire, questa tipologia di app è la più costosa ed inoltre necessita di un team di sviluppatori con una seniority più elevata.

 

Esempio di App Native

 

App Immuni
L’applicazione Immuni è stata sviluppata utilizzando una tecnologia nativa. Probabilmente per aumentare performance, UX e permettere una gestione avanzata del Bluetooth.

 

Le Web App

 

Una web app sostanzialmente è un programma che viene eseguito su un browser. A differenza dei programmi tradizionali che richiedono un’installazione, esse funzionano semplicemente accedendo all’indirizzo web dove esse risiedono.

 

Le Web App possono essere progettate per funzionare anche su smartphone e tablet, sempre attraverso il browser web.

 

Tra i vantaggi di una web app abbiamo:

  1. Possibilità di utilizzare l’applicazione su più dispositivi (Smartphone, pc, tablet, smartTV…);
  2. Non è necessario scaricare degli aggiornamenti;
  3. Non occupano spazio su disco;
  4. Possibilità di indicizzarne i contenuti sui principali motori di ricerca;

Le Web App non possono essere pubblicate su uno store ufficiale e non possono essere scaricate.

 

Esse vengono sviluppate utilizzando HTML, CSS e Javascript, e generalmente hanno un costo inferiore rispetto alle altre soluzioni.

 

Esempio di Web App

 

Tutti i principali Home Banking
Se avete utilizzato il vostro Home Banking da Desktop e da mobile navigando attraverso il browser del vostro dispositivo, quello è un esempio molto calzante di Web App.

 

Le App Ibride

 

Un’applicazione ibrida è una Web App racchiusa dentro un contenitore nativo. Come prima, la Web App viene sviluppata utilizzando gli standard delle tecnologie web (HTML, CSS, Javascript), mentre il “contenitore” (WebView), viene sviluppata utilizzando dei linguaggi nativi.

 

Comparato con lo sviluppo di un’app nativa, questa soluzione ha un costo di sviluppo molto inferiore, ma presenta anche alcune limitazioni.

 

Il container nativo si occuperà delle integrazioni con le feature hardware del dispositivo (GPS, fotocamera, sensori..) e verrà sviluppato un “collante” che farà comunicare la Web App con il container.

 

Paragonata ad un’app nativa, le performance e l’usabilità saranno inferiori, inoltre, non sempre è possibile potersi interfacciare in modo agevole con le funzionalità hardware del device sulla quale si sta utilizzando l’applicazione.

 

Le applicazioni ibride possono essere rilasciate sugli store, e il codice del “core” dell’app può essere condiviso tra le piattaforme.

 

Esempio di App Ibrida

 

Twitter
L’applicazione mobile di Twitter, attualmente è un’app Ibrida (Fonte: Stackshare).

 

migliore tecnologia business app

 

App Cross-Platform

 

Molto spesso si confonde “App ibrida” con “Cross platform”, ma in realtà presentano alcune differenze.

Innanzitutto, dal nome possiamo evincere che l’applicazione possa essere sviluppata in un linguaggio comune alle piattaforme sulla quale vorremmo pubblicare il nostro progetto.

Nelle app cross platform, l’app viene scritta in un linguaggio di programmazione che può essere Javascript, .NET, Dart… Ed il codice si va a “connettere” a dei componenti nativi.

Ovviamente non possiamo aspettarci delle performance altissime, ma sono comunque un buon compromesso allo sviluppo di un’app nativa. Tra i framework più comuni abbiamo React Native, Xamarin e Flutter.

 

Come per le app Ibride, esse possono essere pubblicate sugli store.

 

Esempio di App Cross Platform

 

Facebook
La mobile App di Facebook, Instagram e Facebook Ads Manager, sono state sviluppate in React Native (Sviluppato proprio da Facebook nel 2015).

 

Le PWA (Progressive Web App)

 

Le PWA sono delle Web App, ma che si comportano in modo molto simile ad una App Ibrida o Cross-Platform nel momento in cui esse vengono utilizzate su un dispositivo mobile.

Esse sono un perfetto ibrido tra un sito web e le applicazioni mobili.

 

Di seguito, una lista delle principali feature delle PWA.

  • Progressive – Funzionano per ogni utente, a prescindere dal browser scelto perché sono costruite alla base con principi di miglioramento progressivo.
  • Responsive – Si adattano alle varie dimensioni dello schermo: desktop, mobile, tablet, o dimensioni che potranno in seguito rendersi disponibili.
  • Indipendenti dalla disponibilità della connessione – I Service worker consentono di far funzionare l’applicazione offline, in mancanza di connessione o con connessioni a bassa qualità.
  • App-like – Si comportano con l’utente come se fossero delle app native, in termini di interazione e navigazione.
  • Aggiornate – Le informazioni sono sempre aggiornate grazie al processo di aggiornamento dei dati offerto dai service worker.
  • Sicure – Vengono esposte su protocollo HTTPS per evitare che la connessione esponga informazioni o che i contenuti vengano alterati.
  • Discoverable – Vengono identificate come “applicazioni” grazie al manifesto W3C e al service worker registration scope che consente ai motori di ricerca di trovarle.
  • Riattivabili – Rendono facile la riattivazione dell’applicazione grazie a capacità quali le notifiche push.
  • Installabili – Consentono all’utente di “salvare” le app che considera più utili con la corrispondente icona sullo schermo del proprio terminale mobile (home screen) senza che si debba affrontare tutti i passaggi e problemi legati all’uso dell’app store.
  • Linkabili – Facilmente condivisibili tramite l’URL e non richiedono complesse installazioni.

(fonte: Wikipedia)

 

Esempio PWA

 

Keen
Keen sul Play Store

 

Purtroppo ad oggi le PWA presentano alcune problematiche: tra questa abbiamo il fatto che esse non siano compatibili con tutti i browser web e l’impossibilità di ricevere notifiche push su iOS.

 

Le PWA, a partire da Chrome 72, possono essere inserite nel Play Store.

 

Ovviamente una PWA non potrà mai essere paragonata ad un’app nativa o ad un’app ibrida/cross qualora volessimo andare ad interagire con le funzionalità hardware del device, ma è un’ottima (e secondo me necessaria) alternativa qualora si decida di sviluppare un’app mobile per un servizio come un ecommerce, o un qualsiasi altro servizio che non sfrutti funzionalità hardware particolari.

 

A mio parere le PWA hanno un grosso potenziale, ma hanno bisogno di ancora un po’ di tempo per poter essere assimilate dall’opinione pubblica.

 

Molto spesso il banner di notifica “Aggiungi alla schermata home” viene associato ai tranelli utilizzati dai siti malevoli per poterti inviare notifiche push o invitarti a scaricare un software, di conseguenza, da quanto ho potuto riscontrare, molti sono restii a procedere.

 

Nel momento in cui un utente sarà conscio del fatto che potrà visualizzare il suo blog preferito anche offline sotto forma di PWA e risparmiare banda semplicemente acconsentendo ad un banner, allora saremo realmente pronti per una nuova rivoluzione.

 

Infine, voglio invitare i lettori di questo articolo a non fossilizzarsi sulla tecnologia da utilizzare per il vostro primo MVP: se la vostra app risolve un bisogno vero, allora essa verrà utilizzata in qualsiasi formato. Viceversa, anche avendo sviluppato un’app nativa super performante da decine di migliaia di euro, resterà inutilizzata.