L'app che abbiamo preparato nella lezione precedente ha tutte le funzionalità che ci interessano. Supponiamo di essere soddisfatti del suo aspetto esteriore e delle interazioni utente che permette, quello di cui abbiamo bisogno per renderla realmente utilizzabile è l'integrazione di un database in sostituzione del local storage: la scelta per cui propendiamo, dato il contesto, è Firestore, il database NoSQL di Firebase.
Perchè scegliere Firebase come backend?
Firebase è un'ottima scelta per rappresentare un backend comodo e funzionale per applicazioni web e mobile. Non solo infatti può essere integrato, direttamente o indirettamente, in ogni tipo di sistema, ma il suo database Firestore può costituire una scelta efficiente in quanto:
- rappresenta l'opzione più naturale anche sotto il profilo della "familiarità" tra i progetti;
- è totalmente in Cloud, gestibile da interfaccia web e comodamente configurabile dal punto di vista dei profili di sicurezza;
- rientra nell'offerta del piano gratuito Spark;
- ha ottime performance e nasce per situazioni orientate al real-time.
Inoltre, si può usare gratuitamente in Firebase anche il servizio Cloud Storage, ereditato dalla Google Cloud Platform, indispensabile per la custodia dei file.
Prompt su Firebase Studio per l'integrazione
Come abbiamo ormai imparato, il modo migliore per iniziare una fase di creazione o aggiornamento di un progetto Firebase Studio consiste nel partire sempre da un prompt in modo da svolgere ogni operazione guidati dall'Intelligenza Artificiale.
Proponiamo le modifiche chiedendo a Firebase Studio di:
- sostituire il supporto al local storage con un database Firestore per rendere persistente l'attività dell'app;
- permettere di salvare gli allegati nel Cloud Storage di Firebase;
- rimodulare l'interfaccia utente in maniera tale che ogni comando finora esistente continui a funzionare con il nuovo assetto di memorizzazione;
- cercare di fare il tutto, possibilmente, con strumenti rientranti nel piano gratuito Spark.
Firebase Studio ragiona sul da farsi per esaudire le richieste di questo nuovo prompt e propone il seguente piano d'azione.

Figura 1. Come Firebase Studio procederà per l'integrazione del database
Come vediamo, Firebase Studio inizia chiedendoci l'autorizzazione a creare un nuovo progetto. Al suo interno, verranno gestite le logiche di immagazzinamento dati. Dobbiamo ovviamente accettarlo e da quel momento, ogni volta che accederemo alla console di Firebase (con lo stesso account per il progetto web), lo troveremo.
Ricordiamo che il dialogo con il prompt deve essere continuativo quindi non dovremo trascurare di chiedere verifiche, controlli e segnalare ogni aspetto che non ci convince particolarmente: visto che ci stiamo affidando all'AI non conviene scombinargli troppo le carte finché non è indispensabile, meglio che continui ad occuparsene lei!
E' importante inoltre, quando qualcosa non ci è chiaro, chiedere ulteriori istruzioni al prompt. Se ad esempio abbiamo il dubbio di dover compiere noi una qualche configurazione possiamo dire: "Dammi istruzioni dettagliate per poter svolgere....al fine di ottenere....".
E' importante essere dettagliati con i prompt ma fare richieste ben strutturate: ciò vale per Firebase Studio ed un po' in tutto il settore della AI generativa.
Verifica dell'abilitazione dei servizi
La risposta del prompt (che non è assolutamente detto che sia per tutti ed in ogni caso la stessa) potrebbe indicarci di svolgere alcune operazioni su Firebase per attivare database, storage e relativi permessi. Firebase, tra l'altro, ha un'interfaccia utente molto colorata e accogliente pertanto entrando nei servizi che ci interessano ci accorgeremo subito se questi sono stati attivati o meno.
Ad esempio, in Firestore non dovremmo vedere una sorta di pagina di benvenuto bensì un database vuoto che aspetta nuovi dati. Qualora così non fosse potremo entrare nella pagina di Firestore e selezionare il comando Crea database. A quel punto ci verrà chiesto di scegliere una collocazione nel mondo del database (una regione Cloud) e se avviarlo in modalità test o produzione: il caso test sblocca i permessi pertanto ci permette di provare meglio il nostro lavoro sebbene dovremo ricordarci di "sicurizzarlo" prima della messa in produzione.
Test delle modifiche con Firebase Studio
La prima cosa da fare sarà provare la persistenza dei dati e la bidirezionalità delle operazioni. Ad esempio, proviamo ad inserire una nota da interfaccia utente:

Figura 2. Nuova nota
e verifichiamo che tutti i suoi dati siano presenti anche all'interno del database:

Figura 3. Dati salvati in Firestore
Come vediamo c'è corrispondenza totale. Ora sarà il momento di effettuare una serie di prove per modifica e cancellazione. Come minimo, dovremo:
- modificare una nota da interfaccia e vedere il cambiamento nel database;
- viceversa, modificare una nota da database e vedere il cambiamento nell'interfaccia;
- eliminare una nota e vederla scomparire nel database.
In quest'ultima figura, si vede inoltre che è stato predisposto un array attachments per ricevere l'identificativo degli allegati.
Per quanto riguarda lo Storage, si noti che può essere utilizzato gratuitamente sotto una certa soglia purché si inseriscano dati di pagamento e si elevi il progetto a livello Blaze ovvero quello fatturabile.
Se vuoi aggiornamenti su Firebase Studio: applicazioni web con database Firestore inserisci la tua email nel box qui sotto: