Creo que su pregunta puede ser bastante específica para PHP realmente, ya que no puedo ver ninguna de las otras tecnologías de back-end que menciona que se usan de esta manera.
PHP es un ejemplo divertido, ya que puede verse (de una manera bastante fea) visto como un lenguaje todo en uno con respecto a muchos proyectos web. Puede realizar sus tareas tradicionales de " back-end ", como operaciones de archivos y bases de datos, al tiempo que crea marcas de " front-end ".
Esto claramente puede conducir a un desastre de espagueti donde no hay una separación real de preocupación, por lo que realmente debería estar mal visto en mi mente. Para un gran ejemplo, si navega por la fuente de WordPress a menudo puede perderse, y ese es un proyecto donde culpo al lenguaje, la organización de la base de código es realmente muy buena.
Esto puede remediarse, de alguna manera, mediante el uso de un " motor de plantillas " (como Smarty )), pero sigue siendo PHP el que está construyendo el "front-end" al tiempo que proporciona la funcionalidad "back-end". Esta fue una decisión intencional detrás del diseño de PHP, sin embargo, después de todo, ¡es un " procesador de hipertexto "!
Por lo tanto, PHP puede adaptarse fácilmente a los usos " front-end " y " back-end ", lo que debería aclarar su ejemplo. Por lo tanto, es muy probable que tenga razón en que PHP procesará y creará todas las marcas para un front-end, pero hará solicitudes en otro lugar para recopilar los datos requeridos, lo más probable es que un servicio haya sido escrito en uno de los idiomas mencionados anteriormente. .
Personalmente, creo que toda la terminología "back-end" y "front-end" está un poco ... tal vez desactualizada. Prefiero que las cosas solo se refieran al lado del cliente y del servidor; entonces no hay ambigüedad real. *
Hace poco vi una especificación de cliente que requería un sistema de fondo escrito en node.js y herramientas asociadas, pero quería la compilación de front-end usando un marco PHP (Laravel). Esto viene con muchos costos asociados y, en mi opinión, no es una solución elegante y puede causar algunos problemas en el futuro.
Hablando personalmente, este tipo de configuraciones parece que alguien innecesariamente calzó PHP en otra pila, lo que significa que se requieren más recursos de los que realmente se necesitan, el personal de mantenimiento necesita exposición a una gama más amplia de tecnologías y hay más puntos de falla.
Además, también creo que hay muy pocos escenarios que justifiquen este tipo de pila intermedia; La mayoría de los lenguajes / frameworks de back-end son perfectamente capaces de generar el marcado requerido para el front-end. Aunque estoy para ser corregido allí.
* Sin embargo, para darle vuelta a su pregunta, ¿qué pasa con los sistemas de back-end creados con Javascript? (node.js;))
Editar:
Después de leer un comentario de @itsbruce, he decidido aclarar lo que quiero decir con la ambigüedad de mi terminología "front-end" / "back-end".
Tradicionalmente, esta terminología habría estado bien, arquitectónicamente las aplicaciones web eran mucho más simples, y me atrevo a decirlo, mucho más tonto. Es mucho más claro en mi mente decir "Lado del servidor" y "Lado del cliente", y esto se está volviendo más claro a medida que la tendencia actual de llevar más procesamiento y lógica al cliente se está volviendo común.
Se está volviendo aceptable hacer una buena cantidad de procesamiento de datos del lado del cliente (solo mire algunos de los marcos de javascript actualmente en tendencia), pero ¿es eso realmente front-end? El usuario no lo ve, ve los resultados, y según los criterios tradicionales que generalmente se considerarían "back-end"; pero esto está ocurriendo en el navegador ahora ...
Del mismo modo, y es increíblemente relevante para esta pregunta, ¿la construcción del marcado en PHP es realmente una tarea front-end? Lo dudo, una exploración rápida de las bolsas de trabajo muestra que pocos puestos de desarrollador front-end esperan experiencia o conocimiento de PHP; Sin embargo, la intuición sugeriría que el marcado de la interfaz es inherentemente front-end.
El hecho mismo de que esta pregunta exista actúa como un ejemplo de cómo " front-end " y " back-end " son intrínsecamente ambiguos y continuarán siéndolo.
Al referirse a tareas como "del lado del servidor" o "del lado del cliente", se pierde esa ambigüedad, usted sabe dónde se está ejecutando el código y qué idiomas se utilizarán. Si dijiste " front-end " en el ejemplo que ha proporcionado el OP, dudo que mucha gente diga " Oh, entonces PHP en el servidor ¿verdad? ".