stringtranslate.com

Frontend y backend

En ingeniería de software , los términos frontend y backend (a veces escritos como back-end o back-end ) se refieren a la separación de preocupaciones entre la capa de presentación ( frontend ) y la capa de acceso a datos ( backend ) de una pieza de software , o el infraestructura física o hardware . En el modelo cliente-servidor , el cliente suele considerarse el frontend y el servidor el backend, incluso cuando parte del trabajo de presentación se realiza en el propio servidor.

Introducción

En la arquitectura de software , puede haber muchas capas entre el hardware y el usuario final . El frente es una abstracción, que simplifica el componente subyacente al proporcionar una interfaz fácil de usar , mientras que la parte posterior generalmente maneja el almacenamiento de datos y la lógica empresarial .

En telecomunicaciones , el frente puede considerarse un dispositivo o servicio, mientras que la parte trasera es la infraestructura que soporta la prestación del servicio.

Una regla general es que el lado del cliente (o "frontend") es cualquier componente manipulado por el usuario. El código del lado del servidor (o "backend") generalmente reside en el servidor , a menudo muy alejado físicamente del usuario.

Definiciones de software

En los sistemas de gestión de contenidos , los términos frontend y backend pueden referirse a las vistas del CMS orientadas al usuario final y a las vistas administrativas, respectivamente. [1] [2]

En síntesis de voz , el frontend se refiere a la parte del sistema de síntesis que convierte el texto de entrada en una representación fonética simbólica , y el backend convierte la representación fonética simbólica en sonidos reales. [3]

En los compiladores , el frontend traduce un código fuente de programación de computadora a una representación intermedia , y el backend trabaja con la representación intermedia para producir código en un lenguaje de salida de computadora. El backend generalmente se optimiza para producir código que se ejecute más rápido. La distinción frontend/backend puede separar la sección del analizador que se ocupa del código fuente y el backend que genera código y lo optimiza . Algunos diseños, como GCC , ofrecen opciones entre múltiples interfaces (que analizan diferentes lenguajes fuente ) o backends (generan código para diferentes procesadores de destino ). [4]

Algunas aplicaciones de interfaz gráfica de usuario (GUI) que se ejecutan en un entorno de escritorio se implementan como una interfaz delgada para los programas de interfaz de línea de comandos (CLI) subyacentes, para evitar que el usuario aprenda la terminología especial y memorice los comandos .

Desarrollo web como ejemplo

Otra forma de entender la diferencia entre los dos es comprender el conocimiento requerido de un desarrollador de software frontend versus uno backend . La siguiente lista se centra en el desarrollo web como ejemplo.

Ambos

Centrado en la interfaz

Centrado en el backend

Tenga en cuenta que ambos puestos, a pesar de trabajar posiblemente en un producto, tienen un conjunto de habilidades muy distinto.

API

El frontend se comunica con el backend a través de una API . En el caso de interfaces web y móviles, la API suele basarse en una solicitud/respuesta HTTP . A veces, la API se diseña utilizando el patrón "Backend for Frontend" (BFF), que proporciona respuestas para facilitar el procesamiento en el lado del frontend. [5]

Definiciones de hardware

En informática de red , frontend puede referirse a cualquier hardware que optimice o proteja el tráfico de la red . [6] Se denomina hardware de interfaz de usuario porque se coloca en la interfaz o límite exterior de la red . El tráfico de la red pasa a través del hardware de front-end antes de ingresar a la red.

En el diseño de procesadores , el diseño frontend sería la descripción inicial del comportamiento de un circuito en un lenguaje de descripción de hardware como Verilog , mientras que el diseño backend sería el proceso de mapear ese comportamiento a transistores físicos en una matriz. [7]

Ver también

Referencias

  1. ^ "Front End versus Back End de su sitio web: todo lo que necesita saber". DOJO Creativo . 7 de febrero de 2020 . Consultado el 31 de agosto de 2022 .
  2. ^ Thapliyal, Vimal. "Diferencia entre Frontend y Backend MVC - Joomlatuts". joomlatuts.net . Archivado desde el original el 30 de diciembre de 2016 . Consultado el 30 de diciembre de 2016 .
  3. ^ Gutiérrez--Osuna, Ricardo. "L18: Síntesis de voz (backend)" (PDF) . tamu.edu . Universidad Texas A & M . Consultado el 29 de diciembre de 2016 .
  4. ^ Bin Muhammad, Rashid. "Notas sobre los sistemas operativos". www.personal.kent.edu . Universidad Estatal de Kent . Consultado el 30 de diciembre de 2016 .
  5. ^ Wickramarachchi, Viduni (24 de febrero de 2021). "El patrón BFF (Backend para Frontend): una introducción". Trozos y piezas . Consultado el 13 de noviembre de 2021 .
  6. ^ O'Dell, Mike. "Procesadores front-end de red, una vez más | Junio ​​de 2009 | Comunicaciones del ACM". cacm.acm.org . Consultado el 30 de diciembre de 2016 .
  7. ^ "Diseño de interfaz de usuario | Documentación en línea para productos Altium". techdocs.altium.com . Consultado el 30 de diciembre de 2016 .