Перейти к основному содержимому

ViewModel в React – ещё раз про разделение приложений на клиент и сервер

·251 слово·2 минут·
Александр Мунько
Автор
Александр Мунько
Любитель порассказывать про Фронтенд
Оригинальная Статья

JSX Over The Wire от 16.04.2025

Дэн Абрамов в очередной раз опубликовал очень большую и подробную статью, в которой он предлагает пересмотреть то, как мы работаем с API и приложением на Реакте. Рассуждение сводится к тому, что, по сути, мы собираем пропы на сервере для Реакта – в таком случае почему бы не попробовать работать на сервере с ViewModel.

В статье постепенно происходит преобразование API в формат, похожий на Server Components. Во время повествованию задаются резонные вопросы о том, а как перейти на такой вариант работы, ведь команда, по разработке REST API может отказаться, ответом чему следует – BFF, что звучит очень логично (и похоже на Next). BFF могут относительно легко поддерживать фронтендеры или несколько команд, отвечающие за BFF и само клиентское представление.

Конечно, BFF не панацея, и в случае его использования команда фронтенда должна очень хорошо подтянуть знания по серверной разработке, о чем было рассказано на “Я 💛 Фронтенд 2025”.

Про BFF

На конференции Максим Вишневский много рассуждал о надобности BFF и как с ним корректно работать, и поделился полезными ресурсами о BFF.

Наконец, имея BFF Дэн Абрамов переходит к реализации самой ViewModel в рамках Реакта и сервера и приходит к тому, как можно это улучшить и разделить на клиентские и серверные компоненты.

Помимо относительно свежего взгляда по ViewModel для Реакта мы получим много ответов на вопросы: почему это хорошо, какие есть трудности, почему Реакт 19 вышел с упором на серверную обработку.

Мысли

Статья заставляет задуматься о развитии фронтенда в рамках Реакта, и, кажется, Next делает всё правильно.