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

Угловой

Angular.js скоро исполнится 10 лет, и его влияние на сообщество веб-разработчиков можно охарактеризовать как значительное. Angular является частью ряда фреймворков JavaScript, разработанных техническими гигантами (в данном случае Google) на основе открытого исходного кода. Этот фреймворк произвел настоящий фурор в 2010 году, настолько, что побудил Facebook в 2013 году выпустить React, библиотеку JavaScript, которая предлагает богатую функциональность фреймворка.

Поскольку Google и Facebook были ведущими разработчиками в этих крупных проектах с открытым исходным кодом, конкуренция ожидалась с самого начала. В сообществе разработчиков мнения о преимуществах использования Angular и React существуют уже более четырех лет.

Дебаты React и Angular

Как раз в то время, когда разгорались дебаты React vs. Angular, на сцену вышел еще один JavaScript-фреймворк, который, безусловно, заслуживает обсуждения в 2019 году.

Текущая версия Angular 7.0.0 была выпущена в октябре 2018 года и будет активна до апреля 2019 года. Каждый раз, когда выпускается новая версия Angular с нумерацией .0.0, это означает серьезные обновления базовой структуры, инструмента командной строки и Компоненты материального дизайна. Вот некоторые из улучшений:

  • Производительность. Виртуальная прокрутка улучшает отрисовку проектов, включающих отдельные страницы, которые кажутся бесконечными. Это улучшение пригодится веб-сайтам, которые дразнят и побуждают посетителей продолжать прокручивать страницу в поисках наживки и вирусного контента. Еще один показатель производительности известен как Bundle Budgets, который, по сути, предупреждает разработчиков о том, сколько JavaScript они обслуживают. Эти предупреждения начинаются на уровне 2 МБ и становятся более заметными после 5 МБ.
  • Подсказки в интерфейсе командной строки. Когда определенные команды вводятся в интерфейсе командной строки, Angular 7 будет отображать соответствующие подсказки, чтобы упростить кодирование, открыть новые функции или вдохновиться.
  • Визуальные стили. Google уже обновил Material.io в 2018 году до Angular 7, и изменения были перенесены на фреймворк. Иерархия типов по умолчанию больше и жирнее для заголовков, а углы квадратных и прямоугольных форм теперь более мягкие. Что касается разнообразия иконок, то оно увеличилось еще на пять стилей. Существует также новый модуль перетаскивания, очень элегантный и современный.

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

Как раз в то время, когда разгорались споры о React и Angular, на сцену вышел еще один JavaScript-фреймворк, Vue, и дискуссия вокруг водяного кулера для веб-разработки стала более интересной.

Вью

Vue.js — это проект, задуманный инженером-программистом, который был знаком с Angular во время работы в Google. В феврале 2014 года Эван Ю выпустил первую стабильную версию Vue на GitHub, за четыре года до того, как Microsoft приобрела платформу кодирования.

Несмотря на отсутствие поддержки таких технологических гигантов, как Google и Facebook, с 2018 года Vue пользуется значительным интересом среди разработчиков. Согласно 2018 State of JavaScript, большинство участников GitHub, которые слышат о Vue, проявляют интерес к его изучению. Эта тенденция обратна Angular, интерес к которому в настоящее время снижается, и он уступает только React.

Разработчики, которые уже работали с внешними средами Angular и React, могут по разным причинам изучить Vue:

Разумная кривая обучения

И React, и Vue имеют общее преимущество перед Angular в том смысле, что они не требуют изучения TypeScript. Хотя TypeScript часто считается улучшением по сравнению с обычным JavaScript, все же необходимо изучить процессы обработки классов, которые могут привести к дополнительным строкам кода. По сравнению с React многие начинающие разработчики считают, что Vue представляет собой более удобный подход, но это может быть связано с доступной документацией.

Разработчики чувствуют, когда знакомятся с Vue, что их текущих навыков HTML и JavaScript будет достаточно для изучения этого фреймворка; однако следует отметить, что это, вероятно, во многом связано с самыми популярными учебными курсами (вы можете найти их на Udemy), на втором уроке которых вы будете создавать простые веб-приложения.

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

Поддержка сообщества Vue против React

Поскольку React — это проект Facebook с открытым исходным кодом, который существует уже почти десять лет, само собой разумеется, что он пользуется большей поддержкой сообщества. Тем не менее, всего за несколько лет Vue удалось завоевать значительное количество поклонников, но, вероятно, потребуется еще несколько, прежде чем можно будет считать, что у него богатая экосистема.

Когда вы посмотрите на многие проекты, которые были завершены с помощью Vue, вы заметите, что чувствительность дизайна имеет тенденцию быть современной, и это имеет смысл, поскольку это относительно новый фреймворк. Веб-сайт Vue Conference в Торонто, например, является прекрасным примером одностраничного приложения, которое можно было бы создать с помощью React.

Как и следовало ожидать, количество инструментов, библиотек и пакетов кода, доступных для React, больше, но меньшая витрина Vue весьма впечатляет.

Общая безопасность платформы

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

И Vue, и React уязвимы для атак с использованием межсайтовых сценариев (XSS), довольно распространенных уязвимостей в веб-приложениях, независимо от их фреймворка. XSS-атаки, которые позволяют злоумышленникам внедрять сценарии на стороне клиента в веб-страницы, просматриваемые другими пользователями, могут повлиять практически на любое веб-приложение JavaScript.

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

Гибкость разработки

Вот где мнения, как правило, расходятся больше всего. Vue — это прогрессивный фреймворк, лишенный многих элементов, которые делают React всеобъемлющей средой разработки. Если вы ищете меньше шаблонов JavaScript, Vue больше подходит, и то же самое происходит, если вы собираетесь использовать старый код или устаревший код jQuery.

Более простая структура не обеспечивает большей гибкости; во всяком случае, React можно охарактеризовать как более гибкий, потому что для выполнения сложных проектов доступно больше инструментов, библиотек и учебных пособий.

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

Будущее разработки Vue

По состоянию на начало 2019 года конкуренция между Angular, React и Vue продолжает накаляться, и все больше разработчиков покидают проект Google. Что касается поставщиков коммерческих инструментов разработки, то будущее Vue выглядит светлым из-за того, как формируется сообщество.

Существует заметная тенденция к выбору Vue для одностраничных веб-приложений, но это может быть связано с преобладающими стилями разработки. На данный момент React может обрабатывать более сложные проекты, но это может измениться. Все, что требуется, — это один крупный технологический гигант, чтобы отстать от Vue и сравнять счет.

С каким фреймворком вы работаете и почему? Если у вас есть вопросы или комментарии, обязательно напишите их ниже.

Усильте свое развитие. Создавайте лучшие приложения.

Попробуйте инструменты GrapeCity для JavaScript и .NET

"Скачать сейчас!"

Первоначально опубликовано на www.grapecity.com.