Myląca semantyka
To kwestia semantyki. Kiedy ktoś mówi, że jest programistą .NET lub programistą Java, zwykle mówi o osobie, która dużo zna się na językach szablonów i może frameworkach, których nigdy nie należy używać, takich jak formularze internetowe użyte do ukrycia wyrzucanie rzeczy ponad ścianę http (tj. „tworzenie stron internetowych”) od twórców aplikacji, którzy nie chcieli lub przynajmniej nie chcieli dowiedzieć się o tym całym gównie. W przypadku mieszanych platform .NET i Java nie jestem pewien, ale mogłem tylko zgadywać, że w sensie MVC mają Java działającą dla wszystkich modeli biznesowych i .NET obsługujących wszystko inne, co byłoby lepiej opisane jako „warstwa środkowa”, ale wciąż jest po stronie serwera.
Rzeczywista separacja zachodzi na serwerze i na kliencie lub przeglądarce. Możesz łatwo połączyć budowanie kodu HTML, który ma zostać przesłany lub reprezentować interfejs użytkownika z „programowaniem frontonu”, więc wolę unikać pomyłek, używając terminów klient i serwer zamiast front i back-end podczas omawiania tego, co zwykle robię, (zwykle praca po stronie klienta).
Języki po stronie klienta
Powodem, dla którego używamy tego samego zestawu języków w przeglądarce jest to, że przeglądarka jest po stronie odbierającej i w przeważającej części (obecnie jest to prawie całkowicie martwy opór ze strony Microsoft i Adobe) nikt nie chce wysyłać trzech różne wersje tej samej strony klienta, aby zadowolić każdego potencjalnego klienta lub wymagają zainstalowania zastrzeżonej wtyczki do działania Internetu. Ponadto trzy języki naprawdę ładnie ujmują problemy po stronie klienta, co pozwala nam szybko budować i modyfikować interfejsy aplikacji internetowej, utrzymując luźne powiązanie między strukturą dokumentu, tym, jak wszystko wygląda i jak się zachowuje. Możesz zmienić jedną bez zmiany pozostałych dwóch dość łatwo.
Języki po stronie serwera
Oczywiście masz wiele bazillionów opcji po stronie serwera, ponieważ możesz. To twój serwer. Wystarczy komunikować się za pośrednictwem protokołu http / ssl, a reszta zależy od Ciebie. Nawiasem mówiąc, JavaScript jest teraz opcją, ale rodzi to interesujące pytanie. Jeśli nadal traktujesz aplikację internetową tak, jakby to naprawdę były dwie aplikacje po obu stronach tej ściany HTTP. Jestem zdania, że tak, tak, powinieneś i uwielbiam Node.js.