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:
- GPS in background: nell'app per i viaggi in bus verso i concerti il telefono dell'accompagnatore condivide la posizione del pullman con i passeggeri anche a schermo spento
- Bluetooth: l'app di cassa per le biglietterie dei traghetti stampa i biglietti su una stampante termica collegata via Bluetooth
- Notifiche push affidabili, per avvisare passeggeri, clienti o personale nel momento giusto
- Mappe evolute: l'app per il cicloturismo mostra i percorsi in 3D e segue il ciclista lungo la traccia
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 nativa | App in Flutter | Web app | |
|---|---|---|---|
| Codice da mantenere | Due, uno per piattaforma | Uno | Uno |
| Disponibile su | iOS o Android, dagli store | iOS e Android, dagli store | Qualsiasi browser, da un link |
| GPS in background, Bluetooth, offline | Sì | Sì | Limitato |
| Notifiche push | Sì | Sì | Limitate, soprattutto su iPhone |
| Aggiornamenti | Passano dalla revisione degli store | Passano dalla revisione degli store | Immediati |
| Quando conviene | Funzioni molto specifiche di una piattaforma | App usate spesso, che sfruttano il telefono | Uso occasionale, lavoro alla scrivania, gestionali |
Come scegliere: cinque domande da farsi
- Chi la usa e quanto spesso? Uso quotidiano spinge verso l'app, uso occasionale verso la web app.
- Deve funzionare senza rete? Se sì, serve un'app.
- Usa GPS, Bluetooth, fotocamera o notifiche in modo continuativo? Se sì, serve un'app.
- Si usa in movimento o alla scrivania? In movimento il telefono, alla scrivania il browser.
- 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.

