Flutter e React Native sono tra le migliori scelte per lo sviluppo software multipiattaforma. Molti si chiedono ancora se Flutter o React Native sia la scelta migliore. Perché non sederci e prenderci del tempo per goderci questa lettura di 10 minuti per prendere una decisione informata?
Scopri di più sullo Sviluppo di App React Native e sullo Sviluppo di App Flutter multipiattaforma di HDWEBSOFT.
Cos’è Flutter?
Per decidere se Flutter sia la scelta migliore, dobbiamo esaminarlo attentamente. Flutter è un toolkit UI portatile – un Software Development Kit (SDK) completo per applicazioni, supportato da molti widget e strumenti.

Una breve storia di Flutter:
- Febbraio 2018, Mobile World Congress – Prima release beta di Flutter
- Aprile 2018, Google I/O – Release Flutter beta 2
- Maggio 2018, Google I/O – Release Flutter beta 3
- Flutter entra nella top 100 dei repository di GitHub
- Giugno 2018 – Release Flutter Preview 1
- Settembre 2018 – Release Flutter Preview 2
- Novembre 2018 — Release Dart 2.1
- Dicembre 2018, Google I/O – Release Flutter 1.0
- Un traguardo cruciale per la tecnologia – da dicembre 2018, Flutter è considerato stabile e pronto per la produzione
- Febbraio 2019, Mobile World Congress – Release Flutter 1.2
- Maggio 2019, Mobile World Congress:
- Release Flutter 1.5
- Versione di anteprima di Flutter per il Web
- Release Dart 2.3
- Luglio 2019, Release Flutter 1.7
- Settembre 2019, Release Flutter 1.9
- Flutter è stato regolarmente sviluppato e Google ha rilasciato le sue versioni più recenti. La sua versione più nuova è la 2.2.0, annunciata durante il Google I/O di maggio 2021.
Quali app famose sono realizzate con Flutter?
- App Xianyu di Alibaba
- App Hamilton
- App Google Ads
- App eBay Motors
- Google Stadia
- Groupon
- Baidu Tieba
- Philips Hue
- App Topline di Abbey Road Studios
- Reflect
Flutter – Vantaggi e svantaggi
In questa sezione, esamineremo rapidamente i principali benefici e svantaggi di Flutter.
Vantaggi di Flutter:
Hot Reload
Hot Reload è una delle cose più grandiose di Flutter, apprezzata da ogni azienda di sviluppo di app mobili di primo livello. Grazie a questo, Flutter offre uno sviluppo di app più dinamico e rapido. Gli sviluppatori possono apportare modifiche al codice al volo e vederle immediatamente in effetto nell’applicazione. In altre parole, gli sviluppatori possono aggiungere funzionalità, correggere bug e sperimentare nuove idee istantaneamente.
Un codice sorgente, 2 o più piattaforme mobili
Con Flutter, gli sviluppatori possono scrivere un solo codice sorgente per due applicazioni – coprendo entrambe le piattaforme iOS e Android. Google sta attualmente lavorando su Flutter per il Web e, una volta completato, un singolo codice sorgente Flutter coprirà le piattaforme Android, iOS e web.
Scopri di più e assumi sviluppatori Flutter dal pool di talenti di HDWEBSOFT.
Fino al 50% di test in meno
Si possono ottenere circa il 50% in meno di test automatizzati perché possiamo creare gli stessi test da eseguire su entrambe le piattaforme, riducendo le richieste sul nostro team QA.
App più veloci
Le app Flutter funzionano in modo fluido e veloce perché Flutter utilizza la libreria grafica Skia. Grazie a questo, la UI viene ridisegnata ogni volta che una vista cambia. La maggior parte del lavoro è svolta dall’unità di elaborazione grafica. Di conseguenza, la UI di Flutter è fluida e in grado di offrire 60 fps (fotogrammi al secondo).
Design che i vostri utenti ameranno
Flutter non si basa esclusivamente sui componenti nativi del sistema, poiché dispone di un proprio set di widget personalizzati gestiti dal motore grafico del framework. Le app Flutter sono user-friendly, un vantaggio cruciale di Flutter rispetto a React Native. Inoltre, Flutter è stato creato per creare facilmente i vostri widget o personalizzare un widget esistente.
Stessa UI dell’app, anche su dispositivi più vecchi
Anche le nuove app appaiono identiche su sistemi iOS o Android più vecchi, quindi non dovrete mai preoccuparvi del supporto per dispositivi più datati.
Perfetto per gli MVP
Se dovete costruire un MVP (Minimum Viable Product) come vetrina per potenziali investitori, Flutter è la scelta migliore, soprattutto se il tempo è poco.

SVANTAGGI di Flutter:
Dimensione della comunità di sviluppatori
La maggior parte delle persone presumerà che Flutter non sia la scelta migliore poiché React Native è più consolidato e ha una comunità di sviluppatori più esperta. Inoltre, Dart, il linguaggio di programmazione su cui si basa Flutter, non è così ampiamente utilizzato come JavaScript. Accettando questo fatto, la comunità di Flutter ha bisogno di tempo per educare il suo pubblico e acquisire più esperienza.
Guardando il lato positivo, due anni fa Flutter aveva una comunità più piccola e meno esperta, e Dart è più di nicchia rispetto a JavaScript. Le tendenze attuali indicano che Flutter sta superando i suoi concorrenti in questo ambito. Date un’occhiata alle statistiche qui sotto:
- I trend dei tag di Stack Overflow mostrano un intenso aumento dell’interesse degli sviluppatori per Flutter.
- Su Udemy, ci sono oltre 257 corsi su Flutter (con circa 1.410.000 partecipanti ai corsi).
- Ci sono anche 75 corsi su Dart (con circa 608.000 partecipanti (a maggio 2021)).
- I numeri di React Native sono inferiori – circa 866.000 studenti su 133 corsi.
- Flutter ha oltre 120.000 stelle su GitHub, mentre React Native ne ha più di 95.300.
Nuove librerie e supporto
Sebbene supportato da Google, Flutter è piuttosto nuovo. Ciò si traduce nel fatto che non è sempre possibile trovare la funzionalità necessaria nelle librerie esistenti, quindi potreste dover costruire funzionalità personalizzate da soli.
È necessario il supporto per l’integrazione continua.
Flutter manca di supporto per piattaforme CI come Travis o Jenkins. Per ottenere build, test e deployment automatici, i vostri sviluppatori devono utilizzare e mantenere script personalizzati.
Rischio di piattaforma
Se Google decidesse di interrompere il progetto, significherebbe la rovina per Flutter, anche se è open-source.
Dimensione dell’app
Le applicazioni scritte in Flutter sono più grandi di quelle native. Consultate l’articolo Confronto delle dimensioni degli APK. Tuttavia, il team di Flutter sta lavorando per ridurre le dimensioni delle app realizzate con Flutter.
Cos’è React Native?
Allo stesso modo, per decidere se React Native sia la scelta migliore, dobbiamo capire cos’è. React Native è un framework open-source per applicazioni mobili che utilizza JavaScript.
A cosa serve React Native?
React Native è un framework efficace per:
- Sviluppo multipiattaforma
- Costruire app mobili utilizzando il linguaggio JavaScript
- Sviluppare applicazioni sia per Android che per iOS utilizzando un unico codice sorgente
- Utilizzare lo stesso design di React
Una breve storia di React Native:
- Estate 2013, hackathon di Facebook – React Native è nato come progetto interno di Facebook
- Gennaio 2015, conferenza React.js – Release React Native 1 Preview
- Marzo 2015, conferenza F8 – Lancio ufficiale di React Native
- Facebook dichiara React Native ‘aperto all’uso e disponibile su GitHub’
- Lean Core – riduzione delle dimensioni di un’app spostando componenti/funzionalità opzionali in repository separati (da aggiungere a un’app quando necessario)
- TurboModules – per una gestione migliorata dei moduli nativi
- React Native Fabric – livello UI ri-architettato
Quali app famose sono realizzate con React Native?
- Fb Ads Manager
- Skype
- Tesla
- Bloomberg
- Wix.com

React Native – pro e contro
Per decidere se Flutter sia la scelta migliore o se lo sia React Native, è il momento di dare un’occhiata ai vantaggi e alle carenze di React Native.
PRO di React Native:
Fast refresh
Allo stesso modo, l’Hot Reload di Flutter accelera il processo di sviluppo consentendo a uno sviluppatore di implementare nuovo codice direttamente in un’app in esecuzione. L’Hot Reload mantiene anche lo stato dell’applicazione, il che aiuta a evitare il rischio di perdere il codice durante un ricaricamento completo.
Un codice sorgente, 2 piattaforme mobili
Un codice sorgente React Native può ora funzionare senza problemi sia su piattaforme Android che iOS. Portando il gioco a un livello superiore, JavaScript consente applicazioni multipiattaforma condividendo il codice con le app web.
Di seguito sono riportate alcune librerie di esempio che vi consentono di creare simultaneamente codice su piattaforme diverse da iOS e Android (incluse app web e desktop):
- React Native for Web – supporta Android, iOS e web (Twitter lo ha usato per creare Twitter Lite)
- ReactXp – sviluppato dal team di Skype per supportare Android, iOS e Web; inoltre, funziona su Windows 10 (UWP)
- React-native-windows – sviluppato dal team Microsoft, supporta tutti i dispositivi supportati da Windows 10 (PC, tablet, 2-in-1, Xbox, dispositivi di realtà mista, ecc.)
Una comunità attiva – e vasta
React Native è stato rilasciato più di 5 anni fa, quindi Facebook ha avuto tutto il tempo per stabilizzare l’API, oltre che per concentrarsi sulla correzione dei problemi. Stanno lavorando su alcuni miglioramenti entusiasmanti – come la riduzione delle dimensioni delle app.
React Native ha anche un’enorme comunità di sviluppatori, e ci sono innumerevoli tutorial, librerie e framework UI che rendono facile imparare la tecnologia.
Quando si tratta di raccogliere articoli, strumenti e materiali su tecnologie specifiche, React Native è posizionato molto meglio di Xamarin, Flutter o Ionic.
Facile da imparare per gli sviluppatori React
Poiché React Native appartiene alla famiglia React, chiunque abbia esperienza con React può facilmente iniziare a lavorare con React Native senza dover imparare nuove librerie. Possono utilizzare le stesse librerie, strumenti e pattern.
Scopri di più sugli Sviluppatori React Native di HDWEBSOFT.
Fino al 50% di test in meno
Circa il 50% in meno di test automatizzati è ottenibile perché gli stessi test possono essere eseguiti su entrambe le piattaforme, riducendo le richieste sul nostro team QA.
CONTRO di React Native
Non nativo
Un problema comune di qualsiasi applicazione multipiattaforma è che né l’esperienza UI né le prestazioni sarebbero le stesse delle app native. La somiglianza è intorno all’80-90%.
Meno componenti pronti all’uso
React Native supporta solo componenti di base pronti all’uso (molti dei quali sono adattivi a una piattaforma fin da subito, come pulsanti, indicatori di caricamento o slider).
D’altra parte, Flutter è progettato per supportare Material Design pronto all’uso, quindi il framework supporta molti più widget. Fa risparmiare tempo. Uno sviluppatore che utilizza Flutter può creare la maggior parte delle viste con widget predefiniti facilmente personalizzabili e coerenti multipiattaforma.
Molti pacchetti abbandonati
React Native vanta un numero enorme di librerie. Sfortunatamente, troppe di esse sono di bassa qualità o sono state abbandonate.
UI fragile
React Native utilizza componenti nativi, consentendo ai componenti della vostra app di essere aggiornati istantaneamente dopo ogni aggiornamento della UI del sistema operativo. Tuttavia, questo può compromettere la UI dell’app. In altre parole, gli aggiornamenti possono destabilizzare se causano determinati cambiamenti nelle API dei componenti nativi.
D’altra parte, quando si tratta di Flutter, la UI dell’app è molto più stabile.
Le app sono più grandi di quelle native.
Le applicazioni scritte in React Native devono essere in grado di eseguire codice JavaScript. Poiché Android non ha questa funzionalità, significa che le applicazioni devono includere una libreria che supporta il codice JavaScript. Di conseguenza, le app risultano più grandi delle loro controparti native Android.
Quando scegliere React Native e quando scegliere Flutter
Dipende dalle specifiche del vostro progetto e dall’equilibrio delle competenze del vostro team.
- Quando il vostro team ha familiarità con Dart, Flutter sarà la scelta migliore.
- Se sono fluenti in JavaScript, React Native è la scelta migliore.
- Se la costruzione della GUI della vostra app necessita di componenti UI nativi, React Native regna sovrano.
- Se il design orientato al brand è la vostra priorità, Flutter sarà il rimedio sovrano.
Se avete difficoltà a decidere tra Flutter e React Native, sentitevi liberi di consultare il nostro team presso HDWEBSOFT – Un’azienda di sviluppo software offshore. Siamo orgogliosi di essere una delle principali aziende di sviluppo software in Vietnam e garantiremo il successo del vostro progetto.