Qual è la differenza tra "front-end" e "back-end"?

La parte dell'applicazione con cui l'utente interagisce è conosciuta come

Componenti dell'applicazione

Gli sviluppi Web hanno generalmente componenti "front-end" e "back-end". In un sito basato sui dati, i componenti "back-end" includono il database o altri mezzi di archiviazione delle informazioni, come i file XML. Il "back-end" può anche includere codice eseguibile sul lato server, utilizzando linguaggi di programmazione come PHP o ASP. Il "front-end" di un'applicazione web, con cui l'utente interagisce, viene normalmente distribuito in HTML, fogli di stile (CSS per il suo acronimo in inglese "Cascading Style Sheet") e JavaScript. A volte i programmatori sono specializzati in tecnologie "front-end" o "back-end", ma per i siti di piccole dimensioni, entrambi i lati dell'applicazione possono funzionare.

dati

I dati di un'applicazione sono normalmente considerati parte del "back-end". Costruire un database per un sito o un programma è comunemente il primo passo nel processo di sviluppo. Ad esempio, un progetto che include un sito Web per un'azienda di vendita al dettaglio può iniziare creando un database del prodotto utilizzando file SQL o XML. I dati, quindi, sono a volte considerati i fondamenti di un sito o di un'applicazione, con tutto il resto costruito su di essi. Il codice lato server può occuparsi della comunicazione tra il database e le tecnologie "front-end" dell'applicazione, effettuando query sui dati e inviando i risultati al browser o all'interfaccia dell'utente.

logica

La logica dell'applicazione è generalmente considerata parte del "back-end", sebbene alcuni aspetti di esso possano essere implementati come parte del "front-end". Ad esempio, su un sito Web di vendita al dettaglio, il codice lato server può implementare ciò che dovrebbe accadere quando un cliente effettua un acquisto, in termini di elaborazione dati e pagamento. Tuttavia, l'interfaccia utente per il sito Web potrebbe includere anche funzioni lato client in JavaScript, per convalidare alcuni dettagli dei dati immessi dal client, prima di inviarli al server. Il browser Internet dell'utente è il client, in modo che il codice eseguito sul lato client venga eseguito all'interno di quel browser sul computer dell'utente, mentre i programmi "back-end" vengono eseguiti sul server web.

Interazione con l'utente

L'interazione con l'utente è l'attività principale del "front-end" in qualsiasi applicazione. HTML, CSS e codice JavaScript implementano questa interazione per i siti Web, mostrando una rappresentazione visiva della funzionalità dell'applicazione. I controlli utente consentono all'utente di eseguire attività nell'applicazione, in genere utilizzando pulsanti, elenchi a discesa, campi di testo, caselle di selezione e molti altri componenti. Per alcune applicazioni, la stessa tecnologia può essere utilizzata sia nel "front-end" che nel "back-end". Ad esempio, nel linguaggio di programmazione Java è possibile implementare sia il design dell'interfaccia con l'utente, sia la connettività con i dati.