В этой статье мы сравним две самые популярные веб-технологии в 2019 году, а также решаем их историю, ключевые различия, рекомендуемые основные языки (Tymdercript и JavaScript) и так далее. В целом, эти технологии намного легче разработать разработчики повторно использовать, рефакторировать и поддерживать код, разделив вещи в модули/компоненты.
Целью данной статьи является не найти лучшие технологии, но для сравнения, подсветки и уточнить несколько заблуждений. Мы также сосредоточимся на том, что важно вместо незначительных деталей, которые не имеют значения в долгосрочной перспективе.
Вы должны знать, что сравнение этих двух технологий не может быть полностью покрыто. Угловой поставляется с полной структурой (MVC), в то время как React представляет собой переднюю библиотеку с множеством пакетов с открытым исходным кодом для интеграции с.
Вопросы, которые должны быть адресованы
- Каковы ключевые различия между угловым и реагированным?
- Что делает Skyscript так особенным?
- Насколько популярны эти технологии?
- Какой текущий статус открытого источника?
- Какие технологии используют компании больше всего?
- Выполните ли статические напечатанные языки влияния кода качества и времени разработки?
Будущие разделы будут добавлены по требованию от комментариев.
Ключевые сравнения
Вот быстрое сравнение боковой стороны между угловым (слева) и реагированием (справа).
Одна вещь, которая действительно велика в реакции с точки зрения производительности, является виртуальным домом, который вы, вероятно, слышали о пару раз. Если нет, не волнуйтесь, я объясню это!
Проблема Допустим, вы хотите обновить дату рождения пользователя в блоке тегов HTML.
Виртуальный Дом Он только обновляет деталь, которая требуется, увидев различия между предыдущей и текущей версией HTML. Это похожий подход к тому, как GitHub работает при обнаружении изменений в файле.
Регулярное домо Он будет обновлять целую структуру дерева HTML-тегов, пока не достигнет даты рождения.
Почему это имеет значение?
Это может не иметь значения для этой проблемы, описанной выше. Однако, если мы имеем дело с 20-30 запросами асинхронных данных на той же странице (и для каждого запроса на страницу, мы заменим весь HTML-блок), он будет влиять на производительность, а также пользовательский опыт.
Нужно больше контекста? Проверить DACE ‘s статья!
Но сначала вернемся к началу …
История
Нам нужно знать немного истории (контекст), потому что оно дает представление о том, как все могут сформировать в будущем.
Хорошо, поэтому обратно в дни с ES4/ES5, кривая обучения для JavaScript была действительно высокой. Если вы пришли из мира Java, C # или C ++, в мире объектно-ориентированного программирования (ООП), то изучение JavaScript было просто не так интуитивно. Другими словами, это была боль в заднице.
Это не потому, что язык был плохо написан, но потому что у него другая цель. Он был построен для обработки асинхронной природы сети, таких как взаимодействие пользователей, связывание событий, переходы/анимации и так далее. Это другое животное с разными инстинктами.
Популярность
В качестве Google Trends выявляют, угловые и реагирующие являются двумя из самых популярных веб-технологий в 2019 году.
Угловой имеет больше поисковых хитов, чем реагирует, однако это не обязательно означает, что один лучше другого. Но это указывает на то, что люди находят интересным, то, что может быть причиной. Важно знать, что люди могут смешивать между ключевыми словами, такими как ангулярные или угловые, и, таким образом, приводят к более высоким поисковым хитам.
Одно наверняка – обе технологии растут, и будущее выглядит ярким. Это означает, что вам не нужно беспокоиться, если одна технология потерпит неудачу и оставит вас позади.
Важно, чтобы мы не пренебрегали историей с точки зрения того, что произошло между Angularjs и угловой, потому что история – это форма указания на то, что может произойти в будущем. Но если у вас есть опыт работы с угловым и ангугальям, то, скорее всего, посмотрим, почему решения были сделаны для лучшего. Просто упомянуть, что такие вещи могут случиться с любыми рамочными рамками, включая реагирование.
Открытый исходный код
React насчитывает более 100 000 звезд, а также 1200 участников, а также в 300 вопросах, ожидающих быть решенным.
React имеет преимущество с временем до рынка, поскольку он был выпущен за 3 года до углового времени. И это означает, что он столкнулся с большим количеством реальных проблем, прошел критические тесты, и в целом превратился в адаптируемую и гибкую переднюю библиотеку, которая много любви.
Когда дело доходит до углового, на первый взгляд, мы можем четко видеть, что угловой имеет в 6 раз больше вопросов, чем реагировать (не хорошо). Тем не менее, мы не должны забывать, что угловой – гораздо больший каркас, а также имеет меньше разработчиков, использующих его (в настоящее время), потому что он был выпущен в 2016 году.
Какие компании используют
React был первоначально разработан на Facebook для Facebook для оптимизации и ослабления разработки компонентов. Статья, написанная Chris Cordle указывает, что реагирование имеет более высокое использование на Facebook, чем угловой имеет в Google.
Так кто использует какую технологию?
# Реагировать
- Airbnb.
- Uber.
- Netflix.
- Instagram.
- Падение
# Угловой
- Eat24.
- CVS Shop
- onefootball
- Google Express.
- NBA
- Дельта
- wix.com
Tymdercript и JavaScript (ES6 +)
Как я уже упоминал, он может вводить в заблуждение только для сравнения угловых и реагировать, не фокусируясь на языке основного ядра, каждый подчеркивающий (согласно их документам).
С точки зрения пользовательской базы JavaScript превосходит. Но TypeScript быстро увеличивается, поэтому кто знает, что принесет 10-15 лет.
Shummentcript популярность за последние 5 лет
Популярность JavaScript за последние 5 лет
JavaScript VS ShameScript популярность за последние 5 лет
Teadercript изначально разработана Microsoft для облегчения JavaScript (другими словами, чтобы сделать ES5 проще). Он был выпущен в октябре 2012 года. И это просто транспортер, который компилирует Typescript на код JavaScript, что также означает, что вы можете написать код ES5 в файле TeampStry. Teadercript называется суперсом JavaScript.
В целом, TypeScript предлагает плавный переход для программистов с объектно-ориентированным фоном программирования (OOP). Важно отметить, что TypeScript был выпущен в период ES5, и в течение этого времени ES5 не был языком OOP на основе класса.
Короче говоря, ближе всего вы можете прийти к классам и объектам обратно, было через прототип наследования. И как мы знаем, это был сложный переход для большинства разработчиков с фоном ООП. Таким образом, идеальное решение было, конечно, выбрать то, с чем вы чувствовали себя комфортно и знакомы, что, вероятно, напечатает.
Однако в последние годы JavaScript развивался и внедрил множество больших изменений, таких как модули, классы, операторы распространения, функции стрелки, шаблонные литералы и так далее. В целом, это позволяет разработчикам писать декларативный код, поддерживая характеристики истинного языка OOP (то есть, включая структуру на основе классовых).
Статически и динамически напечатанные языки
Статически набранный язык в основном означает, что вы можете определить тип переменного (строка, номер или массив и т. Д.). Вы можете спросить, почему это важно. Вот настоящая мировая аналогия, которую я настроил (творчество в лучшем виде).
Допустим, вы хотите заправить свою машину с газом. Одна вещь, которая важна, – это топливо с правильным газом – бензином или дизелем. И если вы не знаете, вам может потребоваться купить новую машину.
Конечно, тяжесть не похоже на то, что с кодировкой, однако, в некоторых случаях это может быть. Думаю об этом. Если вы работаете с большим приложением, вы хотите узнать аргумент и тип свойств, который пропускается, в противном случае вы можете сломать код.
Хорошо, так что если вы все еще запутались, что означает статически набранные, проверьте это:
Статическое набранное свойство
Статический набранный аргумент
Я узнал, что многие люди считают, что статически напечатанный язык означает надежный код, и чаще всего используется в качестве выигрышащего аргумента над динамически напечатанными языками. И, честно говоря, это довольно сложно опровергнуть это заявление, потому что он принципиально зависит от среды развития, опыт программистов и, конечно, требования к проекту.
К счастью, исследование (TL; DR VIDEO ) Серьезно взял это серьезно, и поставил этот миф, чтобы проверить с 49 субъектами.
Наблюдения от исследования:
- Статически напечатанный язык требует больше времени из-за фиксации ошибок опечатки
- Динамически напечатанный язык читается и легче написать (декларативный код)
На рисунке 5 показано, что в среднем разработчики сокращают свое время разработки в два раза при записи динамически напечатанного языка.
Если вы хотите добиваться глубже в эту тему, я предлагаю прочитать эту статью Эриком Эллиоттом, который заявляет, что вам не понадобится Typlection (или статически напечатанные языки).
Что выбрать
Таким образом, вопрос находится не только о том, какие угловые или реагированные предложения, но и о том, на каком языке ядра вы должны инвестировать время на. И это не имеет значения, пока вы выбираете то, что соответствует вашим требованиям и сложности.
Если вы не являетесь вентилятором типов, то в вашем способе написания кода ES6 нет ничего нет. Это просто, если вам это нужно, то это там.
Но если вы создадите довольно большое преимущественное предельное приложение с угловым динамиком со многими HTTP-запросами, то наличие типов действительно помогает с такими вопросами, как «какой тип объекта, в каких полях я могу использовать, и какой тип это поле etc» Отказ Он отлично работает для сотрудничества и уточнения мелких вещей.
Вот простое сравнение классов-объектов между TS и JS (ES6).
ИМО
Статически типизированные чувствуют структурированные, безопасные, читаемые и легко сотрудничать с другими (предотвращает прохождение неожиданных ценностей). Однако при работе с динамически набираемым, у меня есть гибкость и творчество, чтобы сосредоточиться больше на создании, чем думать много о типах, интерфейсов и дженериках и так далее.
А из прошлых веб-приложений я построил, у меня не было никаких больших проблем, не имеющих статических набранных. Это не значит, что мне это не нравится – Я просто что мне это не нужно, но, возможно, я делаю в будущем.
Вот обновление – в настоящее время я работаю с несколькими разработчиками Microsoft для создания приложения с использованием угловой структуры. Причина, по которой мы выбрали угловую, это потому, что большинство пакетов уже определены, и документация для всего находится в одном месте. Он также подчеркивает на TymerctScript, который является идеальным выбором, потому что большинство Devs имеют уже много опыта с объектно-ориентированным программированием.
С другой стороны, я видел подобные приложения, с которыми мы работаем со встроенным в реакции. Таким образом, в целом оба являются мощными инструментами, и в основном полагаются на то, как вы устанавливаете архитектуру.
Заметка на вынос
- Shotescript – это просто транспортер, его можно использовать с реагированием или любые другие рамки JS
- Реагируйте обрабатывает управление памятью эффективно (виртуальный дом)
- React использует JavaScript (ES6), распознанный веб-язык с 1995 года
- Угловой использует TeampScript, выпущенные в 2012 году
- Статически напечатанный язык великолепен, но это не обязательно
- Динамически напечатанные языки требуют меньше времени для записи и большей гибкости для использования творчества
- Изучение статически напечатанного языка может быть проблемой, особенно если вы работаете только с динамически напечатанными языками
- ES6 реализовал множество отличных функций, таких как модули, классы, оператор по распространению, функции стрелки, шаблонные литералы, которые позволяют писать меньше, очиститель и более структурированный код (синтаксический сахар)
- TS просто ES6 + с типами и гораздо больше
Заключение
Рамочная/компонент-библиотека, которую вы выбираете, могут влиять на то, сколько времени вы проводите программирование и ваш бюджет. Если у вас есть команда с разработчиками C #, Java или C ++, я бы, вероятно, пошел бы на угловой, поскольку Skyscript разделяет множество сходств с этими языками.
Лучшая рекомендация, которую я могу предложить, – это настроить базовое приложение как в угловых, так и в реакции, а затем оценивать язык и рабочий поток, прежде чем принимать решение.
Как упоминалось ранее, обе технологии имеют свой собственный набор преимуществ и сходств, и это действительно сводится к Какие требования предложены приложения, сложность и уровень опыта у разработчиков.
Вот несколько статей, которые я написал о веб-экосистеме вместе с личными советами по программированию и хитростям.
- Хаотичный ум приводит к хаотическому коду
- Разработчики, которые постоянно хотят выучить новые вещи
- Практическое руководство по модулям ES6
- Изучите эти основные веб-концепции
- Повысить свои навыки с этими важными методами JavaScript
- Программа быстрее, создавая пользовательские команды Bash
Вы можете найти меня на среднем, где я публикую еженедельно. Или вы можете следовать за мной на Twitter Откуда я публикую соответствующие советы по разработке веб-разработки вместе с личными историями.
Слияние Если вы наслаждались этой статьей и хотите больше, пожалуйста, хлопайте ❤ и поделитесь с друзьями, которые могут понадобиться, это хорошая карма.
Оригинал: “https://www.freecodecamp.org/news/a-comparison-between-angular-and-react-and-their-core-languages-9de52f485a76/”