В чем разница между frontend- и backend-разработчика ми?
Скажу из своего опыта, могут быть неточности.
В разработке десктопных приложений эта граница стирается (если не вникать глубоко). Возьмём, например C# и фраемворки его окружающие. Если мы на C# пишем приложение под Windows, мы логику приложения и, если берём граф интерфейс на WinForm, логику интерфейса прописываем в коде C#. Так что фронта, как такового, нет. Если берём интерфейс на WPF, то у нас 2 пути: можем прописывать логику интерфейса как в коде на C#, так и в <Xaml> разметке. То есть, мы можем как разделить фронт и бек, так и работать только с беком.
Но разрабатывая приложения для десктопа, трудно в полной мере понять эту границу между фронтом и беком. Чтобы полностью это прочувствовать, надо попробовать создать сайт.
При постройке сайта нужно разделять то, что творится на сервере и то, что творится у клиента. Например, сайт на Asp.net. То, что происходит на сервере мы пишем на C#, пишем логику, подключение в БД и прочее, то есть клиент это никогда не увидит. То, что происходит у клиента, что мы можем посмотреть в браузере, открыв код страницы, мы пишем на HTML, CSS, JS, WebForm. Уже сложнее прописывать всю логику в серверном коде, гораздо проще всё прописать в скриптах у клиента. Тут-то мы и видим максимальное разграничение фронта и бека.
То есть, можно сказать, что фронтэнд - это то, что видит пользователь: верстка, скрипты, триггеры, а бекэнд - это логика и вычисления программы, которые пользователь не видит. Но от себя я ещё добавляю разграничения того, где и как это прописывается: в исходном коде или в разметке, но возможно, что это не совсем верно.
автор вопроса выбрал этот ответ лучшим