Ich denke, Ihre Frage ist möglicherweise sehr spezifisch für PHP, da ich keine der anderen von Ihnen erwähnten Back-End-Technologien sehen kann, die so verwendet werden.
PHP ist ein lustiges Beispiel, da es (auf eine ziemlich hässliche Art und Weise, die ich hinzufügen darf) in Bezug auf viele Webprojekte als All-in-One-Sprache angesehen werden kann. Sie können Ihre traditionellen " Back-End " -Aufgaben ausführen, z. B. Datei- und Datenbankoperationen, und gleichzeitig ein " Front-End " -Markup erstellen .
Dies kann eindeutig zu einem Spaghetti-Durcheinander führen, bei dem es keine wirkliche Trennung der Bedenken gibt, daher sollte es in meinem Kopf wirklich verpönt sein. Wenn Sie beispielsweise in der WordPress-Quelle stöbern, können Sie sich oft verlaufen - und das ist ein Projekt, bei dem ich die Sprache beschuldige. Die Organisation der Codebasis ist tatsächlich sehr gut.
Dies kann etwas durch die Verwendung einer " Templating Engine " (wie Smarty ) behoben werden - aber es ist immer noch PHP, das das "Front-End" erstellt und gleichzeitig die "Back-End" -Funktionalität bereitstellt. Dies war eine absichtliche Entscheidung hinter dem Design von PHP, aber es ist immerhin ein " Hypertext-Prozessor "!
So kann PHP problemlos sowohl in " Front-End " - als auch in " Back-End " -Verwendungen eingesetzt werden, was Ihr Beispiel verdeutlichen sollte. Daher haben Sie höchstwahrscheinlich Recht, dass PHP das gesamte Markup für ein Front-End verarbeitet und erstellt, aber irgendwo anders Anfragen stellt, um die erforderlichen Daten zu sammeln - höchstwahrscheinlich ein Dienst, der in einer der oben genannten Sprachen geschrieben wurde .
Persönlich finde ich, dass die gesamte Terminologie "Back-End" und "Front-End" etwas veraltet ist. Ich möchte lieber, dass die Dinge nur auf Client- und Serverseite bezogen werden. dann gibt es keine wirkliche Mehrdeutigkeit. *
Vor kurzem habe ich eine Client-Spezifikation gesehen, für die ein Back-End-System erforderlich war, das in node.js und den zugehörigen Tools geschrieben wurde, das Front-End-Build jedoch mit einem PHP-Framework (Laravel) erstellt werden sollte. Dies ist mit vielen damit verbundenen Kosten verbunden und meiner Meinung nach keine elegante Lösung und kann auf der ganzen Linie einige Probleme verursachen.
Persönlich scheinen diese Konfigurationen so zu sein, als hätte jemand PHP unnötig in einen anderen Stack integriert - was bedeutet, dass mehr Ressourcen erforderlich sind als tatsächlich erforderlich, das Wartungspersonal einer breiteren Palette von Technologien ausgesetzt sein muss und es mehr Fehlerquellen gibt.
Darüber hinaus denke ich, dass es nur sehr wenige Szenarien gibt, die diese Art von Zwischenstapel rechtfertigen. Die meisten Back-End-Sprachen / Frameworks sind perfekt in der Lage, den für das Front-End erforderlichen Aufschlag zu generieren. Obwohl ich dort korrigiert werden muss.
* Obwohl, um Ihre Frage auf den Kopf zu stellen. Was ist mit Back-End-Systemen, die mit Javascript erstellt wurden? (node.js;))
Bearbeiten:
Nachdem ich einen Kommentar von @itsbruce gelesen habe, habe ich mich entschlossen zu klären, was ich unter der Mehrdeutigkeit meiner Terminologie "Front-End" / "Back-End" verstehe.
Traditionell wäre diese Terminologie in Ordnung gewesen, architektonisch waren Webanwendungen viel einfacher - und ich wage es zu sagen, viel dümmer. In meinen Augen ist es viel sauberer, "Server Side" und "Client Side" zu sagen, und dies wird immer deutlicher, da der aktuelle Trend, mehr Verarbeitung und Logik auf den Client zu übertragen, immer häufiger wird.
Es wird akzeptabel, eine ganze Menge Daten auf Client-Seite zu verarbeiten (sehen Sie sich nur einige der derzeit im Trend befindlichen Javascript-Frameworks an), aber ist das wirklich Front-End? Der Benutzer sieht es nicht, er sieht die Ergebnisse - und nach traditionellen Kriterien, die im Allgemeinen als "Back-End" angesehen werden. Dies geschieht aber jetzt im Browser.
In ähnlicher Weise und unglaublich relevant für diese Frage, ist das Erstellen des Markups in PHP wirklich eine Front-End-Aufgabe? Ich bezweifle, dass ein kurzes Durchsuchen der Jobbörsen zeigt, dass nur wenige Front-End-Entwicklerpositionen PHP-Erfahrung oder -Wissen erwarten. Die Intuition würde jedoch darauf hinweisen, dass das Markup für die Schnittstelle von Natur aus Front-End ist.
Die Tatsache, dass diese Frage existiert, ist ein Beispiel dafür, wie " Front-End " und " Back-End " von Natur aus mehrdeutig sind und dies auch weiterhin sein werden.
Wenn Sie Aufgaben als "serverseitig" oder "clientseitig" bezeichnen, bei denen die Mehrdeutigkeit verloren geht, wissen Sie, wo der Code ausgeführt wird und welche Sprachen verwendet werden. Wenn Sie in dem vom OP bereitgestellten Beispiel " Front-End " sagten , bezweifle ich, dass viele Leute sagen würden: " Oh, also PHP auf dem Server, oder? ".