La differenza tra un sito e una web app
SITO
Un sito presenta l'azienda, i suoi contenuti e le offerte.
WEB APP
Una web app permette di compiere operazioni e conserva uno stato personale. L'utente può accedere al proprio profilo, creare una richiesta, modificare dati, ricevere un esito e tornare in seguito per proseguire.
Le due esperienze possono convivere. Il sito genera fiducia e contatti; l'applicazione eroga il servizio. Grafica e linguaggio devono essere coerenti, ma funzioni e priorità sono differenti.
Una web app può essere la scelta corretta quando occorre:
La fase di studio e prototipazione
Analisi e
progettazione
prima funzione: chi userà l'applicazione?
Uno stesso processo appare diverso a seconda del ruolo di chi lo usa.
Il cliente vuole sapere che cosa deve fare e quando riceverà una risposta. L'operatore deve gestire una coda di richieste. Il responsabile cerca eccezioni e carichi di lavoro da tenere sotto controllo. L'amministratore configura utenti e regole del sistema.
Durante l'analisi descriviamo questi utenti e i loro casi d'uso concreti. Per ogni percorso definiamo inizio, informazioni necessarie, decisioni da prendere, stato finale ed eccezioni. Utilizziamo esempi reali per evitare schermate costruite su procedure che non rappresentano davvero il lavoro quotidiano.
Il primo perimetro deve includere un percorso completo, anche se limitato. Una raccolta di pagine scollegate non permette di verificare il valore reale del servizio.
Disegnare il flusso prima di sviluppare
Trasformiamo i casi d'uso in mappe e prototipi. In questo modo l'utente vede quali passaggi dovrà compiere, che cosa viene salvato e come riceve conferma delle sue azioni. Le persone interne, allo stesso tempo, verificano assegnazioni, approvazioni e notifiche.
Un prototipo consente di correggere navigazione e linguaggio prima che il comportamento venga implementato. Non è soltanto un'anteprima grafica: rappresenta anche stati vuoti, errori, attese e permessi.
Le schermate danno priorità all'attività principale che l'utente deve svolgere. I campi già noti vengono precompilati, i moduli lunghi sono suddivisi in passaggi e gli errori spiegano come proseguire. Da mobile, comandi e contenuti vengono riorganizzati in base al contesto d'uso.
Costruzione e
Integrazione
Interfaccia, regole e dati lavorano insieme
La parte visibile, detta frontend, presenta pagine e interazioni.
La parte applicativa, o backend, verifica accessi, applica regole, salva dati e collega servizi esterni.
Il database conserva informazioni e relazioni.
Separare correttamente frontend, backend e gestione dei dati consente di controllare meglio regole e accessi. Il browser può aiutare l'utente nella compilazione, mentre il backend verifica dati e autorizzazioni prima di eseguire le operazioni.
Tecnologie come Laravel e React possono essere utilizzate quando rispondono alle esigenze del progetto e alla manutenzione prevista. Per il cliente, la scelta deve tradursi in una soluzione che può evolvere, non in un elenco di sigle.
Accessi e sicurezza proporzionati al servizio
Definiamo come gli utenti vengono invitati, identificati e disattivati. Ruoli e permessi stabiliscono quali dati possono consultare e quali azioni compiere. In un'area per più aziende, ogni organizzazione vede soltanto il proprio spazio, senza accesso ai dati altrui.
Per le funzioni più sensibili possiamo prevedere ulteriori verifiche di accesso. La gestione di credenziali, registrazione delle operazioni e dati conservati viene definita in base ai requisiti e al livello di sicurezza richiesto dal progetto.
La sicurezza riguarda anche la gestione degli errori e delle informazioni mostrate agli utenti. Backup, aggiornamenti e procedure di ripristino vengono definiti insieme alle modalità di gestione e manutenzione dell'applicazione.
Collegare la web app senza duplicare il lavoro
Una nuova applicazione deve inserirsi nell'organizzazione. Può recuperare clienti dal gestionale, creare opportunità nel CRM, archiviare documenti o inviare dati a un servizio esterno. Utilizziamo le modalità di collegamento già disponibili per evitare ricopiature.
Per ogni informazione definiamo quale sistema resta il riferimento. Se non è disponibile un collegamento diretto, possiamo prevedere importazioni o procedure controllate e gestire gli errori di sincronizzazione riducendo il rischio di dati duplicati.
L'integrazione può essere introdotta in una fase successiva, ma conviene considerarla fin dall'inizio perché influenza codici, stati e responsabilità in modo trasversale.
Le fasi di sviluppo
Come prende forma il progetto
FASE 1
Obiettivo
Definiamo il servizio o processo da digitalizzare
FASE 2
Utenti
Ricostruiamo ruoli, attività e casi eccezionali
FASE 3
Prototipo
Verifichiamo flussi e schermate prima dello sviluppo completo
FASE 4
Sviluppo
Realizziamo un percorso utilizzabile con accessi e dati
FASE 5
Integrazione
Colleghiamo gli strumenti che evitano doppio lavoro
FASE 6
avvio
Test, preparazione al rilascio e avvio dell'applicazione
FASE 7
Evoluzione
Valutiamo evoluzioni sulla base dell'utilizzo e delle nuove esigenze