🎩 Господа, оказывается мы в рекурсии... и виновник этому React 18
Во времена начала моей карьеры фронтенд генерировался через шаблонизаторы на бэке
Тогда "фронтендера" называли "верстальщиком" – это был чепушила, который верстал html шаблоны, а вот уже "бэкендер" брал их, писал функции, достающие данные из базы и засовывал в эти шаблоны
Потом появились библиотеки для SPA (я начинал с Backbone, но, первую революцию сделал Angular 1)
Вот тут у нас произошло полноценное разделение "фронтендеров", которые писали всю клиентскую логику и "бекендеров", создававших под клиента API
Со временем стало понятно, что поисковики адаптироваться под SPA не хотят, да и скорость отрисовки при чистой загрузки с фронта хреновая, поэтому начали появляться фреймворки типа Next.js и Remix
Теперь frontend-ер мог не только делать запросы на бэк, но и сам в отведенной под серверное воспроизведение логике добавлять запросы к БД
И наконец, выходит React 18, который добавляет прям внутрь самого себя поддержку компонентов, которые воспроизводятся на сервере... то есть теперь, фронтендер может прям в специальных React компонентах писать запросы к БД, которые загрузятся на сервере и отдадуться клиенту...
https://nextjs.org/docs/advanced-features/react-18/server-componentsЕсли не вдаваться в детали, то это ровно то, как первоначально была устроена веб-разработка, только теперь запросы к БД для рендеринга шаблонов может писать не бекендер, а фронт
На мой взгляд, это очень хорошая новость, потому что, работая бекендером, больше всего я не навижу писать ручки для фронта, особенно всякие CRUD-like
Если сами фронты будут заниматься запросами в БД для доставания / создания данных, я буду только счастлив, готов даже под них делать отдельные оптимизированные под фронт таблички
С другой стороны, я на своем веку всего пару хороших фронтендеров видел, которые писали сносные SPA, а чтобы теперь фронтам давать трогать базу...
Поживем, увидем, а всем вам мощной прокачки 💪