Подтвердить что ты не робот

Flux + React vs Backbone + React

В чем преимущества Flux + React Over Backbone + React. Существуют ли различия в производительности в дополнение к легкости разработки кода для огромной комплексной базы кода.

Что делать, если у нас есть соотношение 1:1 между моделью и реактивным представлением в приложении, использующем Backbone + React?

4b9b3361

Ответ 1

Flux - это шаблон архитектора для создания приложения React. Таким образом, вы можете использовать модели и коллекции Backbone внутри своих магазинов для извлечения и хранения данных.

И если вы хотите использовать только функцию React Virtual DOM, нет необходимости использовать response.js. В вашем приложении много библиотек, добавив функцию Virtual DOM (https://github.com/Matt-Esch/virtual-dom).

Моя рекомендация: если вы будете использовать шаблон потока, я настоятельно рекомендую вам использовать http://facebook.github.io/immutable-js/ (может быть в сочетании с http://ampersandjs.com/, не забудьте определить свою настраиваемую функцию синхронизации, если вы создаете изоморфное приложение). В принципе, нет никаких преимуществ с использованием базовых моделей с React (магистраль тяжелая, она требует подчеркивания, что происходит медленно, вместо этого я использую https://lodash.com/).

Ответ 2

Хранилища IMHO Flux не являются несовместимыми с моделями/коллекциями Backbone. Возможно, вы можете использовать коллекции Backbone в качестве хранилищ Flux, если вы их интегрируете с диспетчером Flux, и вы разрешаете им генерировать событие для запуска рендеринга.

Я просто не уверен, что модели Backbone должны быть неизменяемыми структурами данных, что делает его более трудным для оптимизации рендеринга.

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

Где должен быть выполнен запрос ajax в приложении Flux?

Ответ 3

Одна из приятных вещей в React заключается в том, что он агностик - вы можете использовать его с Backbone-моделями и коллекциями без проблем.

Flux - предлагаемая архитектура, но я думаю, что модель настолько сильно расходится с MVC, что в конце концов не стоит пытаться использовать их оба - использовать React with Flux OR React с моделями и коллекциями Backbone.

Я бы не рекомендовал использовать модели/коллекции Backbone в качестве магазинов Flux - это не одно и то же. Основная причина заключается в том, что хранилище флюсов не может быть изменено извне - оно не обеспечивает сеттеров. Хранилище Flux мутирует его собственное состояние в ответ на действия. И даже если вы будете следовать методу "Flux" с использованием моделей Backbone в качестве магазинов, ваш код все еще имеет открытые возможности для прямого управления состоянием из-за пределов магазина, которые могут быть неправильно использованы другими членами команды, например...

Ответ 4

Коллекция моделей базовых моделей является изменчивой, а реакция стоит на теме, неизменности. Итак, технически использование Backbone + React делает Anti Pattern. Я использовал как реактивную + скелет, так и реакцию + поток. Я определенно предпочитаю реагировать + поток над другими.

Ответ 5

+1 Ветренко Максим отвечает за интеграцию магистрали и шаблона архитектуры. Flux - это шаблон потока данных для приложений React и может использовать любые структуры хранилища данных/модели, которые вы хотите.

Преимущества использования Flux + React:

  • Более легкое понимание потока данных
  • Улучшенная организация кода
  • упрощение отладки данных с помощью моделей
  • разделять хранилище данных/код модели из представлений

Существует несколько модельных рамок, я предпочитаю www.js-data.io для React + Flux.

Ответ 6

Flux - это архитектурный шаблон, который обеспечивает одно направленный поток данных. Шаблон потока является общим и не является специфичным для приложений React. С Flux будет предотвращен плохо определенный поток данных и отсутствие целостности данных.

Если вы будете выбирать Backbone, вы можете объединить эти два, если знаете, когда использовать способ Flux и Backbone.