Фронтенд — это морда твоего приложения. То, что ты показываешь юзеру в ответ на его мучительный клик. Ни о какой бизнес-логике тут речи нет — это территория вывода, не решений. Но и здесь можно накосячить так, что бэкенд взвоет.
Каждый файл, который ты пихаешь на страницу — будь то CSS, JS, SVG или вонючий webp — это отдельный запрос к серверу. А теперь представь, что таких пользователей тысяча. Или десять тысяч. А у тебя сто файлов. Приятно? Вот и серверу не весело.
Горизонтальное масштабирование — когда всё совсем плохо
Когда сервак уже красный от нагрузки, в ход идёт тяжёлая артиллерия: горизонтальное масштабирование. То есть ты просто раскидываешь файлы по нескольким серверам и надеешься, что теперь он не сдохнет. Но это решение из серии «мы не чиним, мы размазываем».
Проще и дешевле — объединить свои CSS и JS в один-два файла. Уменьшится количество запросов — и это уже победа. Картинки? Просто нормально настрой сервер. Или раздавай через CDN — это не так модно, как SSR, но работает.
Архитектура фронта: разделяй и втаскивай
Фронт должен быть не монолитом из боли, а набором независимых компонентов. Чем меньше они друг от друга зависят — тем проще жить. Сегодня ты добавляешь блок новостей, завтра — убираешь. И всё это без каскадного ада.
Нужна подгрузка? Делай её динамически. Не надо перезагружать страницу целиком, если можно дёрнуть один кусок. Особенно это актуально для ленивых пользователей (а они все такие), которые листают посты, пока не сядет батарея.
Кэш: польза, если не дебил
Фронт тоже кэшируется — не только бэк умеет в это дело. Браузеры жрут CSS и картинки и потом отдают из своего кэша. Это бесплатно. Просто пользуйся.
Хочешь кэшировать блоки или целые страницы — пожалуйста. Но запомни: кэш без головы — это баг, а не фича. Показал юзеру устаревшую цену или скрытый пост? Молодец, получил баг-репорт.
Так что либо вручную инвалидация, либо обвешивай всё логикой: если что-то изменилось — сбрось кэш. Не изменилось — не трогай. Как с бывшими.
Вывод
Фронтенд масштабируется не количеством библиотек и не магией Vite. Он масштабируется здравым смыслом. Меньше запросов, меньше связности, больше компонентов и точечного кэша. Не превращай интерфейс в болото — и сервер, и юзер скажут спасибо.
0 комментариев