Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

СОВРЕМЕННОЕ СОСТОЯНИЕ РЕАКТИВНЫХ ТЕХНОЛОГИЙ FRONTEND РАЗРАБОТКИ

Журавлёв Д.В. 1 Букреев Д.А. 1
1 Мелитопольский Государственный Университет имень А.С.Макаренко
Рассмотрение актуальных тенденций в сфере фронтенд-разработки, сфокусированные на реактивных технологиях. Введение в реактивную фронтенд-разработку описывает стремление создать интерфейсы, которые автоматически реагируют на изменения данных. Текст анализирует популярные реактивные библиотеки и фреймворки, такие как React.js, Vue.js и Angular, выделяя их особенности и применение. Однонаправленный поток данных рассматривается как важный аспект, улучшающий отслеживание изменений и управление кодовой базой. Текст также обращается к реактивным расширениям JavaScript, таким как RxJS, и подчеркивает их роль в обработке асинхронного кода. Рассматривается применение реактивных технологий в создании Progressive Web Apps, обеспечивающих высокую отзывчивость и возможность работы в оффлайн-режиме.
реактивные технологии
фронтенд-разработка
пользовательские интерфейсы
react.js
vue.js
angular
progressive web apps
современные веб-приложения
1. Chen S., Thaduri U. R., Ballamudi V. K. R. Front-End Development in React: An Overview //Engineering International. – 2019. – Т. 7. – №. 2. – С. 117-126.
2. Song’s M. Z. Design and implementation of a vue. js-based college teaching system. – 2019.
3. Sultan M. Angular and the Trending Frameworks of Mobile and Web-based Platform Technologies: A Comparative Analysis //Proc. Future Technologies Conference. – 2017. – С. 928-936.
4. Saks E. JavaScript Frameworks: Angular vs React vs Vue. – 2019.

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

Цель исследования — провести анализ состояния современных реактивных технологий во фронтенд-разработке и их влияние на создание веб-приложений.

Материал и методы исследования

Анализ современного состояния реактивных технологий во фронтенд-разработке и их влияние на создание веб-приложений. Обзор ключевых концепций и подходов в реактивной фронтенд-разработке, анализ популярных фреймворков и библиотек (React.js, Vue.js, Angular), а также изучение реактивных расширений JavaScript, таких как RxJS. Дополнительно рассматривается применение реактивных технологий в создании Progressive Web Apps (PWA). В основе исследования лежит анализ и сравнение функциональности, эффективности и гибкости представленных технологий с целью выявления их преимуществ и областей применения в современной фронтенд-разработке.

Результаты исследования и их обсуждение

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

Однонаправленный поток данных - многие реактивные фреймворки используют подход однонаправленного потока данных (unidirectional data flow), который упрощает отслеживание изменений и обеспечивает четкую структуру кода. Это содействует разделению ответственности и повышению поддерживаемости проектов.

Реактивные расширения JavaScript - Современные фронтенд-разработчики активно используют реактивные расширения языка JavaScript, такие как RxJS. Они предоставляют мощные средства для работы с асинхронным кодом, обработки событий и управления потоками данных.

Разработка Progressive Web Apps (PWA) - Реактивные технологии широко применяются в создании PWA, обеспечивая высокую отзывчивость и возможность работы в оффлайн-режиме. Это делает веб-приложения более доступными и функциональными для пользователей.

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

React.js - это проект на языке JavaScript, который в последнее время доминирует в экосистеме фронтенда. Команда из Facebook разработала и предоставила React в открытый доступ. Разработчики создают и комбинируют компоненты интерфейса веб-приложений с использованием React. React вводит радикальные концепции и вызывает у разработчиков переосмысление bewst-практик. В течение многих лет веб-разработчиков учили создавать HTML, JavaScript и CSS отдельно. React рекомендует писать HTML и CSS на языке JavaScript. После тестирования это кажется не настолько абсурдным. Потому что разработка фронтенда движется в сторону разработки на основе компонентов. Особенности React: Декларативность: Мы хотим видеть результат, а не путь к нему. Используя jQuery, разработчики должны были изменять DOM для переключения состояний приложения. В React мы изменяем состояние внутри компонента, и представление обновляется согласно состоянию. Метод Render() в разметке упрощает предсказание вида компонента. Функциональные черты и чистые функции легко тестировать. Хорошо определенные интерфейсы React облегчают тестирование. Мы можем протестировать компонент, передавая ему различные свойства и состояния и сравнивая отображаемый вывод [1].

Vue.js - это лучший легковесный фронтенд-фреймворк на основе паттерна MVVM в веб-приложениях. На рисунке 1 представлена схематическая диаграмма архитектуры режима MVVM, в которой ViewModle, как промежуточный слой, отвечает за коммуникацию между функциями и данными. Основная библиотека Vue.js фокусируется только на функциональном уровне и поэтому не является универсальным фреймворком. Vue.js может реализовывать отзывчивую двустороннюю привязку данных через простой API и быстро создавать пользовательские интерфейсы. В Vue.js любой вид приложения может быть абстрагирован в дерево компонентов. Если компоненты абстрагированы разумно, несколько маленьких компонентов могут быть повторно использованы для создания большой системы, что снижает повторную разработку [2].

Angular - делает HTML более читаемым, поддерживая привязку данных к DOM. Кроме того, AngularJS поддерживает интегрированную валидацию данных и представляет массив контроллеров (и сервисов) для создания одностраничных приложений. AngularJS объединил идеи Backbone и Knockout, внеся пользовательские компоненты через пользовательские директивы, что сделало Angular очень популярным. Он также внес общий паттерн из ООП, который представляет собой контейнер “Dependency Injection”. Более того, AngularJS представил концепцию MV* или MVW (Model View Whatever), поскольку AngularJS объединил “Controller” и “View” в один контейнер, который управляет обеими функциональностями.

Однако со временем и благодаря множеству рефакторингов и улучшений API, он теперь ближе к парадигме MVVM (Model View ViewModel), где объект $scope можно рассматривать как ViewModel, который декорируется функцией, известной как “Controller”. Модульная структура Angular, строгие рекомендации по разработке и возможность прямой привязки к обычным объектам все улучшают эффективность кодирования, предотвращая множество проблем и обеспечивая прочное архитектурное основание для приложения. Поэтому мы считаем, что эти причины укрепили позицию AngularJS как одного из наиболее читаемых и поддерживаемых фреймворков для веб-разработки. Кроме того, AngularJS предоставляет невиданную поддержку сообщества для ответов на запросы пользователей, выявления ошибок и решения проблем, что предоставляет огромные возможности для исправления ошибок в следующих релизах [3].

В ходе исследования информация о популярности фреймворков была собрана с основных облачных сервис-провайдеров, таких как GitHub, NPM и Stack Overflow. На GitHub Vue оказался самым популярным, имея небольшое преимущество перед React - немного больше звезд и меньше проблем. Angular проигрывает на GitHub, имея в два раза меньше звезд и в несколько раз больше проблем, чем другие. React получает в несколько раз больше загрузок пакетов через NPM, чем два других фреймворка в совокупности. Возможно, Angular просто не нуждается в таком количестве сторонних библиотек, как React, и Vue все еще является новым и развивающимся фреймворком, но однозначно можно сказать, что React - самый популярный фреймворк на NPM. Кажется, что популярность Angular на Stack Overflow достигла своего пика и готовится уступить место React. React и Angular делят лидерство, каждый из них составляет от 2,5% до 3% от общего числа заданных вопросов. Vue, находясь в стабильном росте, составляет всего лишь 8% от общего числа заданных вопросов.

С учетом того, что React полностью доминирует на NPM и делит лидерство как на GitHub, так и на Stack Overflow, можно с уверенностью сказать, что на 2019 год React является самой популярной библиотекой JavaScript [4].

Выводы. В ходе исследования было выявлено, что реактивная фронтенд-разработка нацелена на создание интерфейсов, реагирующих на изменения данных без явного вмешательства программиста. Однонаправленный поток данных в реактивных фреймворках упрощает отслеживание изменений и обеспечивает четкую структуру кода. Реактивные расширения JavaScript, такие как RxJS, предоставляют мощные средства для работы с асинхронным кодом и управления потоками данных. Progressive Web Apps (PWA) активно используют реактивные технологии для обеспечения высокой отзывчивости и работы в оффлайн-режиме. React выделяется как самый популярный на NPM и обладает большой поддержкой на GitHub и Stack Overflow. Vue показывает стабильный рост и популярен на GitHub, но уступает в общей популярности React. Angular испытывает снижение популярности на GitHub и Stack Overflow, но сохраняет свою позицию на NPM. Исследование подтверждает, что React является наиболее популярным фреймворком в сфере фронтенд-разработки, с Vue следующим по популярности, а Angular испытывающим некоторый спад. Факторы популярности включают поддержку сообщества, загрузки пакетов, количество звезд на GitHub и число заданных вопросов на Stack Overflow. Современные реактивные технологии во фронтенд-разработке привносят гибкость, эффективность и отзывчивость в создание веб-приложений. Разработчики активно используют эти инструменты для создания современных и функциональных пользовательских интерфейсов, делая веб-приложения более привлекательными и удобными для конечных пользователей.


Библиографическая ссылка

Журавлёв Д.В., Букреев Д.А. СОВРЕМЕННОЕ СОСТОЯНИЕ РЕАКТИВНЫХ ТЕХНОЛОГИЙ FRONTEND РАЗРАБОТКИ // Международный студенческий научный вестник. – 2023. – № 6. ;
URL: https://eduherald.ru/ru/article/view?id=21411 (дата обращения: 19.05.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674