Punti chiave
Firebase è una piattaforma Backend-as-a-Service (BaaS) che fornisce strumenti pronti per lo sviluppo di applicazioni. Firebase libera gli sviluppatori dalla necessità di creare infrastruttura server da zero — analisi, database, autenticazione, notifiche push e molto altro sono disponibili immediatamente tramite SDK.
Google ha acquisito Firebase nel 2014 per 100 milioni di dollari e lo ha integrato con Google Cloud Platform. Firebase offre oltre 20 prodotti che possono essere combinati in base alle esigenze del progetto. La maggior parte dei servizi ha un generoso limite gratuito (Spark Plan) ed è disponibile un piano a pagamento con pagamento a consumo (Blaze Plan) per la crescita.
L'integrazione di Firebase inizia con la creazione di un progetto in Firebase Console e l'aggiunta di un file di configurazione (GoogleService-Info.plist per iOS, google-services.json per Android). Firebase supporta iOS, Android, Flutter, React Native, Unity e applicazioni web, rendendolo una soluzione universale per qualsiasi piattaforma.
Firebase Analytics è uno strumento di analisi gratuito che raccoglie dati sul comportamento degli utenti. Firebase Analytics è il nucleo dell'intera piattaforma — i dati di analisi vengono utilizzati da tutti gli altri servizi Firebase per targeting e personalizzazione.
Firebase Crashlytics è lo strumento più popolare per tracciare i crash delle app. Crashlytics raccoglie automaticamente stack trace, log e dati del dispositivo ad ogni crash dell'app. I rapporti sono raggruppati per tipo di errore, consentendo di identificare rapidamente i problemi più critici.
Crashlytics supporta log personalizzati, chiavi ed eccezioni non fatali. Le eccezioni non fatali consentono di tracciare gli errori gestiti senza bloccare l'app — ad esempio, una richiesta API fallita o un'eccezione nella logica di business.
Firebase Performance è uno strumento per monitorare le prestazioni dell'app. Performance tiene traccia del tempo di avvio, della latenza di rete, del rendering dello schermo e delle richieste HTTP. Identifica i colli di bottiglia che rallentano l'app e degradano l'esperienza utente.
L'integrazione di Firebase Analytics con Crashlytics offre una capacità unica di vedere non solo cosa è andato in crash, ma anche quali azioni dell'utente hanno preceduto il crash. IT Sectr utilizza questa combinazione per la diagnosi rapida dei bug in produzione — il tempo dal rilevamento alla correzione si riduce di 3–4 volte.
Firebase offre due database NoSQL e archiviazione cloud per file. La scelta tra Firestore e Realtime Database dipende dal caso d'uso — entrambi i database sincronizzano i dati in tempo reale ma hanno architetture diverse.
| Caratteristica | Cloud Firestore | Realtime Database |
|---|---|---|
| Modello dati | Collezioni e documenti (oggetti JSON) | Un singolo grande albero JSON |
| Query | Composte, indici, ordinamento, filtri | Semplici, ordinamento da un singolo nodo |
| Scalabilità | Automatica, multi-regione | Regione singola, limiti di larghezza di banda |
| Prezzi | Volume di letture/scritture/cancellazioni | Volume di traffico e archiviazione |
| Modalità offline | Supportata (cache su disco) | Supportata (cache in memoria) |
| Migliore utilizzo | Chat, social network, query complesse | Chat, giochi, sincronizzazione semplice |
Cloud Storage è un archivio di file (immagini, video, audio). Firebase Storage si scala automaticamente fino a petabyte e fornisce upload affidabile con ripresa in caso di interruzione della connessione. Si integra con Firebase Auth per l'accesso sicuro.
Firestore è consigliato per i nuovi progetti grazie alle sue query flessibili e scalabilità. Realtime Database rimane una buona scelta per chat semplici e giochi con piccole quantità di dati. IT Sectr utilizza solitamente Firestore come database principale e Realtime Database solo per collaborazioni in tempo reale.
Firebase Authentication è una soluzione pronta per l'autenticazione degli utenti. Firebase Auth supporta email/password, Google, Apple, Facebook, Twitter, GitHub, autenticazione telefonica e login anonimo. L'intero processo di autenticazione è implementato lato client tramite SDK.
Google Sign-In è uno dei provider di autenticazione più popolari. L'integrazione di Google Sign-In richiede 15–30 minuti tramite Firebase Console e non richiede sviluppo backend. Gli utenti accedono con un clic utilizzando il proprio account Google.
Firebase Auth fornisce anche funzioni backend tramite Admin SDK. È possibile creare utenti, aggiornare profili, gestire sessioni e verificare token ID sul server. L'integrazione con Cloud Functions consente di creare scenari di autenticazione personalizzati.
Security Rules — il meccanismo di sicurezza di Firebase per database e archiviazione. Le regole di accesso sono descritte in modo dichiarativo e vengono verificate su ogni richiesta. Ad esempio: consentire la lettura di un documento solo se userId corrisponde all'utente attualmente autenticato.
Esempio di una Security Rule semplice per Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) è un servizio per l'invio di notifiche push. FCM gestisce fino a 500 miliardi di messaggi al giorno e supporta iOS, Android e Web. I messaggi sono divisi in notification messages (visualizzazione automatica) e data messages (elaborazione nell'app).
Firebase Remote Config consente di modificare il comportamento dell'app senza pubblicare una nuova versione. Remote Config viene utilizzato per test A/B, attivazione/disattivazione di funzionalità, personalizzazione dell'interfaccia e modifiche dinamiche dei parametri (ad esempio, frequenza degli annunci, testo del paywall).
Firebase A/B Testing è uno strumento per condurre esperimenti. Crea due versioni dell'app con parametri diversi e misura l'impatto sulle metriche (conversione, retention, entrate). I test calcolano automaticamente la significatività statistica e determinano il vincitore.
Firebase Dynamic Links sono link intelligenti che portano l'utente nel posto giusto dell'app. I Dynamic Links funzionano anche se l'app non è installata — in questo caso portano alla pagina del negozio e, dopo l'installazione, ripristinano il contesto e reindirizzano alla schermata target.
IT Sectr utilizza la combinazione Remote Config + A/B Testing per ottimizzare tutti gli scenari chiave: dalla schermata di benvenuto al flusso di pagamento. I parametri di Remote Config possono essere modificati in tempo reale tramite Firebase Console — questo offre flessibilità non disponibile con i cicli di rilascio tradizionali.
Firebase Test Lab è una soluzione cloud per test automatici di app. Test Lab esegue i tuoi test su dispositivi Google reali in varie configurazioni (diverse versioni del sistema operativo, risoluzioni dello schermo, lingue). Supporta Espresso (Android), XCUITest (iOS) e test Robo.
Firebase App Distribution è una piattaforma per distribuire versioni beta delle app. App Distribution sostituisce TestFlight per Android e lo integra per iOS. Puoi caricare APK/AAB e ricevere feedback dai tester tramite l'integrazione con Crashlytics.
La combinazione di Test Lab e App Distribution garantisce la qualità in tutte le fasi dello sviluppo: dai test automatici su dispositivi reali ai test beta con utenti reali. L'integrazione con CI/CD (GitHub Actions, Bitrise) rende il processo completamente automatico.
| Servizio | Scopo | Limite gratuito | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Raccogliere e analizzare eventi utente | Illimitato | + | + | + |
| Crashlytics | Segnalazione di crash | Illimitato | + | + | - |
| Firestore | Database NoSQL | 1 GB di archiviazione | + | + | + |
| Realtime DB | Database in tempo reale | 1 GB di archiviazione | + | + | + |
| Auth | Autenticazione utenti | Illimitato | + | + | + |
| Cloud Messaging | Notifiche push | Illimitato | + | + | + |
| Remote Config | Gestione dei parametri | Illimitato | + | + | + |
| Performance | Monitoraggio delle prestazioni | Illimitato | + | + | + |
| Test Lab | Test cloud | 10 test/giorno | + | + | - |
| App Distribution | Distribuzione versioni beta | Illimitato | + | + | - |
| Cloud Functions | Codice server su richiesta | 2 milioni di chiamate/mese | + | + | + |
Domande frequenti
Firebase ha un piano gratuito Spark Plan con limiti generosi — analisi, segnalazione di crash e autenticazione sono gratuiti e illimitati. Il piano Blaze Plan (pagamento a consumo) è necessario quando i limiti vengono superati — ad esempio, più di 1 GB in Firestore o più di 2 milioni di chiamate Cloud Functions. La maggior parte delle startup non supera i limiti gratuiti nei primi 1–2 anni.
Per la maggior parte dei nuovi progetti, si consiglia Firestore. Firestore offre migliore scalabilità, query più ricche e replica multi-regione. Realtime Database dovrebbe essere scelto solo per scenari semplici in tempo reale (chat con piccole quantità di dati, giochi in tempo reale).
Sì, Firebase utilizza protocolli aperti e i dati possono essere esportati. Firestore ha un export gestito verso BigQuery e Google Cloud Storage. L'autenticazione può essere migrata esportando gli hash delle password. Cloud Functions può essere facilmente riscritto su qualsiasi framework backend.
Firebase utilizza una protezione a più livelli: crittografia a livello di trasporto (TLS) e a livello di archiviazione (AES-256). Le Security Rules forniscono un controllo di accesso dichiarativo. Firebase è anche conforme agli standard SOC 1/2/3, ISO 27001 e GDPR.
Firebase funziona in modo limitato in Cina a causa del blocco dei servizi Google. Per il mercato cinese, è necessario utilizzare alternative locali — ad esempio, Alibaba Cloud Push invece di FCM, o LeanCloud invece di Firebase. Firebase Analytics e Crashlytics non saranno disponibili senza VPN.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.