🔥

Тред (Полина Гуртовая)


Переходим к коммуникации с внешними источниками данных. Для начала общий опрос-вопрос: как бы вы описали бекенд(ы) вашего текущего проекта?)
Круто что для многих бекенд это надежный источник данных! К сожалению это не всегда это так. twitter.com/jsunderhood/st…

Есть проекты, где интеграция с бекендом заставляет значительно переусложнять клиентский код или добавлять прямо-таки удивительные проверки, типа "если вам пришел список элементов, сделайте еще пару запросов чтобы убедиться что он правильный".

Мне самой часто приходилось писать сложные маперы, чтобы превратить внешние данные во что-то подходящее для клиента. Поэтому сегодня мы говорим об интеграции с бекендом
notion image

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

Перед тем как утверждать "нам нужно архитектурное решение X" неплохо еще раз посмотреть на свою задачу, на доступные ресурсы, на клиентов использующих ваше API и самое главное на команды которые этим занимаются :)

Сложные архитектурные решения могут появляться из-за того что несколько людей и/или команд просто не смогли договориться.

Мне кажется, что перед тем как распиливать все на микрофронтенды, внедрять BFF и прочие прослойки можно попробовать сформулировать: - Что нужно клиенту - Что может текущий/будущий бекенд - Можно ли сделать наш интерфейс удобным для пользователя не переусложняя интеграции

Я всегда за максимально простую архитектуру и итеративное ее усложнение. Главное не пропустить момент когда действительно нужно усложнять :)

Полина ГуртоваяПолина Гуртовая