La luna ha due facce, una – cantata dai Pink Floyd – non la vediamo mai, ma l’altra la conosciamo bene. Molto spesso anche il software ha due facce. Il backend è il suo dark side nascosto ed accessibile a pochi, mentre il frontend è la faccia con la quale ci confrontiamo ormai ogni giorno.
Ogni dispositivo provvisto di schermo solitamente ha un frontend, talvolta chiamato anche User Interface (UI), interfaccia utente. Questi due concetti sono molto simili e, nel linguaggio quotidiano, di fatto sono sinonimi. Solitamente frontend è un nome per addetti ai lavori. Per gli sviluppatori si tratta del codice che gestisce le funzionalità legate all’interfaccia e il suo aspetto, mentre per i designer è più genericamente ciò che l’utente vede sullo schermo.
Il frontend viene progettato per adattarsi al dispositivo che deve mostrarlo e ciò implica che ogni dispositivo fornisca un’interfaccia dedicata o che questa si adatti in modo dinamico in base alla dimensione dello schermo. Il frontend ha un grosso impatto sulla User Experience, pertanto deve essere progettato con attenzione, tenendo in considerazione le necessità e le capacità di chi usa il software.