"Mi serve un sito" copre tre progetti che, dal punto di vista tecnico, hanno poco in comune. La differenza non è la dimensione né il numero di pagine: è dove vive lo stato e quanto costa mantenerlo coerente.
Vetrina: contenuto, quasi nessuno stato
Le pagine sono generate dal server o pre-generate e servite così come sono. L'unico stato è il modulo di contatto. Di conseguenza il lavoro si concentra su struttura dei contenuti, prestazioni, SEO tecnica e accessibilità, e la scalabilità è quasi gratuita: una pagina identica per tutti può essere messa in cache senza complicazioni.
È la scelta giusta quando i dati li produci tu e cambiano di rado, e l'obiettivo è essere trovato e contattato.
E-commerce: transazioni che devono restare coerenti
Qui compare il problema che definisce la categoria: denaro e disponibilità devono restare allineati anche quando qualcosa si interrompe. Il browser che si chiude durante il pagamento, il gateway che conferma con un webhook in ritardo, due clic sul pulsante di acquisto, l'ultimo pezzo in magazzino conteso da due carrelli. Le soluzioni sono note - operazioni idempotenti, stato dell'ordine gestito dai webhook e non dal ritorno del browser, riconciliazione periodica - ma vanno previste.
A questo si aggiungono le regole non tecniche che diventano codice: IVA, spedizioni, resi, fatturazione, stati dell'ordine. La maggior parte del lavoro di un e-commerce sta nei percorsi che non vanno a buon fine.
Web app: stato di dominio e permessi
Una web app non racconta un'attività, la fa funzionare: prenotazioni, area riservata, gestionale, dashboard. Compaiono utenti con ruoli diversi, dati che cambiano di continuo, storicizzazione. Il costo si sposta su tre punti: modello dati (entità e relazioni), autorizzazione (ogni endpoint verifica i permessi, a ogni richiesta) e migrazioni, perché lo schema cambierà mentre il sistema è già in uso e i dati esistenti vanno portati avanti senza perdite.
Come si riconosce quale serve
- Chi produce i dati? Li produci tu → vetrina. Li producono i clienti che comprano → e-commerce. Li producono utenti che lavorano nel sistema → web app.
- Quante entità ci sono e come sono legate? Una manciata di pagine indipendenti è contenuto; entità collegate tra loro (utente, ordine, prodotto, movimento) sono un modello dati.
- Ci sono stati che devono restare coerenti tra loro? Se la risposta è sì, servono transazioni, e il progetto è nella fascia e-commerce o web app a prescindere da quanto appare semplice l'interfaccia.
Il caso ibrido, e perché va deciso prima
La combinazione più frequente è vetrina più area riservata. È perfettamente fattibile, ma va messa in conto all'inizio: aggiungere autenticazione, dati persistenti e permessi a un sito nato per essere statico non significa aggiungere una pagina, significa introdurre un backend, una sessione e un modello dati dove prima non c'erano. È una delle poche decisioni che è davvero costoso rimandare.
Approfondisci: su misura o no-code.