126 статей для Senior Frontend-разработчика: большая подборка
Инженерные разборы для работы с большими приложениями: архитектура, микрофронтенды, SSR, производительность, мониторинг, миграции, дизайн-системы и процессы команды.
Архитектура и границы модулей
- Верхнеуровневая архитектура фронтенда. Лекция Яндекса
Чтобы принимать устойчивые архитектурные решения.
- Архитектура фронтенда и какой она должна быть
Чтобы принимать устойчивые архитектурные решения.
- Domain-Driven Design: чистая архитектура снизу доверху
Чтобы принимать устойчивые архитектурные решения.
- Как создать архитектуру фронтенд-приложения, если ее нет от слова «совсем»
Чтобы принимать устойчивые архитектурные решения.
- Архитектура фронтенда, к которой мы пришли
Чтобы принимать устойчивые архитектурные решения.
- Чистая архитектура фронтенд приложений. Часть первая
Чтобы принимать устойчивые архитектурные решения.
- Архитектура фронтенд-приложений на React. (Нам не нужен FSD)
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Чистая архитектура фронтенд приложений. Часть вторая
Чтобы принимать устойчивые архитектурные решения.
- Просто о сложном: архитектура фронта для техлида
Чтобы принимать устойчивые архитектурные решения.
- Архитектура фронтенда. Навеяно болью от использования FSD
Чтобы принимать устойчивые архитектурные решения.
- От хаоса к структуре: как FEOD помогает упорядочить архитектуру фронтенд-приложений
Чтобы принимать устойчивые архитектурные решения.
- Почему архитектура важнее выбора стейт-менеджера в React
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Универсальный Backend for Frontend для всех платформ RUTUBE
Чтобы принимать устойчивые архитектурные решения.
- От хаоса к системе: как мы создавали корпоративный фронтенд-фреймворк
Чтобы принимать устойчивые архитектурные решения.
- Фронтенд и бэкенд больше не будут общаться как прежде: создаём конструктор сценариев на базе Backend Driven UI
Чтобы принимать устойчивые архитектурные решения.
- Хороший код, но плохая архитектура
Чтобы принимать устойчивые архитектурные решения.
- Как разделить фронтенд на модули и связать их между собой: на примере маркетплейса
Чтобы принимать устойчивые архитектурные решения.
- Внутри Mailion: как устроен фронтенд почты на миллион пользователей
Чтобы принимать устойчивые архитектурные решения.
Микрофронтенды
- Микрофронтенды в hh.ru
Чтобы независимо развивать части большого интерфейса.
- Микровселенная безумия, или Как устроены микрофронтенды в Dodo
Чтобы независимо развивать части большого интерфейса.
- Микрофронтенды с Module Federation: истории внедрения в готовый проект и создания с нуля
Чтобы независимо развивать части большого интерфейса.
- Микрофронтенды — универсальное решение всех проблем или просто удобный подход?
Чтобы независимо развивать части большого интерфейса.
- Готовим микрофронтенды на чистом JS без фреймворков
Чтобы независимо развивать части большого интерфейса.
- Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде
Чтобы независимо развивать части большого интерфейса.
- Микрофронтенды в SSR: опыт Авито
Чтобы независимо развивать части большого интерфейса.
- Банки.ру: от монолита до микрофронтендов
Чтобы независимо развивать части большого интерфейса.
- Пора переходить на микрофронтенд? Опыт «Инферит Клаудмастер»
Чтобы независимо развивать части большого интерфейса.
- Микрофронтенды: зачем дробить фронтенд и почему это может быть хорошо
Чтобы независимо развивать части большого интерфейса.
- Микрофронтенды: прихоть разработчиков или реальная польза для бизнеса
Чтобы независимо развивать части большого интерфейса.
- Build-time микрофронтенды, или делай проще
Чтобы независимо развивать части большого интерфейса.
- Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта)
Чтобы независимо развивать части большого интерфейса.
SSR и стратегии рендеринга
- Производительность фронтенда: большое приложение на реактивном SSR-топливе
Чтобы ускорить первую загрузку и улучшить SEO.
- Масштабирование SSR-приложений
Чтобы ускорить первую загрузку и улучшить SEO.
- CSR, SSG, SSR — про рендеринг приложений на примерах
Чтобы ускорить первую загрузку и улучшить SEO.
- Утечки памяти в SSR: причины, поиск, устранение
Чтобы ускорить первую загрузку и улучшить SEO.
- Собираем свою библиотеку для SSR на React. Роутинг
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Он вам не SSR. Nuxt — больше, чем Server-Side Render фреймворк
Чтобы ускорить первую загрузку и улучшить SEO.
- Выбор стека для веб‑сайта: обзор типов рендеринга — SSR, SSG, CSR и другие
Чтобы ускорить первую загрузку и улучшить SEO.
Производительность и память
- Управление памятью
Чтобы находить узкие места и ускорять систему.
- Производительность веб-приложений в бизнесе
Чтобы находить узкие места и ускорять систему.
- Оптимизация производительности фронтенда. Часть 1. Critical Render Path
Чтобы находить узкие места и ускорять систему.
- Долг оптимизацией красен: как мы в МойОфис объединили борьбу с легаси и увеличение производительности таблиц
Чтобы находить узкие места и ускорять систему.
- Производительность React‑приложений: от лишних ререндеров до виртуализации списков
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Используем JS Self-Profiling API для профилирования фронтенда на клиентах
Чтобы находить узкие места и ускорять систему.
- Web Workers в JavaScript: Параллельные вычисления и улучшение производительности
Чтобы находить узкие места и ускорять систему.
- Web Workers и React: как разгрузить UI и ускорить приложение
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Код на React и TypeScript, который работает быстро. Доклад Яндекса
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Сколько памяти ест ваша вкладка
Чтобы находить узкие места и ускорять систему.
- React Update Lifecycle: что происходит при обновлении компонента
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Как уменьшить размер бандла раз и навсегда: приемы, метрики, мониторинг
Чтобы находить узкие места и ускорять систему.
- LCP под микроскопом: как выжать максимум из самой важной метрики Google
Чтобы находить узкие места и ускорять систему.
- Влияние service worker'ов на web-приложения
Чтобы находить узкие места и ускорять систему.
- Service Workers против медленного интернета: Кэширование и улучшение UX
Чтобы находить узкие места и ускорять систему.
Мониторинг и эксплуатация
- Строим систему для мониторинга качества frontend-проектов
Чтобы быстро находить причины сбоев.
- Как и зачем проводить интегральный мониторинг SSR-приложений
Чтобы быстро находить причины сбоев.
- Сбор данных мониторинга из Frontend JS приложений используя Grafana Faro
Чтобы быстро находить причины сбоев.
- Мониторинг и SLA на фронтенде: где брать метрики и как не высасывать из пальца SLI
Чтобы быстро находить причины сбоев.
- Observability в финтехе: связываем клик пользователя с падением интеграции
Чтобы быстро находить причины сбоев.
- Путь к ошибке: зачем нужны «Breadcrumbs» во frontend-мониторинге
Чтобы быстро находить причины сбоев.
- Логирование во фронтенд-приложениях. Опыт Звука
Чтобы быстро находить причины сбоев.
- RUM на Prometheus: пишем за вечер свой простой и надёжный фронтенд-мониторинг
Чтобы быстро находить причины сбоев.
Монорепозитории, сборка и релизы
- Разработка в монорепозитории. Доклад Яндекса
Чтобы автоматизировать проверки и выпуск изменений.
- Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru
Чтобы автоматизировать проверки и выпуск изменений.
- Angular Libs как монорепозиторий: начало, настройка, работа с assets
Чтобы автоматизировать проверки и выпуск изменений.
- Angular Libs как монорепозиторий 2: tree shaking и сборка клонов
Чтобы автоматизировать проверки и выпуск изменений.
- Монорепозиторий с pnpm и typescript для фронтенда на React и бэкенда на Node.js
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Пример процесса внесения глобальных изменений в большой монорепозиторий
Чтобы автоматизировать проверки и выпуск изменений.
- Как мы во фронтенд-команде ПСБ прокачали релизный цикл npm-пакетов
Чтобы автоматизировать проверки и выпуск изменений.
- Релизим фронтенд несколько раз в день
Чтобы автоматизировать проверки и выпуск изменений.
- Пишем интеграционные тесты на фронтэнд и ускоряем релизы
Чтобы автоматизировать проверки и выпуск изменений.
Миграции и развитие кодовой базы
- Миграция на Vue 3 начинается не с кода: как донести важность и подготовить проект
Чтобы обновлять кодовую базу без поломок.
- Бесшовная миграция монолитного фронтенда для критически важного бизнес-продукта
Чтобы обновлять кодовую базу без поломок.
- Typescript в hh.ru
Чтобы находить ошибки типов до запуска.
- Как перенести на TypeScript большую кодовую базу React UI-компонентов
Чтобы собирать интерфейс из переиспользуемых компонентов.
- Опыт перевода большого проекта с Flow на TypeScript
Чтобы находить ошибки типов до запуска.
- Вдали от Webpack, или Как мы в Dodo микрофронтенды на Vite переводили
Чтобы обновлять кодовую базу без поломок.
- Performance и оптимизация TypeScript-типов в больших проектах
Чтобы находить ошибки типов до запуска.
- Как я ускорил TypeScript-типы в 15.7 раза
Чтобы находить ошибки типов до запуска.
- О миграции с Angular на React в деталях
Чтобы собирать интерфейс из переиспользуемых компонентов.
Дизайн-системы и библиотеки компонентов
- Переход от UI-кита к дизайн-системе в QIWI
Чтобы сохранять единообразие интерфейсов.
- Как подружить дизайнера, верстальщика и «Фигму» с помощью дизайн-системы, ломика и какой-то матери™
Чтобы сохранять единообразие интерфейсов.
- Тёмная сторона дизайн-системы и что с ней делать
Чтобы сохранять единообразие интерфейсов.
- Основные трудности и ошибки при разработке дизайн-системы
Чтобы сохранять единообразие интерфейсов.
- Подход, который помог нам точно оценить трудозатраты на разработку дизайн-системы
Чтобы сохранять единообразие интерфейсов.
- Автостопом по дизайн-системе. Путеводитель с оглавлением
Чтобы сохранять единообразие интерфейсов.
- Дизайн-система: от страдания к звездам
Чтобы сохранять единообразие интерфейсов.
- UI-дзен: как мы познали гармонию, обновив библиотеку компонентов для дизайн-системы Shoelace
Чтобы сохранять единообразие интерфейсов.
- Мультипродуктовая дизайн-система: как сделать так, чтобы она реально работала
Чтобы сохранять единообразие интерфейсов.
- Банка для интерфейсов: как дизайн‑система превратилась в самостоятельный продукт
Чтобы сохранять единообразие интерфейсов.
- Дизайн-система в Додо: почему модуль компонентов – это еще не система
Чтобы сохранять единообразие интерфейсов.
- Архитектура дизайн-системы для нескольких продуктов
Чтобы сохранять единообразие интерфейсов.
- Дизайн-система IVI. Взгляд изнутри. Часть 2
Чтобы сохранять единообразие интерфейсов.
- Дизайн-система: что пошло не так и как мы это исправили
Чтобы сохранять единообразие интерфейсов.
- Рабочий процесс команды дизайн-системы
Чтобы сохранять единообразие интерфейсов.
- Как я правил контраст и базовую палитру в дизайн-системе
Чтобы сохранять единообразие интерфейсов.
- Как прийти к мультиязычной дизайн-системе и выучить арабский
Чтобы сохранять единообразие интерфейсов.
- Как контролировать токены дизайн-системы: поиск ошибок, версионирование и графы в едином дашборде
Чтобы сохранять единообразие интерфейсов.
Безопасность и доступность
- Браузер на страже API-запросов: строим безопасное общение фронтенда с бэкендом
Чтобы интерфейсом могли пользоваться все.
- Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений
Чтобы интерфейсом могли пользоваться все.
- Веб-безопасность 201
Чтобы интерфейсом могли пользоваться все.
- Веб-безопасность 202
Чтобы интерфейсом могли пользоваться все.
- Frontend Security: о чем вы хотели бы забыть, но не сможете
Чтобы интерфейсом могли пользоваться все.
- Подробная настройка Content Security Policy (CSP)
Чтобы интерфейсом могли пользоваться все.
- Content Security Policy (CSP) защитит от js-снифферов и утечек?
Чтобы интерфейсом могли пользоваться все.
- Неудовлетворительно. Результаты исследования безопасности российских frontend-приложений Q2 2025
Чтобы интерфейсом могли пользоваться все.
- От localStorage к HttpOnly Cookie. Как меняется архитектура авторизации в SPA
Чтобы интерфейсом могли пользоваться все.
- Картинка грузится, а fetch к тому же хосту — нет: как CSP тихо сломала три интеграции
Чтобы загружать данные без перезагрузки страницы.
- Доступность и frontend: стандарты разработки продуктов для незрячих и слабовидящих людей
Чтобы сайтом могли пользоваться все.
- Как обеспечить цифровую доступность по всем правилам: опыт Яндекс Капчи
Чтобы интерфейсом могли пользоваться все.
Ревью, технический долг и наставничество
- Практики хорошего code review, или что такое code review за 15 минут. Доклад Никиты Соболева на DUMP в Казани
Чтобы улучшать код без остановки разработки.
- Code Review – зачем и как использовать в команде?
Чтобы улучшать код без остановки разработки.
- Code Review. 80 lvl
Чтобы улучшать код без остановки разработки.
- Code review: почему мы до сих пор его используем и какие альтернативы?
Чтобы улучшать код без остановки разработки.
- Простые шаги к эффективному code review
Чтобы улучшать код без остановки разработки.
- Почему Code Review тормозит разработку и что с этим делать
Чтобы улучшать код без остановки разработки.
- Технический долг на проекте или выбраться из черной дыры
Чтобы улучшать код без остановки разработки.
- Как не позволить техническому долгу одолеть вас
Чтобы улучшать код без остановки разработки.
- Мини-гайд по погашению технического долга
Чтобы улучшать код без остановки разработки.
- Управление техническим долгом
Чтобы улучшать код без остановки разработки.
- Технический долг — тихий убийца
Чтобы улучшать код без остановки разработки.
- Как найти управу на технический долг
Чтобы улучшать код без остановки разработки.
- Как мы научились эффективно работать с техническим долгом
Чтобы улучшать код без остановки разработки.
- Как устроены технические стажировки Авито
Чтобы улучшать код без остановки разработки.
- Я не Бог, не оракул и не гугл. Менторство глазами ментора и менти
Чтобы улучшать код без остановки разработки.
- Как развиваться программисту, не меняя работу
Чтобы улучшать код без остановки разработки.
- Что такое Загруженность команды: как использовать и для чего
Чтобы улучшать код без остановки разработки.