• Front-end es la parte del software que interactúa con él o los usuarios.
  • Back-end es la parte que procesa la entrada desde el Front-end.

La separación del sistema en Front-ends y Back-ends es un tipo de abstracción que ayuda a mantener las diferentes partes del sistema separadas.

La idea general es que el Front-end sea el responsable de recolectar los datos de entrada del usuario, que pueden ser de muchas y variadas formas, y los transforma ajustándolos a las especificaciones que demanda el Back-end para poder procesarlos, devolviendo generalmente una respuesta que el Front-end recibe y expone al usuario de una forma entendible para este. La conexión del Front-end y el Back-end es un tipo de interfaz.

En diseño web (o desarrollo web) hace referencia a la visualización del usuario navegante por un lado (Front-end), y del administrador del sitio con sus respectivos sistemas por el otro (Back-end).

Muchos métodos conocidos para interactuar con ordenadores pueden ser conceptualizados en términos de Front-end y Back-end. Por ejemplo, un administrador de archivos gráfico como Windows Explorer, Dolphin, Nautilus y Finder puede ser considerado como un Front-end para el sistema de archivos de la computadora. Otro ejemplo consiste en considerar al Shell como Front-end que sirve como interfaz para interactuar con el núcleo del sistema operativo que cumple el rol Back-end.

En un compilador el Front-end traslada el lenguaje del código fuente a una representación intermedia que a su vez funciona con el Back-end para producir en la salida el código.

En sintetizadores del habla, el Front-end se refiere a la parte del sistema que convierte la entrada del texto en una representación simbólico-fonética y el Back-end convierte la representación fonética y simbólica en el sonido.

Muchos programas tienen su concepto de diseño dividido en Front-ends y Back-ends, pero en la mayoría de los casos, el Back-end está oculto al usuario final, y solo pueden utilizarlo el cliente intermedio o el administrador que se encargará de gestionar el sistema de información. Sin embargo, muchos programas están escritos para servir de simple Front-end para otros que ya existen, como es el caso de las interfaces gráficas construidas sobre una interfaz de línea de órdenes. Este tipo de Front-end es común en entornos de escritorio Unix (como los GUI), donde los programas son desarrollados siguiendo la filosofía de diseño de muchos programas pequeños capaces de ejecutarse independientemente o combinados.