← Tutte le guide
Guida

App nativa, Flutter o web app? Come scegliere

Le differenze tra app nativa, app in Flutter e web app, quando serve davvero un'app da installare, quando basta il browser e perché sviluppiamo le nostre app mobile in Flutter.

Qual è la differenza tra app nativa, Flutter e web app?

Quando un'azienda decide di "fare un'app", la prima scelta tecnica è anche quella che pesa di più su costi, tempi e manutenzione. Le strade principali sono tre.

  • App nativa: due app separate, una per iPhone scritta in Swift e una per Android scritta in Kotlin. Due codici, spesso due team, da tenere allineati a ogni modifica.
  • App cross-platform in Flutter: un solo codice, scritto in Dart, da cui si ottengono due app vere per iOS e Android, pubblicate sugli store e installate sul telefono come quelle native.
  • Web app: un'applicazione che si apre nel browser, da un link o da un QR code. Non si scarica dagli store e funziona su telefono, tablet e computer.

Non esiste una scelta giusta in assoluto: dipende sempre da cosa deve fare l'app, da chi la usa e da quanto spesso.

Quando serve davvero un'app da installare?

Un'app da installare ha senso quando succedono almeno una di queste cose.

Deve usare funzioni del telefono che il browser non dà, o dà male. Alcuni esempi dai nostri progetti:

Deve funzionare senza connessione. In banchina, in mare, in montagna o su un pullman la copertura manca spesso. Un'app può salvare i dati sul telefono e sincronizzarli quando la rete torna: la cassa dei traghetti registra ogni vendita in un database locale, così non si ferma mai.

Viene usata spesso. Personale, soci, clienti abituali: chi apre l'app ogni giorno la installa volentieri, e trova l'icona sempre lì.

Quando basta una web app?

Una web app è la scelta migliore quando:

  • l'uso è occasionale: nessuno vuole scaricare un'app per un soggiorno di tre notti. Per questo iiziguest, la nostra guida digitale per B&B, è una web app che l'ospite apre da un QR code in camera, senza installare nulla e senza login. Lo stesso vale per iizimenu, il nostro menu digitale per ristoranti, che il cliente apre dal tavolo
  • si lavora alla scrivania: gestionali, back-office, dashboard e pannelli di amministrazione vivono meglio su uno schermo grande, nel browser
  • conta arrivare a tutti subito: un link funziona su qualsiasi dispositivo, senza passare dagli store e senza aggiornamenti da scaricare

Spesso la risposta è "tutte e due": nella piattaforma per le consegne locali gli admin assegnano e seguono le consegne da una dashboard web, mentre i driver usano un'app in Flutter sul telefono. Se state valutando un gestionale, la pagina sui gestionali su misura entra più nel dettaglio.

Perché sviluppiamo le nostre app in Flutter?

Sei dei progetti che trovate nei nostri lavori sono app in Flutter, dal 2021 a oggi. I motivi sono pratici.

  • Un solo codice per iOS e Android. Ogni funzione si scrive, si testa e si corregge una volta sola, e le due app restano sempre allineate. Per chi commissiona l'app significa meno costi di sviluppo e di manutenzione.
  • Velocità di sviluppo. Le modifiche all'interfaccia si vedono in pochi secondi mentre si lavora, e questo accorcia i tempi dal prototipo alla prima versione. Ne parliamo nella guida su quanto tempo serve per sviluppare un'app.
  • Supporto completo agli ecosistemi Apple e Google. Notifiche, pagamenti, mappe, fotocamera, Bluetooth, servizi Firebase: le librerie sono mature e mantenute.
  • Nessun limite quando serve il nativo. Se una funzione richiede qualcosa di specifico del sistema operativo, Flutter può dialogare direttamente con il codice nativo di iOS e Android. Finora non ci siamo mai trovati bloccati da Flutter in un progetto.

Quando conviene un'app nativa pura?

Raramente, per le app che commissiona un'azienda. Il nativo puro ha senso quando l'app vive quasi solo di funzioni di una singola piattaforma - per esempio se esiste solo per iPhone e deve integrarsi a fondo con widget, Apple Watch o funzioni di sistema appena uscite - oppure quando un'azienda ha già un team interno di sviluppatori iOS e Android.

Negli altri casi, due codici separati significano pagare due volte ogni funzione, ogni correzione e ogni aggiornamento, per un risultato che l'utente non distingue.

Il confronto in una tabella

App nativaApp in FlutterWeb app
Codice da mantenereDue, uno per piattaformaUnoUno
Disponibile suiOS o Android, dagli storeiOS e Android, dagli storeQualsiasi browser, da un link
GPS in background, Bluetooth, offlineSìSìLimitato
Notifiche pushSìSìLimitate, soprattutto su iPhone
AggiornamentiPassano dalla revisione degli storePassano dalla revisione degli storeImmediati
Quando convieneFunzioni molto specifiche di una piattaformaApp usate spesso, che sfruttano il telefonoUso occasionale, lavoro alla scrivania, gestionali

Come scegliere: cinque domande da farsi

  1. Chi la usa e quanto spesso? Uso quotidiano spinge verso l'app, uso occasionale verso la web app.
  2. Deve funzionare senza rete? Se sì, serve un'app.
  3. Usa GPS, Bluetooth, fotocamera o notifiche in modo continuativo? Se sì, serve un'app.
  4. Si usa in movimento o alla scrivania? In movimento il telefono, alla scrivania il browser.
  5. Serve a più tipi di utenti? Spesso la risposta migliore è un'app per chi è sul campo e una web app per chi gestisce, sopra gli stessi dati.

Se le risposte non sono nette, partire da una web app e aggiungere l'app in un secondo momento è una strada sicura, purché il backend sia progettato per entrambe fin dall'inizio.

Nella call gratuita di 30 minuti guardiamo insieme il vostro caso e vi diciamo quale strada sceglieremmo, e perché. Trovate come lavoriamo nella pagina sullo sviluppo di app su misura.

Domande frequenti

Un'app in Flutter è più lenta di un'app nativa?

Per le app aziendali e di servizio, cioè liste, mappe, pagamenti, scansioni e stampa, l'utente non nota differenze. Flutter compila in codice nativo per ogni piattaforma e disegna l'interfaccia da sé, senza passare da una pagina web.

Con Flutter si possono usare Bluetooth, GPS e fotocamera?

Sì. Le funzioni più comuni hanno librerie mature, e quando serve qualcosa di specifico Flutter può chiamare direttamente il codice nativo di iOS e Android. Nelle nostre app usiamo stampa termica Bluetooth, GPS in background, scansione di QR code, notifiche push e mappe 3D.

Una web app si può installare sul telefono?

In parte. Una web app può essere aggiunta alla schermata Home e funzionare a schermo intero, ma ha accesso limitato alle funzioni del telefono, soprattutto su iPhone, e non compare negli store. Se servono GPS in background, Bluetooth o un funzionamento offline affidabile, serve un'app vera.

Posso partire con una web app e fare l'app dopo?

Sì, se il backend è progettato bene. Dati, logica e API restano gli stessi, e l'app mobile si aggiunge come un nuovo pezzo che li usa. È un modo sensato di partire quando non è ancora chiaro se gli utenti useranno il servizio abbastanza spesso da installare un'app.

Costruiamo qualcosa che valga la pena.

Rispondete a un questionario di 2 minuti, poi fissiamo una call di 30: parliamo del vostro progetto, definiamo una prima milestone e vi diciamo onestamente se siamo il team giusto.

Prenota una call →