Как человек, использующий javaScript всего несколько месяцев, я провел много исследований и по ходу дела встретил множество сокращений - MEAN, NPM, MVC и SPA - и это лишь некоторые из них. Я также столкнулся с новыми библиотеками и фреймворками, такими как Vue, Angular, React. Как изучающий React, я немного знаю о нем как о библиотеке, однако мне также не терпится узнать больше об Angular и Vue.

Причина моего любопытства проста - многим разработчикам нравится обсуждать эти три аспекта в конкурентной среде, например, какой из них наиболее популярен (среди разработчиков)? Какой из них используется наиболее широко, и какой из них предоставит разработчикам больше всего возможностей трудоустройства? Это сообщение в блоге является результатом моего собственного исследования, чтобы ответить на эти три вопроса, но, во-первых, некоторые основы каждого из них.

  1. React, React.js, ReactJS, React Native

React - это библиотека javascript для создания онлайн-веб-интерфейсов / веб-сайтов. Он был создан Джорданом Уолком, инженером Facebook, в 2011 году и в основном используется для создания одностраничных приложений или SPA. Он поддерживается Facebook и сообществом компаний и отдельных разработчиков.

Впервые он был развернут в новостной ленте FB в 2011 году и в Instagram в 2012 году. React Native для мобильных операционных систем был выпущен в 2015 году, и React твердо ориентирован на разработку интерфейса пользователя и поэтому обычно используется вместе с другими инструментами в для создания приложений. Вот некоторые из его примечательных особенностей:

Критика * - он имеет высокие требования к памяти (RAM), поскольку использует концепцию «Virtual DOM». Здесь «представление пользовательского интерфейса хранится в памяти и синхронизируется с« реальной »DOM библиотекой, такой как ReactDOM».

ReactJS - это библиотека, в которой есть представление, но отсутствуют компоненты модели и контроллера.

2 . Angular, AngularJS

AngularJS - это веб-фреймворк, первоначально разработанный в 2009 году Мишко Хевери из Brat Tech LLC и интерфейсный веб-фреймворк, который в основном поддерживается Google. Последующие версии, следующие за AngularJS, просто известны как Angular. Angular - это полностью переписанный продукт той же команды, которая создавала AngularJS.

Как и React, он был построен, чтобы упростить создание одностраничных приложений. Он также призван упростить создание архитектурных шаблонов, таких как MVC и Модель – представление – модель представления (MVVM). В отличие от React, он использует систему прямого рендеринга DOM.

AngularJS - это внешняя часть стека MEAN, состоящая из базы данных MongoDB, серверной среды веб-приложений Express.js, самого Angular.js и среды выполнения сервера Node.js. Примечательные особенности включают в себя:

  • Односторонняя и двусторонняя привязка данных - двусторонняя привязка данных помогает нам писать меньше шаблонного кода для создания взаимодействия между компонентами (представлением и моделью). Но Angular автоматически создает наблюдателя для каждой привязки, и мы можем прийти к точке, когда приложение упаковано слишком большим количеством наблюдателей для связанных элементов.
  • Архитектура на основе MVC и MVVM
  • Разделение кода - приложения Angular быстро загружаются с помощью нового маршрутизатора компонентов, который обеспечивает автоматическое разделение кода, поэтому пользователи загружают только код, необходимый для рендеринга запрашиваемого представления.

Критика * «AngularJS устанавливает парадигму цикла дайджеста. Этот цикл можно рассматривать как цикл, во время которого AngularJS проверяет, есть ли какие-либо изменения во всех переменных, за которыми следят все $scopes. Если $scope.myVar определен в контроллере и эта переменная отмечена для просмотра, Angular будет отслеживать изменения myVar на каждой итерации цикла.

Такой подход потенциально приводит к медленному рендерингу, когда AngularJS проверяет слишком много переменных в $scope каждом цикле. Мишко Хевери предлагает держать на любой странице менее 2000 зрителей ».

* Источник - Википедия

3. Vue.js

Выпущенный в 2014 году, как и React и Angular, Vue разработан как интерфейсная среда разработки для создания одностраничных приложений.

Vue был создан китайским сотрудником Google по имени Эван Ю, который после использования Angular захотел более легкую версию, в которой использовались бы только те части, которые ему нравились. Примечательные особенности включают в себя:

  • Легкий виртуальный DOM - более эффективен, чем React, который, как говорят, обеспечивает более высокую производительность
  • Двусторонняя привязка данных - Vue.js автоматически синхронизирует всю модель с DOM.
  • Чистый JavaScript - Vue.js использует чистый JavaScript, поэтому разработчикам JS не нужно изучать новый язык программирования.
  • HTML-шаблоны - как и React, Vue имеет компоненты, но по умолчанию они работают с HTML-шаблонами, а не с JSX. Главное преимущество шаблонов в том, что вы пишете чистый HTML. Но при желании можно использовать JSX.

Многие разработчики считают, что Vue сочетает в себе лучшие элементы React и Angular в легком фреймворке.

Использование разработчика

Спрос на работу

Резюме

Angular и React - совершенно разные инструменты, но оба отлично подходят для написания одностраничных приложений. Что лучше, вероятно, будет зависеть от ваших предпочтений.

Хотя он не поддерживается западными технологическими гигантами, Vue часто используется китайскими гигантами, такими как Alibaba, Baidu, Tencent, и поэтому, хотя в настоящее время он менее популярен, существуют огромные возможности для роста.