Комментарии 53
если исходить из определения, что фронтэнд — это совокупность пользовательских программ, кода и статических ресурсов, выполняющихся на клиенте, а бэкэнд, соответственно, — совокупность того же, но уже на сервере, то да, — так называемый «фронтэнд сервер» — это самый что ни на есть бэкэнд
Добавьте к определению фронтенда "и средства их доставки (опционально генерации)" и получите фронтенд-сервер, как минимум nginx/apache/iis/..., отдающий статику без дерганья приложения и проксирующий (возможно с трансформацией) запросы к динамике на бэкенд-сервер.
Классические PHP-приложения объединяют в одном "инстансе" фронтенд- и бэкенд-серверы, в рамках одного процесса выполняя и бизнес-запрос (грубо — обращение к базе), и рендеринг HTML. Современные же, aka "(микро)сервисы", не рендерят HTML, отдавая либо непосредственно клиенту, либо фронтенд-серверу только данные, например в JSON/XML, обрабатывая только бизнес-запрос.
человек, который пишет ту часть кода, которая отвечает за получение данных с app-сервера а не html (twig,jinja etc) — тоже front-end developer?
и да, вам не показалось, я действительно хочу довести ситуацию до абсурда, когда белое будет названо черным
Когда специалисты говорят о фронтенде, они имеют в виду чать логики, которая непосредственно относится к интерфейсу, то есть серверные шаблоны пишут фронтенд-разработчики, бэкенд лишь просовывает туда данные.
Фронтенд — это код, принятый клиентом, запущенный на нём и ставший интерфейсом
А чтобы враг молча отдал оружие, уточните, что отдельно взятая страница — уже интерфейс, а внутри неё работает фронтенд
Определитесь что ли.
А что такое "фронтенд сервер"?
А бэкенд сервер — для передачи бэкенда?
Грубо говоря, да. Может передавать данные через себя в режиме прокси, совсем тупого, или чутка интеллектуального, преобразующего запросы и ответы между разными протоколами и(или) форматами, но не осуществляя их семантической обработки.
Разделять фронтенд и бэкенд. Обычный уже пример — nginx, отдающий статику и проксирующий вызовы api к json/xml бэкенду, может по http, может по, например, fastcgi или wsgi. То есть фронтенд сервер ничего не знает про данные, а бэкенд сервер ничего не знает про фронтенд, про html и css. Практическая польза — раздельное масштабирование, строгое разделение команды на фронтендеров и бэкендеров — как минимум нет споров о том, кто должен натягивать верстку на шаблонизатор бэкенд- движка :), возможность простого подключения клиентов, которые тоже ничего не знают о html/css, например нативные мобильные приложенияю
В том-то и дело, что благодаря технологиям типа React и Angular бэкенд-сервер уже не рендерит для фронта верстку, фронт получает статический html с одним пустым дивом, содержимого которого формирует сам. Да, ещё в функции фронтенд сервера может входить генерация первой страницы для таких сайтов, но опять же все данные он получит с бэкенд-сервера, так что последнему будет все равно, браузер к нему делает запрос или фронтенд-сервер, который отдаст результат браузеру или поисковику.
То есть будут запросы к бэкенду на любой чих
Да, если не держать локальный кеш, не зависящий от HTTP заголовков.
Проксирование данных на «фронтовов бэкенде» — это сложное решение
Не понял, где проксирование?
Не понял, где проксирование?
Это я опережаю возможный аргумент, что кэшировать необходимые данные можно было бы на «фронтенд-бэкенде».
В целом можно. Другое дело, что кэширование по сроку редко годится для клиентских приложений, и в лучшем случае на каждый чих надо будет дергать фронтенд-сервер и получать 304 с пустым телом, если не реализовывать механизм пропихивания на клиент информации хотя бы о том, что запись не валидна больше.
фронтенд-бэкенде
Всё чудесатее и чудесатее.
Опять сарказм не поняли..
/````````Фронтенд````````\
Клиент <=> Фронтенд-сервер <=> Бэкенд-сервер
\_____________Сервер____________/
интерфейс — это способ общения программы с человеком или программы с программой. Может быть графический, текстовый, звуковой, нейроинтерфейс наконец…
Клиент — программа(в том числе прошивки приборов), запрашивающие данные или услугу у сервера. Услуга — обработка данных.
Клиент не оперирует удаленными данными! Он их получает от сервера и обрабатывает локально.
Сервер — производит вычисления по запросам клиентов или выполнять любую другую регулярную рабготу.
Может сам выступать клиентом при подключении к другим серверам.
Интерфейс — средство взаимодействия. Чего с чем — определяется из контекста. В литературном языке трубуется явно укзать.
Пользовательский интерфейс(UI) — средство взаиомдействия пользователя с ПО.
Порграммный интерфейс(API) — средство взаимодействия программ между собой.
Аппаратный интерфейс — взаимосвязь аппаратных компонент(шлейфы, разъемы и пр)
Фронтенд — новомодное нерусское слово. Альтернативное название — клиентский код, код обрабатывающий данные, полученные от сервера.
Термины «фронтенд», «клиентская сторона» и «интерфейс» — как употреблять и не облажаться