Увеличение производительности реактивных web-страниц

Современная веб-разработка сосредоточена на компонентно-ориентированном подходе, который пришел из мобильной разработки и успешно внедрился в веб с помощью таких компаний, как Facebook и Google. Они создали реактивные фреймворки (angular, react), которые полностью изменили подход к привычной веб-разработке, сделав ее качественной и масштабируемой, что позволяет создавать приложения любой сложности с помощью веб технологий. Так как Facebook и Google разрабатывают полностью динамические приложения, где более 90% компонентов – реактивны, то есть они имеют свое состояние и работают в фоновом режиме, ожидая обновление данных, чтобы изменить интерфейс, поэтому использование реактивных фреймворков полностью оправдывает себя. Но большинство веб-сайтов не такие. Количество динамических частей в приложении составляет 20-30% и использование реактивных фреймворков замедляет работу сайта, особенно на мобильных устройствах. На сегодняшний день проблема производительности реактивных фреймворков стоит достаточно остро, ведь производительность влияет не только на процент отказов пользователей, но и на продвижение в поисковых системах, а решение данной проблемы должно быть комплексное, сохраняя все удобства компонентного подхода. На текущее время уже существует реактивные фреймворки, где производительность рендеринга сравнима с нативным JavaScript. При этом они все равно имеют проблему медленной первой загрузки, особенно на мобильных устройствах. Поэтому целью данной диссертационной работы является проверка гипотезы увеличения производительности с помощью частичной гидратации компонентов. Гидратация (или регидратация) – это повторный рендеринг, который производиться на клиенте. Основной недостаток гидрататации заключается в том, что она негативно влияет на время до интерактивности. Даже при улучшении первой отрисовки. Поэтому этап гидратации является наименее производительным во всех реактивных фреймворках на данный момент. Частичная гидратация позволяет гидрировать только те компоненты, которые действительно нужно. Не тратить время и ресурсы на проработку всего DOM дерева. Данный подход является расширением идеи прогрессивной гидрататации, где отдельные части (компоненты/отображения/деревья), которые должны быть прогрессивно гидрированы, анализируются на предмет малой или отсутствующей интерактивности. Для этих в основном статических частей соответствующий код JavaScript затем преобразуется в «инертные» ссылки и декоративную функциональность, уменьшая отпечаток на стороне клиента почти до нуля.

Информатика
Диссертации

Вуз: Ульяновский государственный технический университет (УлГТУ)

ID: 5f48d8b2cd3d3e000177f674
UUID: fdaa83f0-cb44-0138-2342-0242ac180006
Язык: Русский
Опубликовано: около 4 лет назад
Просмотры: 359

23.28

Бурханов Кирилл

Ульяновский государственный технический университет (УлГТУ)


1

Комментировать 4

Рецензировать 1

Скачать - 1000,0 КБ


Поделиться работой
Current View

Рецензии:

  Авторизуйтесь, чтобы добавить рецензию

Рецензия от Бурханов Кирилл
Негода Виктор Николаевич Зам. заведующего кафедрой, профессор, д.т.н.

около 4 лет назад

23.28
Бурханов Кирилл

4


23.28
Бурханов Кирилл

3


23.28
Бурханов Кирилл

2


23.28
Бурханов Кирилл

1

Для лиц старше 18 лет