I frontend enterprise raramente sono semplici: dati densi, processi lunghi, molti ruoli e regole rigorose su chi può vedere e fare che cosa. Li sviluppiamo in React e TypeScript e, poiché realizziamo anche i servizi Spring che stanno dietro, progettiamo ogni funzionalità come un unico sistema.
Interfacce per processi complessi e dashboard
Applicazioni di back office, portali B2B, console operative e dashboard direzionali. Partiamo dal lavoro che le persone svolgono: quali decisioni prendono, quali dati servono in quel momento, quali errori costano cari. Poi progettiamo schermate, stati e validazioni attorno a questi compiti, comprese le parti meno vistose: tabelle di grandi dimensioni, azioni massive, bozze, ripristino dagli errori e viste di audit.
Un'unica architettura, dal frontend al backend
L'API è il contratto tra le due metà. La definiamo in modo esplicito con OpenAPI, generiamo client tipizzati perché una modifica nel backend blocchi la build invece della produzione, e concordiamo una volta per tutte la semantica degli errori, la paginazione e la validazione. L'autenticazione segue le pratiche attuali per le applicazioni nel browser: OpenID Connect con un backend-for-frontend dove opportuno, così i token non restano nella memoria del browser, e autorizzazione applicata sul server.
Architettura frontend
Confini chiari tra i moduli, stato del server gestito da una libreria dedicata invece che da cache scritte a mano, stato locale mantenuto locale e una struttura in cui più sviluppatori possono lavorare senza conflitti. Evitiamo la complessità di cui l'applicazione non ha bisogno, come i micro-frontend per un solo team.
Design system, accessibilità e performance
Realizziamo i design system come componenti riutilizzabili e documentati, con design token, così che le nuove schermate siano coerenti fin dall'inizio. L'accessibilità segue le WCAG: navigazione da tastiera, gestione del focus, contrasto e semantica per gli screen reader, aspetti importanti anche per la pubblica amministrazione e i settori regolamentati. Performance significa bundle leggeri, primo rendering rapido e interazione reattiva sull'hardware che i vostri utenti hanno davvero.
Test
Test unitari con Vitest per la logica, test dei componenti per il comportamento, test end-to-end con Playwright per i percorsi critici e controlli automatici di accessibilità nella pipeline. I test girano a ogni modifica, così il team può fare refactoring con fiducia.