Пропустить к содержимому
GraphiCore
Разработка Редакция GraphiCore

Меньше JavaScript — быстрее сайт

Интерактивность оправдана там, где без неё нельзя. В остальных случаях она только мешает.

Оранжевая пастельная абстракция из окружностей и тонких линий

Статическая страница не должна отправлять пользователю библиотеку ради того, чтобы открыть аккордеон. Оправданность скрипта проверяется простым вопросом: можно ли это сделать без него?

Что обычно не требует JS

  • Блоки страниц и их раскладка.
  • Переключение изображений по <picture>.
  • Раскрытие деталей — нативным элементом <details>.
  • Формы — нативной валидацией и атрибутами.

Что требует

  • Переключение темы до отрисовки — короткий встроенный скрипт.
  • Панель мобильного меню с управлением фокусом.
  • Виджеты, у которых нет нативного аналога.

Что измерять

Размер JS-бандла на странице и время до первого отрисованного содержимого. На многостраничном сайте экономия накапливается: пользователь не загружает один и тот же скрипт заново на каждом маршруте.

Если страница работает без JS — это не «почти работает». Это уже работает.

  • производительность
  • фронтенд