Capire la differenza tra Server-Side e Client-Side e come funziona la nostra "App Locale".
Possiamo usare un disco esterno (o una chiavetta) per rendere tutto trasportabile. A differenza di un server vero (che "pensa"), il disco è un semplice magazzino ("stupido").
http:// parli con un Server Web.file:// parli col tuo disco fisso.Se scriviamo un nome nella tabella e premiamo F5 (aggiorna), normalmente sparisce tutto (memoria volatile). Come risolviamo?
Usiamo il LocalStorage: è come un post-it incollato dentro il vetro del monitor. Anche se spegni il PC, il post-it resta lì.
Poiché il LocalStorage accetta solo testo, ma la nostra tabella è un oggetto complesso, dobbiamo trasformarla.
Usiamo JSON.stringify per trasformare l'oggetto in testo ("liofilizzazione").
function saveData() {
// Trasforma la tabella complessa in una lunga stringa di testo
// Es: "[{'nome':'Mario'....}]"
localStorage.setItem('adminData', JSON.stringify(tableData));
}
Quando riapriamo la pagina, usiamo JSON.parse per ricreare l'oggetto ("reidratazione").
// Leggiamo la stringa dal magazzino
let saved = localStorage.getItem('adminData');
if (saved) {
// JSON.parse fa il contrario: prende il testo e ricrea gli oggetti vivi
tableData = JSON.parse(saved);
}