В этой статье описываются некоторые методы ускорения загрузки фронтенд-приложений, чтобы реализовать отзывчивый, быстрый пользовательский интерфейс.

Мы обсудим общую архитектуру фронтенда, как обеспечить предварительную загрузку необходимых ресурсов и увеличить вероятность того, что они в кэше. Немного порассуждаем, как отдавать ресурсы с бэкенда и когда можно ограничиться статическими страницами вместо интерактивного клиентского приложения.

Процесс загрузки разделим на три этапа. Для каждого этапа сформулируем общие стратегии повышения производительности:

Начальная отрисовка: сколько времени требуется, чтобы пользователь увидел хоть что-то

Сократить запросы, блокирующие рендеринг

Избегать последовательных цепочек

Повторно использовать соединения с сервером

Сервис-воркеры для мгновенного рендеринга

Загрузка приложения: сколько времени требуется, чтобы пользователь смог использовать приложение

Разбить пакет приложения на части. Загружать только необходимые ресурсы. Максимизация попаданий в кэш

Проверить, что хэши частей пакета не меняются без необходимости

Запрашивать данные для страницы до загрузки всего приложения

Не блокировать рендеринг загрузкой второстепенных данных

Рассмотреть рендеринг на стороне сервера

Следующая страница: сколько времени требуется для перехода на следующую страницу

Запрашивать дополнительный код до того, как он понадобится

Кэшировать и повторно использовать данные на клиенте

Читать дальше →
[Перевод] 7 советов по оптимизации CSS для ускорения загрузки страниц

В современном вебе, время загрузки страницы сайта — одна из важнейших метрик. Даже миллисекунды могу оказывать огромное...

Подробнее
Как получать 100 тысяч за код. Полное руководство для начинающих

Сохраните в закладки сейчас, скажите спасибо через год. В конце каждого этапа — ссылки для внеклассного чтения. 1....

Подробнее
[Из песочницы] Базовый набор для VueJS-разработчиков

Начиная с основ Вам когда-либо приходило в голову желание относительно того, чтобы начать писать собственные...

Подробнее
[recovery mode] Electron — Разработка Desktop-приложений, используя HTML, CSS и JavaScript

О чем вы узнаете из статьи? Что такое Electron Возможности и ограничения при разработке Как работать с Electron Плюсы и...

Подробнее
Блог им. linuxxspb / HttpHandler для сжатия и компрессии *.js и *.css файлов

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

Подробнее
Сага о SEO, часть 3: UX

Ранее мы писали о том, каким образом мы оптимизировали сайт more.tv для поисковых систем технологически и семантически....

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями