Perché un'app Nativa non è sempre una buona idea
10.03.2020
Cit. “Non conta l’idea, ma l’esecuzione” Business Developer anonimo.
Durante la mia esperienza a Mabiloft, ho sentito spesso questa frase.
La comparazione tra idea ed esecuzione mi ha sempre affascinato. Onestamente, penso che siano entrambe importanti l'una per l'altra: l'esecuzione non esisterebbe senza un'idea ben pensata e, allo stesso modo, un'idea rimane tale senza esecuzione.
Idea al giorno zero
Nel normale processo di creazione di un applicazione mobile, si parte sempre da un'idea che, attraverso una fase lunga, ma molta soddisfazione (esecuzione), viene pubblicata e diventa realtà. In questo articolo voglio parlare di una delle tante scelte che vengono fatte durante le prime analisi dell'idea:
"Applicazione nativa o ibrida?".
Per poter rispondere a questa domanda, si devono conoscere bene entrambe le opzioni: i lati positivi, ma sopratutto, quelli negativi!
Nativa vs Ibrida
Dopo qualche anno dalla nascita delle applicazioni per smartphone, sta diventando comunque parlare di "applicazione native" e "applicazione ibrida".
Nella realtà dei fatti, però , cosa significano questi termini?
Per me l'applicazione nativa è semplicemente la soluzione qualitativamente migliore, per realizzare un'idea con un pubblico che usa lo smartphone.
Questo però non significa che la qualità dell'applicazione, una volta sviluppata, sia sempre la migliore.
Anche se, di base, una Mustang è più veloce di una Smart, con la passione di un meccanico specializzato, la Smart puà superare con facilità la Mustang!
Applicazione ibrida al suo massimo potenziale (Smart) vs Applicazione nativa standard (Mustang)
"Non è l'abito a fare il monaco" dice niente? Ok, la smetto con gli aforismi! Quello che voglio dire è che anche se un'applicazione è nativa, la qualità e la resa finale dipendono da come viene programmata.
L'applicazione ibrida invece è la soluzione migliore per il suo rapport quality/effort.
Con un'applicazione ibrida, il tempo di sviluppo complessivo è quasi dimezzato rispetto ad un'applicazione nativa, sia perché si sviluppa il codice una volta sola e non due (una volta per Android ed una per iOS), sia perché la competenza richiesta per poter avere un buon risultato, è statisticamente minore rispetto ad una applicazione nativa.
Quindi sembra essere ovvia la risposta alla domanda fatta sopra: "Applicazione nativa o ibrida?".
In realtà non lo è.
Ci sono alcuni casi che necessitano di una applicazione nativa perché un'applicazione ibrida non soddisfa a pieno alcuni requisiti.
L’Applicazione ibrida è quasi sempre la scelta giusta
Sembra difficile scegliere, ma non è così
Per via dei punti sopra esposti, chiunque abbia già lavorato nel mondo delle applicazioni mobile, andrebbe a scegliere la tecnologia ibrida. Per il 90% delle idee incentrate su applicazioni mobile, questa è la scelta PERFETTA!
Ecco alcune categorie di idee che funzionano alla grande con la tecnologia ibrida:
Social ed Eventi
IOT & Industria 4.0
Cataloghi
Mini Giochi
Consultazione e Riviste
Quando si sviluppa una applicazione nativa?
Ci sono alcune idee che richiedono funzionalità molto particolari che, se sviluppate su applicazioni ibride, andrebbero a rallentare di molto l'esperienza utente.
Applicazione rallentata mentre esegue task non idonei alla sua natura
Ad esempio, qui a Mabiloft, abbiamo lavorato su un progetto interno per l'elaborazione real-time di video ad esportazione GIF. Questo genere di task richiede molta potenza e una cosa che nella maggior parte delle applicazioni ibride non si riesce ad avere: "Il pieno controllo del sistema, fino alla sua minima parte".
Trattandosi di elaborazione video ed esportazione GIF, la nostra applicazione aveva bisogno di molta potenza, e sopratutto, di poter gestire ogni singola fase del processo, essendo radicato a livelli di programmazione molto bassi (encode vari ed altre cose super tecniche che non tratterò qui).
Conclusione
Ad oggi, le applicazioni ibride hanno raggiunto prestazione ed affidabilità equiparabili a quelle native, se programmate da mani esperte.
Il mio consiglio è di sviluppare un'applicazione ibrida scegliendo tra i linguaggi React Native e Flutter.
In Mabiloft, abbiamo adottato React Native fin dai primi momenti e padroneggiato Flutter da più di un anno con diversi progetti in produzione.
Se siete interessati, date una letta a questo articolo che spiega come abbiamo conosciuto React Native.
Grazie per essere arrivato fino a qui.
Se sei interessato a questo tipo di argomenti, iscriviti alla nostra newsletter!