Разработка сайтов дело не лёгкое, а уж тем более основанных на блокчейне. Без дополнительных программ, облегчающих часть работы, совсем не обойтись. Их называют фреймворками. Для тех кто не знает, фреймворк - это программное обеспечение для разработки, облегчающее и ускоряющее создание и комбинирование разных элементов серьёзного(по размерам) программного проекта.
Существует множество различных фреймворков, созданных для решения различных задач, однако, не смотря не летящее время, самыми популярными все же являются Angular и React. В этой статье мы сравним две самых популярных веб-технологии, а также рассмотрим историю их возникновения, ключевые различия, основные языки программирования на которых они основываются (TypeScript и JavaScript).
В целом, эти технологии значительно упростили разработчикам повторное использование, рефакторинг и поддержку кода, разделив их на модули и компоненты. Цель этой статьи - не найти трендовую технологию, а сравнить, выделить и прояснить несколько заблуждений. Мы также сосредоточим внимание на важных моментах, а не на мелких деталях, которые не имеют большого значения в долгосрочной перспективе.
Предупредим заранее, что полное сравнение этих двух технологий невозможно ввиду их разнородной функциональности. Angular имеет полную каркасную структуру (MVC), а React - это фронтовая библиотека с множеством пакетов с открытым исходным кодом для интеграции. Если вы хотите стать одним из лучших веб-разработчиков, начать свой собственный бизнес, научить других или просто улучшить свои навыки разработки, вам обязательно необходимо обуздать эти две технологии - Angular и React.
Ниже приведено краткое сравнение между Angular и React.
Виртуальный DOM. Он обновляет только ту часть, которая требуется для просмотра различий между предыдущей и текущей версией HTML. Точно такой же подход использует GitHub при обнаружении изменений в файлах.
Обычный DOM Он обновит всю древовидную структуру тегов HTML до тех пор, пока не достигнет даты рождения.
Почему это имеет значение? Это может не иметь значения для проблемы, описанной выше. Однако, если мы имеем дело с 20-30 асинхронными запросами данных на одной странице (и для каждого запроса страницы мы заменяем весь блок HTML), это будет влиять на производительность, а также на впечатление пользователя от сайта.
Для начала немного истории, так как это поможет нам понять, что будет с веб технологиями в будущем. React был разработан Джорданом Уокером в 2013 году, сейчас поддерживается Facebook, Instagram и некоторыми менее крупными организациями. Новый Angular (без «JS») был анонсирован в 2016 году, как наследник своей неудачной первой версии, которая была выпущена в 2009 году, а популярна и сейчас.
Мы не будем вдаваться в подробности того, что именно произошло между Angular и AngularJS, мы уверены, что есть много доступных ресурсов, где вы можете найти информацию об этом всем. Но, короче говоря, Google заменил AngularJS на Angular и JavaScript на TypeScript. Если вы пришли из мира Java, C # или C++, мира объектно-ориентированного программирования (OOP), то изучение JavaScript не было интуитивным занятием.
Другими словами, это была заноза в заднице, вытащить которую можно было только изучив новые технологии, новый программный язык. Дело не в том, что язык программирования, который использовался, был несовершенным или убогим, дело в том, что он имеет другую цель. Он был построен для обработки асинхронного характера Интернета, например, для взаимодействия с пользователями, привязки событий, переходов / анимации и тому подобному.
Как показывают Google Trends, Angular and React - две из самых популярных веб-технологий в 2017 и 2018 годах, а также по прогнозам аналитиков и в 2019-2020.
React имеет более 100 000 кодов и 300 уже готовых решений для современных проблем. React имеет преимущество во времени поскольку он был выпущен на рынок за 3 года до появления Angular. И это означает, что он столкнулся с множеством реальных проблем, прошел критические тесты и в целом превратился в гибкую и удобную открытую библиотеку, которую многие любят.
Angular имеет в 6 раз больше готовых решений различных проблем чем React, является намного большей структурой и имеет меньшее количество разработчиков использующих его, так как был выпущен на 3 года позже своего оппонента.
Преимущества Angular
Недостатки Angular
За и против ReactJS
ReactJS - это библиотека JavaScript, созданная Facebook в 2013 году, она превосходно подходит для создания масштабных веб-приложений, где данные могут меняться на регулярной основе.
Преимущества React
Недостатки ReactJS
React JS требует огромное количество знаний в том как интегрировать пользовательский интерфейс в структуру MVC. React - это крутая, гибкая библиотека решений для создания интерфейса, придуманная и поддерживаемая Facebook. Это один из самых известных проектов с открытым исходным кодом, который сегодня используется многими другими компаниями, такими как Instagram, Yahoo, WordPress, Walmart, и этот список можно продолжить.