¿Cómo vinculan los desarrolladores back-end su trabajo con los desarrolladores front-end?

Hay muchas maneras de hacer esto. Primero, ¡es absolutamente crítico hacer lo que dice Alex Deva y HABLAR CON ELLOS! Sin esto, no puede llegar a un acuerdo sobre cómo debería funcionar el aspecto técnico. Una vez hecho esto, algunos enfoques comunes para acordar (eso es lo que creo que probablemente buscas) son:

  • El front-end está utilizando un marco de aplicación (como Angular, Backbone, etc.), y todo lo que el back-end necesita para proporcionarlos es una API razonablemente buena, generalmente una que se ajuste a los conceptos REST. Tal vez necesiten algunos puntos finales personalizados adicionales, o para que algo funcione un poco diferente de lo habitual; simplemente HABLAR CON ELLOS nuevamente y ver qué necesitan, si están contentos con lo que usted les ha proporcionado, si podrían beneficiarse de algo más que usted haya tenido una idea para proporcionarles, etc.
  • El front-end solo proporciona efectos visuales sofisticados, como formateo y transiciones. Asegúrese de que el HTML que genera tenga clases con nombres apropiados en casi todos los fragmentos principales, de modo que los desarrolladores de front-end (o, para el caso, los diseñadores) puedan aprovecharlo para hacer su magia. Esto se puede hacer con menos comunicación, pero aun así, pregúnteles si hay algo en particular para lo que realmente necesitan tener un nombre de clase separado, y asegúrese de que ambos “extremos” estén en la misma página (sin juego de palabras). lo que significa cada nombre de clase. Incluso podrían decirte que no te molestes en abofetear nombres de clase en un grupo particular de cosas, ahorrándote algo de tedio.
  • El front-end HTML es generado por un front-ender en primer lugar. (Estoy más acostumbrado a hacer back-end como yo generando las vistas básicas, y un diseñador o front-end los imagina). Nuevamente, HABLAR CON ELLOS y descubrir qué funcionalidad necesitan que brinden allí (tal vez algunos presentadores sería útil), o qué datos necesitan que ponga a disposición del controlador en la plantilla / vista / lo que sea.

Hay dos enfoques comunes.

Las páginas dinámicas, es decir, HTML procesado por el servidor, eran una opción popular hasta que el mundo web reconoció el valor de AJAX. Esto todavía está en uso, aunque pierde el favor. El enfoque más moderno es unir frontend y backend a través de una API (interfaz de programación de aplicaciones).

Los desarrolladores de backend suelen ser responsables de la creación y el mantenimiento de la API. Son considerados los “productores”. Los desarrolladores frontend utilizan la API y, por lo tanto, se consideran “consumidores”.

Las API proporcionan una separación de preocupaciones. Los desarrolladores frontend se centran en las interacciones de la interfaz de usuario, esencialmente configurando cómo deben verse los datos desde la perspectiva del usuario. Esto se envía a la API mediante solicitudes HTTP. Los desarrolladores de back-end incorporan reglas / lógica en la API para admitir la integridad de los datos, administrar la lógica de la aplicación e integrarse con otros aspectos de la infraestructura según sea necesario.

Por ejemplo, una aplicación de reunión puede tener una API. El desarrollador frontend crea una interfaz de usuario que permite al usuario ingresar direcciones de correo electrónico. Esta lista se envía a la API. La API puede exigir integridad, como asegurarse de que las direcciones de correo electrónico estén formateadas correctamente. También puede enviar una invitación por correo electrónico a cada persona antes de responder a la solicitud de la interfaz. Una vez que la interfaz recibe una respuesta, corresponde a la interfaz determinar cómo comunicar la información que recibió (como un mensaje de éxito o error).

Hablamos. Estamos de acuerdo en lo que vamos a hacer, y cómo va a encajar todo, y luego nos atenemos al plan lo más cerca posible.

¿Estás preguntando por el lado técnico? Bueno, el lado frontal se comunica con el lado posterior mediante varios protocolos, más comúnmente HTTP. WebSockets también es popular, o podría haber escenarios un poco más complejos en los que el front-end habla con más back-end al mismo tiempo, que se comunican entre sí mediante varios protocolos convenientes. El mejor ejemplo para esto es un sistema push como Firebase.