Verwirrende Semantik
Es ist eine semantische Frage. Wenn jemand von einem .NET-Front-End- oder Java-Front-End-Entwickler spricht, spricht er normalerweise von der Person, die viel über die Vorlagensprachen und möglicherweise Frameworks weiß, die niemals wieder verwendet werden sollten, wie Webformulare, mit denen versucht wurde, die zu verbergen Dinge von App-Entwicklern über eine http-Pinnwand (dh "Web-Entwicklung") zu werfen, von denen angenommen wurde, dass sie nichts über diesen ganzen Mist erfahren wollten oder wollten. Im Fall von .NET und Java bin ich mir nicht sicher, aber ich konnte nur vermuten, dass im MVC-Sinne Java für alle Geschäftsmodelle zuständig ist und .NET alles andere erledigt, was besser beschrieben werden könnte als "Middle-Tier", aber es ist immer noch alles Server-seitig.
Die eigentliche Trennung besteht darin, was auf dem Server und was auf dem Client oder Browser geschieht. Sie können das Erstellen des HTML-Codes, der an das Front-End gesendet werden soll, oder das Darstellen des Front-End-Codes mit "Front-End-Entwicklung" kombinieren. Daher bevorzuge ich die Verwendung der Begriffe "Client" und "Server" anstelle von "Front-End" und "Back-End". (normalerweise clientseitige Arbeit).
Clientseitige Sprachen
Der Grund, warum wir den gleichen Satz von Sprachen im Browser verwenden, ist, dass der Browser auf der empfangenden Seite ist und zum größten Teil (es gab jetzt größtenteils toten Widerstand von Microsoft und Adobe), dass niemand drei verschicken muss Verschiedene Versionen derselben Client-Seite, um jeden potenziellen Kunden zufriedenzustellen, oder es muss ein proprietäres Plug-In installiert sein, damit das Web funktioniert. Außerdem kapseln die drei Sprachen die clientseitigen Belange recht gut, sodass wir Web-App-Frontends schnell erstellen und ändern können, indem wir die lose Kopplung zwischen der Dokumentstruktur, dem Aussehen und dem Verhalten aller Elemente beibehalten. Sie können eines ganz einfach ändern, ohne die beiden anderen zu ändern.
Serverseitige Sprachen
Der Grund, warum Sie Unmengen von Optionen im serverseitigen Web haben, ist natürlich, dass Sie dies können. Es ist dein Server. Alles, was es tun muss, ist über http / ssl zu kommunizieren und der Rest liegt bei Ihnen. Übrigens ist JavaScript jetzt eine Option, aber das wirft eine interessante Frage auf. Sollten Sie eine Web-App dennoch so behandeln, als wären es zwei Apps auf beiden Seiten dieser HTTP-Wall. Ich bin der Meinung, durch Schmerz informiert zu sein, dass ja, ja, du solltest und ich liebe Node.js.