Меньше JavaScript — быстрее сайт
Интерактивность оправдана там, где без неё нельзя. В остальных случаях она только мешает.
Статическая страница не должна отправлять пользователю библиотеку ради того, чтобы открыть аккордеон. Оправданность скрипта проверяется простым вопросом: можно ли это сделать без него?
Что обычно не требует JS
- Блоки страниц и их раскладка.
- Переключение изображений по
<picture>. - Раскрытие деталей — нативным элементом
<details>. - Формы — нативной валидацией и атрибутами.
Что требует
- Переключение темы до отрисовки — короткий встроенный скрипт.
- Панель мобильного меню с управлением фокусом.
- Виджеты, у которых нет нативного аналога.
Что измерять
Размер JS-бандла на странице и время до первого отрисованного содержимого. На многостраничном сайте экономия накапливается: пользователь не загружает один и тот же скрипт заново на каждом маршруте.
Если страница работает без JS — это не «почти работает». Это уже работает.
- производительность
- фронтенд