React против Angular: почему React намного популярнее?
Как вы выбираете между этими двумя популярными интерфейсными фреймворками? Начните с рассмотрения их производительности и того, как они кодируют.
Angular и React популярны при разработке веб-приложений. Однако в последнее время популярность React выросла больше, чем популярность Angular.
Давайте посмотрим на производительность, скорость, раздувание и детали кода каждого фреймворка, а также на то, как это могло повлиять на их популярность.
Что такое угловой?
Angular — популярная платформа веб-разработки, которую можно использовать для создания динамических веб-приложений или одностраничных приложений. Впервые он появился в 2010 году как AngularJS и превратился в Angular 2 в 2016 году.
Как и многие другие фреймворки, Angular интенсивно использует компоненты. По сути, это повторно используемые HTML-элементы, которые вы можете создавать. Затем вы можете импортировать и использовать эти пользовательские элементы на нескольких страницах вашего приложения.
Компании, использующие Angular, включают Nike, UpWork, Forbes, HBO, Sony и Google. Популярные приложения, созданные с использованием Angular, включают PayPal, Upwork, Microsoft Office Home и Overleaf. Несколько продуктов Google, включая Google Voice и Gmail, также используют эту платформу.
Что такое Реагировать?
React — это библиотека JavaScript, также используемая для разработки веб-приложений. Как и Angular, React также основан на использовании компонентов.
Каждый компонент управляет состоянием своих данных и повторно отображает приложение на основе изменений этих состояний. Это делает React очень хорошим для создания приложений с динамическими, постоянно меняющимися данными.
Многие компании, занимающиеся социальными сетями, используют React, включая Facebook, Instagram и Skype. Среди других компаний, создавших приложения с использованием React, — Uber, AirBnB, Netflix и Amazon.
Популярность между React и Angular
Как видно на странице React на Github, у React 185 000 звезд, более 1500 участников и более 9,5 миллионов пользователей. Страница Angular на Github показывает 80 500 звезд, более 1500 участников и более 2,2 миллиона пользователей.
По словам Сина, Хуанга и Лая, React было скачано 9,2 миллиона раз по сравнению с Angular 2 с 2,6 миллионами загрузок по состоянию на май 2018 года.
Хотя обе платформы имеют свои сильные стороны, эти данные показывают, что React является более популярным из двух. Эти две платформы по-разному обрабатывают такие вещи, как производительность, структура приложения или импорт модулей. Такие различия могут помочь объяснить их популярность.
Язык
Angular использует комбинацию HTML, CSS и TypeScript. Файлы HTML отображают элементы пользовательского интерфейса, CSS содержат стили, а TypeScript содержит логику кода.
React использует JavaScript и CSS. Файл JavaScript может содержать логику кода, представляющую компонент. Компонент также может иметь соответствующий файл CSS.
В файле JavaScript вы можете вернуть HTML-код, связанный с этим компонентом.
Модули и импорт
Вы можете установить и настроить Angular с помощью инструмента Angular CLI. Вам также потребуется установить Node.js. Во время этого процесса вы можете настроить приложение для включения маршрутизации, типа StyleSheet или даже Bootstrap.
Приложение Angular поставляется с несколькими готовыми модулями. Хотя это делает приложение более раздутым, это также означает, что оно предлагает больше функций по умолчанию, которые вам не нужно устанавливать отдельно.
React также требует Node.js. Вы можете запустить простую команду в командной строке, чтобы создать приложение React.
После этого вам придется вручную добавить любые дополнительные модули, которые вам нужны. Это гарантирует, что в приложении будут только те модули, которые вам нужны, что делает его менее раздутым, чем Angular.
Кривая обучения
Angular имеет особую структуру с точки зрения использования TypeScript и собственных функций Angular. Это означает, что если вы хотите изучить Angular, вам также необходимо изучить сам язык TypeScript, а также инфраструктуру Angular.
TypeScript и JavaScript очень похожи по синтаксису. Однако Angular имеет особую структуру, которой следует в файле TypeScript. Например, он определяет собственный порядок выполнения кода, используя функции AfterViewInit или ngOnInit.
С помощью React разработчики, уже знающие JavaScript, могут сразу приступить к созданию веб-приложений. Кривая обучения React в основном включает понимание того, как работает управление состоянием.
Скорость и производительность
React загружает приложение в браузере быстрее по сравнению с Angular. Это связано с тем, что он использует виртуальный DOM, более легкую реализацию, которая просто генерирует элементы DOM на основе написанных вами компонентов.
Шкала
По словам Сина, Хуана и Лая, React подходит для веб-приложений малого и среднего масштаба. Однако Angular может оказаться очень мощным инструментом, когда дело касается более крупных и сложных приложений.
Они также предполагают, что, хотя Angular более сложен в освоении, дополнительные функции, которые он предоставляет, могут сделать его более подходящим для более крупных коммерческих проектов. Сюда могут относиться проекты, требующие от разработчиков решения сложных бизнес-задач.
Конкретная реализация кода
И Angular, и Reach имеют свои уникальные особенности.
Angular предоставляет вам возможность использовать встроенные структурные директивы, такие как *ngIf или *ngFor. Интересный пример: вам нужно добавить цикл for внутри HTML-файла, чтобы создать div для каждого пользователя.
<div *ngFor="let item of array"></div>
React использует управление состоянием. Каждый компонент управляет состоянием данных и повторно отображает приложение на основе изменений в этих состояниях.
const [item, updateItem] = useState([]);
Привязка данных
React использует одностороннюю привязку, что означает, что вы можете передавать данные только в одном направлении (данные либо передаются из логики кода в элементы HTML, либо наоборот).
<Row title="Website" fetchUrl={requests.url} />
Angular использует двустороннюю привязку данных, что означает, что вы можете передавать данные как из файла HTML в файл TypeScript, так и наоборот, используя одну переменную. Это может быть очень полезно для сложных приложений.
<input [(value)]="someValue" type="text">
export class AppComponent {
someValue = "defaultValue"
}
Единственное предостережение заключается в том, что Angular постоянно следит за обновлениями в обоих файлах. Это увеличивает время загрузки и рендеринга. Объем данных, которые Angular необходимо проверить, увеличивается с увеличением сложности приложения.
Непреходящая популярность React
И React, и Angular популярны, когда дело доходит до разработки веб-решений. Оба имеют свои сильные стороны и специфические функциональные возможности.
Сам Angular может потребовать большего, чтобы понять и начать работу. Тем не менее, это может быть чрезвычайно мощный инструмент, когда дело доходит до веб-разработки.
React кажется самой простой и быстрой платформой, которую вы можете использовать, чтобы начать создавать веб-приложения. Вероятно, это основная причина, по которой она считается платформой разработки с наибольшим количеством загрузок и самым высоким уровнем использования.