Кургасов В.В.
доцент
кафедры АСУ, канд. пед. наук,
Липецкий государственный технический университет,
Россия,
Липецк, pascal48@yandex.ru
Лапшова А.Г.
студент гр.
ПИ-15,
Липецкий
государственный технический университет,
Россия,
Липецк
Аннотация. Фреймворки - это, в
основном, инструменты для развития, и они подвержены влиянию тенденций. Поэтому
в данной статье рассмотрены наиболее популярные JavaScript
фреймворки, которые могут изменить технологии front-end в 2018 году.
Ключевые
слова: JavaScript,
фреймворк, Angular, React,
Vue.
Согласно анализу количества репозиториев на GitHub и количеству
обсуждений на StackOverflow,
JavaScript
является самым популярным выбором среди разработчиков. В связи с этим
количество фреймворков и библиотек растет с каждым
годом. Наиболее популярными технологиями на стороне клиента являются Angular, React и Vue.
На основе анализа количества репозиториев, добавленных пользователями в избранное, был
создан график, представленный на рисунке 1.
Рисунок 1 - Статистика с github
Из графика видно, что отклонение между React и Angular постепенно
уменьшалось. К концу 2016 года React
начал обгонять Angular,
а уже к середине 2017 Vue.js
также выбился в лидеры.
Vue.js оказался
неожиданным конкурентом для Angular и React. У Vue.js есть одна цель: упрощение разработки
пользовательского интерфейса. Однако, как и у любой другой структуры, у данного
фреймворка есть свои преимущества и недостатки.
Преимуществом Vue.js является то, что он
имеет много аналогичных характеристик с Angular, и
это может помочь оптимизировать обработку блоков HTML с использованием разных
компонентов. Также Vue.js имеет подробную документацию, которая может при
изучении сэкономить время на разработку приложения, используя только базовые
знания HTML и JavaScript.
Обеспечение
быстрого перехода из других фреймворков во Vue.js из-за сходства с Angular и
React с точки зрения дизайна и архитектуры.
Vue.js можно использовать как для создания одностраничных приложений, так и для
более сложных веб-интерфейсов приложений. Главное, что небольшие интерактивные
части можно легко интегрировать в существующую инфраструктуру, не оказывая
отрицательного влияния на всю систему. Vue.js может помочь разработать довольно
крупные шаблоны многократного использования, которые могут быть сделаны без
дополнительного времени, выделенного для этого, в соответствии с его простой
структурой. Vue.js может весить около 20 КБ, сохраняя свою скорость и гибкость,
что позволяет достичь гораздо более высокой производительности по сравнению с
другими платформами.
Недостатками Vue.js является то, что он
имеет довольно небольшую долю рынка по сравнению с React
или Angular, что означает, что обмен знаниями в этих
рамках все еще находится на начальной стадии. У Vue.js могут возникать проблемы
при интеграции в огромные проекты, и до сих пор нет опыта в возможных решениях,
но они обязательно придут в ближайшее время. Еще одним минусом Vue.js можно
назвать его китайские корни. Многие элементы и описания по-прежнему доступны на
китайском языке. Это приводит к частичной сложности на некоторых этапах
развития, тем не менее, все больше и больше материалов переводятся на
английский язык.
Angular
- это среда MVVM
JavaScript,
которая помогает при создании высоко интерактивных веб-приложений.
Новые функции, такие как расширенный
RXJS, более быстрая компиляция (менее 3 секунд), новый запуск HttpClient, являются преимуществами перед конкурентами.
Наличие подробной документации, которая позволяет получить всю необходимую
информацию для отдельного разработчика, является огромным плюсом для Angular. Однако для этого
требуется больше времени для изучения. Тем не менее, существует двусторонняя
привязка данных, которая обеспечивает исключительное поведение для приложения,
которое минимизирует риски возможных ошибок. Поддержка MVVM (Model-View-ViewModel) позволяет разработчикам работать
отдельно в одном разделе приложения, используя тот же набор данных.
Недостатками Angular является сложный
синтаксис, который исходит из первой версии Angular.
Тем не менее, Angular 5 использует TypeScript 2.4, который наименее сложно изучить. Также
существуют проблемы с миграцией, которые могут отображаться при переходе от
старой версии к последней.
ReactJS - фреймворк
для JavaScript,
который отлично подходит для создания веб-приложений,
где данные могут меняться на регулярной основе.
React
гораздо легче изучить из-за его простоты с точки зрения синтаксиса.
Разработчики просто должны вспомнить свои навыки написания HTML. Не нужно
глубоко изучать TypeScript, как в Angular.
React
имеет высокий уровень гибкости и максимальной отзывчивости. Поддерживается
виртуальная DOM (объектная модель документа), которая позволяет упорядочивать
документы в форматах HTML, XHTML или XML в дерево при анализе различных
элементов веб-приложения. Еще одним преимуществом является поддержка миграции
между версиями, как правило, она происходит достаточно просто, а Facebook предоставляет средства для автоматизации большей
части процесса.
Недостатками ReactJS
является отсутствие официальной документации - сверхбыстрая разработка ReactJS не оставляет времени для правильной документации,
которая сейчас достаточно хаотична, поскольку многие разработчики вносят ее
индивидуально без какого-либо систематического подхода. Также React JS требует глубокого изучения того, как интегрировать
пользовательский интерфейс в структуру MVC.
На основании приведенного сравнения
можно составить сводную таблицу (Таблица 1).
Таблица 1
Критерии сравнения
Наименование критерия |
Angular |
React |
Vue |
Стабильность |
+ |
+ |
+ |
Поддержка
сообщества |
Огромное
сообщество и поддержка Google |
Огромное
сообщество и поддержка Facebook |
Небольшое,
но быстрорастущее сообщество, поддержка Laravel и Alibaba |
Простота
обучения |
Наличие
Typescript затрудняет обучение |
Достаточно
прост |
Простой
в обучении |
Документация |
Достаточно
подробная |
Плохо
структурированная |
Наличие
языкового барьера |
Миграция
данных |
Проблемы
при переходе со старой версии на новую |
Автоматизация
большей части процесса благодаря поддержке Facebook |
Наличие
миграционного помощника |
Таким образом, можно отметить, что
наиболее предпочитаемым фреймворком в скором времени
станет Vue.
Именно он является самым простым в обучении, а поддержка множества различных
систем сборок позволяет разработчикам не ограничивать себя в выборе структуры
приложения при необходимости увеличения производительности.
Список
использованных источников:
1. Джон Дакетт.
Javascript и jQuery.
Интерактивная веб-разработка. – Москва: Эксмо, 2017.
– 640 с.
2. Кургасов
В.В., Лапшова А.Г. Основные тенденции развития
веб-приложений // Интеграционные процессы в науке в современных условиях. –
Уфа: АЭТЕРНА, 2018. – С. 27-31.
3. Сомова Е.В., Киселёв Е.В. JavaScript как незаменимая
составляющая функционирования любого сайта // Современные
социально-экономические процессы: проблемы, закономерности, перспективы. –
Пенза: Наука и Просвещение, 2017. – С. 31-33.
JAVASCRIPT FRAMEWORKS
Kurgasov
V.V.
associate
Professor of MIS, the candidate of pedagogical Sciences,
Lipetsk state technical University,
Russia, Lipetsk, pascal48@yandex.ru
Lapshova
A.G.
student gr.
PI-15,
Abstract. Frameworks are mainly tools for development, and they are influenced by
trends. Therefore, this article discusses the most popular JavaScript
frameworks that can change the technology of front-end in 2018.
Key words: JavaScript, framework, Angular, React, Vue.
References:
1. John Duckett. Javascript and jQuery. Interactive web development. -
2. Kurgasov V.V., Lapshova A.G.
Major trends in the development of web applications // Integration of science
in the modern world. –
3. Somova E.V., Kiselev E.V.
JavaScript as an indispensable component of the functioning of any website //
Modern socio-economic processes: problems, patterns, prospects. -