Фронтенд — это легко… пока ты не начнешь что-то реально строить
Люди думают, что фронтенд-разработка — это просто.
Они говорят вещи вроде:
- Это всего лишь экран.
- Бэкенд делает всю реальную работу.
- ИИ может это собрать.
- Просто используй библиотеку компонентов.
- Это всего лишь чекбокс.
Каждый фронтенд-разработчик знает, чем заканчиваются такие истории. Один простой чекбокс может испортить вам всю неделю.
Я усвоил это на собственном горьком опыте на прошлой работе. Мы разрабатывали платформу для аудиторской фирмы. Менеджер проекта попросила добавить чекбокс на дашборд. Она сказала, что это займет два часа. Она даже выделила мне целый день на тестирование.
Я думал, она проявляет щедрость. Я ошибался.
Чекбокс не был простым элементом интерфейса. У него были строгие правила:
- Он появляется только для определенных типов клиентов.
- Он отображается только если проект соответствует порогу выручки.
- Он появляется только если проект активен.
- Он отображается только если консультант является владельцем проекта.
Затем логика разрослась. Отметка в чекбоксе запускала запрос. Для этого запроса требовалось одобрение менеджера. Это потребовало:
- Новых API-эндпоинтов.
- Сложных рабочих процессов одобрения.
- Обработки ошибок и состояний загрузки.
- Новых систем уведомлений.
Стало еще хуже. Менеджеры не хотели, чтобы запросы простаивали. Чекбокс должен был скрываться, если менеджер не в сети. Нам пришлось внедрить отслеживание присутствия в реальном времени.
Внезапно нам пришлось управлять:
- Моделями баз данных.
- Соединениями сокетов.
- Синхронизацией данных в реальном времени.
- Состояниями гонки.
Мы потратили тридцать часов на один чекбокс.
Мы не тратили тридцать часов на рисование квадратика. Мы потратили тридцать часов на перевод бизнес-правил в код.
Сложность фронтенда проистекает из человеческих требований. Вам приходится учитывать:
- Оффлайн-пользователей.
- Одновременные клики.
- Изменения прав доступа.
- Медленные ответы API.
- Отключенные сокеты.
Библиотеки компонентов, такие как ShadCN, — это отлично. ИИ полезен для верстки. Но они не решают бизнес-задачи. Библиотека дает вам чекбокс. Она не говорит вам, кто его видит и как проходит процесс одобрения.
Сложность не в пикселях. Сложность в понимании того, что означает этот чекбокс.
Фронтенд — это перевод человеческого хаоса в нечто, на что люди могут нажать. Лучшая работа выглядит легкой, потому что кто-то потратил дни на то, чтобы она казалась простой.
А какая у вас история про «простой чекбокс»?
Источник: https://dev.to/mdazlaanzubair/frontend-is-easy-until-you-actually-build-something-20fb
