JAVASCRIPT ФРЕЙМВОРКИ

Кургасов В.В.

доцент кафедры АСУ, канд. пед. наук,
Липецкий государственный технический университет,

Россия, Липецк, 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, Lipetsk state technical University,

Russia, Lipetsk

 

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. - Moscow: Eksmo, 2017. - 640 p.

2. Kurgasov V.V., Lapshova A.G. Major trends in the development of web applications // Integration of science in the modern world. – Ufa: AETERNA, 2018. - P. 27-31.

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. - Penza: Science and Education, 2017. - P. 31-33.