Front-end e back-end

Da Wikipedia, l'enciclopedia libera.

I termini front end e back end (anche scritti, con grafia meno corretta ma più comune, frontend o front-end e backend o back-end) denotano, rispettivamente, lo stadio iniziale e lo stadio finale di un processo.

Il front end, nella sua accezione più generale, è responsabile dell'acquisizione dei dati di ingresso e della loro elaborazione con modalità conformi a specifiche predefinite e invarianti, tali da renderli utilizzabili dal back end. Il collegamento del front end al back end è un caso particolare di interfaccia.

Uso[modifica | modifica wikitesto]

I termini acquistano diversi e precisi significati se applicati ad ambiti più specifici.

  • Nel campo della progettazione software il front end è la parte di un sistema software che gestisce l'interazione con l'utente o con sistemi esterni che producono dati di ingresso (es. interfaccia utente con un form), il back end è invece la parte che elabora i dati generati dal front end. Nei sistemi più complessi non è raro che i dati subiscano elaborazioni intermedie prima di passare al back end (ad es. su un middleware come un application server in una tipica architettura three-tier). La distinzione di una parte di ingresso e di una parte terminale nei sistemi software è un genere di astrazione che aiuta a mantenere le diverse parti di un sistema complesso logicamente separate e quindi più semplici.
  • Alcuni modi di organizzare l'interazione uomo–calcolatore possono essere concettualmente schematizzati in termini di front end e back end. Per esempio, un file manager (programma per la gestione di file) grafico, tipo Windows Explorer o Nautilus possono essere considerati front end al file system del computer.
  • In ambito networking, sono considerate di front end le interfacce di rete sulle quali viene erogato un servizio e sulle quali si attestano gli accessi degli utenti, mentre per back end si intendono le interfacce utilizzate per l'amministrazione o manutenzione dell'apparato che lo eroga.
  • Nei compilatori, il front end traduce il codice sorgente, di solito espresso in un linguaggio di programmazione ad alto livello, in una rappresentazione intermedia, mentre il back end trasforma la rappresentazione intermedia del programma in codice del linguaggio di output (spesso, un linguaggio assemblatore).
  • Nel campo della sintesi vocale, il front end denota la parte del sistema di sintesi che converte il testo in ingresso in una rappresentazione fonetica simbolica, mentre il back end converte la rappresentazione simbolica ottenuta in suoni.
  • Molti programmi per calcolatore sono concettualmente suddivisi in front end e back end. Generalmente nascosto all'utente, il back end è talvolta un programma completo e indipendente che può essere controllato attraverso un altro programma, detto front end. Spesso il front end è un'interfaccia grafica (GUI) che genera comandi per una più semplice interfaccia a riga di comando. Tutte le attività richieste attraverso l'interazione con gli elementi dell'interfaccia grafica vengono tradotte in linee di comando e indirizzate al sottostante programma di back end. Questo tipo di programmi front end è comune in ambiente Unix, dove spesso gli applicativi sono sviluppati sulla base di molti programmi piccoli, ben collaudati e potenti, ma al tempo stesso dotati di funzionalità limitate a un preciso e unico scopo. Il desktop environment è l'esempio più generale di front end grafico, mentre Ncurses offre un esempio di front end semi-grafico generico.
  • In radioastronomia il front end di un radiotelescopio consiste in un modulo contenente l'antenna a tromba corrugata (o feed horn), la guida d'onda e le antenne necessarie a ricevere il segnale. Il termine back end è usato per riferirsi ai sistemi di amplificazione e filtraggio del segnale che ripuliscono e modificano il segnale prima di presentarlo all'utilizzatore.
  • Nel campo dell'Electronic Design Automation (EDA) e in generale nell'industria dei semiconduttori si intende con front end la fase di progettazione relativa alla costruzione fisica dei wafer di silicio. Si intende invece per back end la fase di assemblaggio e packaging dei wafer stessi.
  • Nel campo dell'outsourcing si trovano sullo stesso livello nonostante abbiano obiettivi di integrazione differenti. Ne sono un esempio le applicazioni web-based.
  • Nella programmazione e sviluppo dei siti web viene definito front end la parte visibile da chiunque e raggiungibile all'indirizzo web del sito e viene definita back end la parte di amministrazione di un sito (modifica contenuti, creazione pagine) accessibile solo da amministratori del sito web. Front end e back end si utilizzano solamente quando il sito web è dinamico.

Voci correlate[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica