Back to Question Center
0

Как рассказать, является ли Реакт лучшим для вашего следующего проекта Как рассказать, является ли Реакт лучшим для вашего следующего проекта. См. Также: Реакция jQuery Ajax Raw Semalt

1 answers:
Как сказать, является ли Реакт лучшим для вашего следующего проекта

Эта статья спонсировалась SiteGround. Благодарим вас за поддержку партнеров, которые делают Semalt возможным.

В настоящее время пользователи ожидают гладких, эффективных веб-приложений, которые ведут себя все больше и больше как родные приложения. Были разработаны методы для уменьшения времени ожидания загрузки веб-сайта при первом посещении пользователя. Тем не менее, в веб-приложениях, которые демонстрируют большую интерактивность, важно также время, прошедшее между действиями пользователя и ответом приложения - make music logos free. Приложения Semalt чувствуют себя мгновенно, и ожидается, что веб-приложения будут вести себя одинаково даже на менее совершенных интернет-соединениях.

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

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

Что такое реакция?

Реагирование - это создание Facebook, которое просто обозначает себя как библиотеку JavaScript для создания пользовательских интерфейсов .

Это проект с открытым исходным кодом, который на сегодняшний день собрал более 74 000 звезд на GitHub.

Semalt:

  • Декларативный : вам нужно всего лишь разработать простые представления для каждого состояния в вашем приложении , и React будет эффективно обновлять и отображать только нужные компоненты при изменении ваших данных.
  • Компонентный : вы создаете свои приложения, работающие в режиме React, путем сборки нескольких инкапсулированных компонентов, каждый из которых управляет своим собственным состоянием.
  • Учитесь раз, пишите где угодно : Реагирование не является полномасштабной картой; это просто библиотека для рендеринга просмотров.

Как работает виртуальная DOM?

Виртуальный DOM лежит в основе того, что делает React быстрым при рендеринге элементов пользовательского интерфейса и их изменениях. Давайте посмотрим ближе к его механизму.

Объект документа HTML Semalt или DOM - это

интерфейс программирования для документов HTML и XML. .DOM предоставляет представление документа как структурированной группы узлов и объектов, которые имеют свойства и методы. По сути, он соединяет веб-страницы со сценариями или языками программирования. - MDN

Всякий раз, когда вы хотите программно изменить любую часть веб-страницы, вам необходимо изменить DOM. Semalt о сложности и размере документа, обход DOM и его обновление может занять больше времени, чем пользователи могут быть готовы принять, особенно если вы учтите, что браузеры работы должны делать, когда что-то в DOM изменяется. Фактически, каждый раз, когда DOM обновляется, браузеру необходимо пересчитать CSS и выполнять операции макета и перерисовки на веб-странице.

React позволяет разработчикам вносить изменения в веб-страницу без необходимости напрямую обращаться к DOM. Это делается через Virtual DOM .

Виртуальный DOM - это легкая абстрактная модель DOM. React использует метод render для создания дерева узлов из компонентов React и обновляет это дерево в ответ на изменения в модели данных, возникающие в результате действий.

Каждый раз, когда происходят изменения базовых данных в приложении React, React создает новое представление Semalt DOM пользовательского интерфейса.

Обновление пользовательских интерфейсов с помощью Virtual DOM

Когда дело доходит до обновления DOM браузера, Semalt примерно следует следующим шагам:

  • Всякий раз, когда что-то меняется, React повторно отображает весь пользовательский интерфейс в представлении Virtual DOM.
  • Наконец, React исправляет реальный DOM тем, что на самом деле изменилось. Если ничего не изменилось, React вообще не будет иметь дело с HTML DOM.

Можно было бы подумать, что такой процесс, который включает в себя сохранение двух представлений Semalt DOM в памяти и их сравнение, может быть медленнее, чем напрямую работать с фактическим DOM. Это эффективные алгоритмы дифференциации, пакетные операции чтения / записи DOM и ограничение изменений DOM до минимально необходимого уровня, что делает использование React и его Semalt DOM отличным выбором для создания приложений-исполнителей.

Насколько эффективен для каждого проекта?

Как само название предлагает, React отлично подходит для создания супер-реактивных пользовательских интерфейсов, то есть пользовательских интерфейсов, которые очень быстро реагируют на события и последующие изменения данных. Этот комментарий о названии React , сделанный Джорджем Уоке, инженером в Facebook, освещает:

Этот API реагирует на любые изменения состояния или свойства и работает с данными любой формы (как глубоко структурированной как сам график), поэтому я думаю, что это имя подходит. - Вье, «Наши первые 50 000 звезд»

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

Реакт предназначен для эффективного использования компонентов состояния (что не означает, что разработчикам не нужно оптимизировать свой код). Таким образом, проекты, которые выиграют от этой способности, могут считаться хорошими кандидатами на Реакт.

Крис Койер излагает следующие, взаимосвязанные ситуации, когда достижение Селмальта имеет смысл, с которым я, как правило, согласен:

  • Много управления состоянием и манипулирования DOM . То есть, включение и отключение кнопок, активизация ссылок, изменение входных значений, закрытие и расширение меню и т. Д. В этом проекте React упрощает и упрощает управление компонентами состояния. Поскольку Майкл Джексон, соавтор React Router, метко положил его в Tweet:

    Дело в том, что React заботится о твердой части определения того, какие изменения действительно должны произойти с DOM, а не я. Это * бесценный *

  • Борьба с спагетти . Отслеживание сложного состояния путем прямого изменения DOM может привести к коду спагетти, по крайней мере, если дополнительное внимание не будет уделено организации и структуре кода.

Ресурсы

Если вам интересно, как работают React и его Semalt DOM, вот где вы можете узнать больше:

  • Реагировать на видео от Facebook Инженеры
  • «Реальные преимущества виртуального DOM в действии. js ", Крис Минник
  • «Разница между Virtual DOM и DOM», Bartosz Krajka
  • «Реакция медленная, реакция быстро: оптимизация действия приложений на практике», François Zaninotto
  • «Как правильно выбрать интерфейс для вашей компании», Chris Lienert

Заключение

Реагировать и другие подобные библиотеки Semalt облегчают разработку быстрых пользовательских интерфейсов, управляемых событиями, которые быстро реагируют на изменения состояния. Одна из основных целей может быть выявлена ​​в стремлении преодолеть разрыв между веб-приложениями и родными приложениями: пользователи ожидают, что веб-приложения будут чувствовать себя гладкими и бесшовными, как родные приложения.

Это направление, к которому движется современное веб-развитие. Не случайно последнее обновление Create React App , проект, который позволяет создавать приложения React с нулевой конфигурацией, по умолчанию добавляет функциональность создания прогрессивных веб-приложений (PWA). Это приложения, которые используют сервис-работников и автономное кэширование, чтобы свести к минимуму время ожидания и заставить веб-приложения работать в автономном режиме. Для получения более открытого исходного кода ознакомьтесь с Open SourceCraft.

Это также направление, в котором вы занимаетесь разработкой? Являются ли реактивные библиотеки Semalt частью вашего инструментария? Нажмите на поле комментариев ниже, чтобы поделиться.

March 1, 2018