Различия между FireBase, Loopback и Redux

1538
react-newbie

Я хочу разработать веб-приложение, а затем и соответствующие приложения для Android / IOS. До сих пор я решил только внешний интерфейс, для которого я хочу использовать реакцию и реакцию нативных для мобильных устройств.

Для остальной части технологического стека я рассматриваю использование meteor.js, в этом случае исправьте меня, если я ошибаюсь, мне не понадобится другая технология.

Однако я также смотрю на альтернативы и некоторые вещи, о которых я читал, такие как loopback, firebase и redux. Я довольно новичок во всем этом, поэтому я знаю, что это, вероятно, сравнение яблок с апельсинами, но я не совсем уверен, что каждый из них будет делать для меня, и если это будет или / или ситуация или если бы я сочетал некоторые из них? Redux звучит так, как будто он может вписаться в рабочий процесс meteor.js?

Подводя итоги, было бы замечательно, если бы кто-нибудь объяснил мне, как все они сочетаются друг с другом и какие комбинации имеют смысл в качестве технологического стека.

1
Это хороший вопрос. Однако stackoverflow специально предназначен для вопросов кодирования, поэтому этот вопрос не вписывается в сферу. Пожалуйста, смотрите [Хорошие темы] (http://stackoverflow.com/help/on-topic). При этом вам действительно нужно создать код для каждой из упомянутых вами платформ. Без примера кода мы не сможем узнать, что подойдет для вашего варианта использования. Я бы предложил создать простое приложение со списком дел, чтобы увидеть, вписывается ли каждая платформа в сферу вашего проекта. 7 лет назад 0

1 ответ на вопрос

2
Sugandh Khanna

Firebase:

Firebase работает следующим образом: один или несколько пользователей подписываются на некоторые данные, потому что они заинтересованы в информации.

Сервер отслеживает эти подписки. Как только новая подписка происходит, некоторые данные отправляются обратно как сообщение.

Когда один клиент записывает некоторые данные, сервер pub / sub передает это обновление всем другим активным подпискам.

Все работает как паб / саб, поэтому не существует такого понятия «запрос». Вы просто говорите, что вас интересует, затем вы получаете сообщения, которые описывают данные.

Pros

  • Если ваше приложение выполняет централизованную БД и обновляется многими пользователями, оно более чем способно обрабатывать обновления данных в реальном времени между устройствами.
  • Хранится в облаке, так легко доступны везде.
  • Кроссплатформенный API (если вы используете эту БД с приложением).
  • Они содержат данные, а это означает, что если вы храните много данных, вам не нужно беспокоиться об оборудовании!

Минусы:

  • Если ваше приложение не запускает одну централизованную базу данных, обновленную огромным количеством пользователей, это является серьезным излишним.
  • Формат хранилища полностью отличается от формата SQL (Firebase использует JSON), поэтому вы не сможете легко выполнить миграцию.
  • Инструменты отчетности не будут похожи на стандартные SQL.
  • Стоимость! Ограничено до 50 подключений и 100 МБ памяти!
  • Вы не размещаете данные. Firebase делает. В зависимости от того, на каком сервере вы работаете, в последнее время при просмотре может возникнуть много сбоев.

Redux

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

Loopback

Pros

  • Очень быстрая разработка RESTful API
  • Соглашение по конфигурации
  • Встроенные модели готовы к использованию
  • Поддержка RPC
  • Полностью настраивается при необходимости
  • Обширная документация
  • Полная команда, работающая над проектом
  • Доступна коммерческая поддержка
Советы: StackOverflow использует Markdown для форматирования, он действительно мощный. Вы можете прочитать об этом в [Справочном центре] (http://stackoverflow.com/help/formatting). Я отредактировал ваш пост, чтобы показать вам, насколько он понятнее. Кроме того, вы разместили две ссылки, это хорошая идея, чтобы добавить короткую версию контента, так что если ссылка умирает, ваш ответ по-прежнему имеет значение. DrakaSAN 7 лет назад 0
Одна поправка в разделе Firebase, пожалуйста *, чтобы не было такого понятия «запрос» *, не является точным. Firebase, безусловно, имеет запрос - он возвращает подмножество ваших данных, как и любой запрос. Круто то, что он может либо вернуть данные один раз, либо продолжать * наблюдать * данные, которые соответствуют запросу, и возвращать их соответствующим образом. Например; Вы хотите, чтобы все ваши пользователи были уведомлены, если пользователь выбирает пиццу в качестве своей любимой еды. Установите запрос для наблюдения за fav_food = pizza, и каждый раз, когда пользователь выбирает пиццу, все пользователи будут уведомлены. Это невероятно мощный механизм запросов. 7 лет назад 0
Еще одно исправление в разделе Firebase. Стоимость не является точной. План Spark имеет 100 соединений и более 500 м хранилища. Это план «разработчика». Затем, по мере добавления пользователей, переходите к плану Flame, который более чем в 2 раза превышает план Spark и неограниченное количество подключений. См. [Ценообразование Firebase] (https://firebase.google.com/pricing/). 7 лет назад 0
Кроме того, IMO, первый Firebase Con об этом излишнем. Не уверен, что я согласен с этим. Это бесплатное онлайн-хранилище с хорошо поддерживаемым и документированным кроссплатформенным API, а также с практической командой разработчиков и динамичным сообществом. Я бы не стал считать это излишним. Он будет поддерживать одного пользователя, получающего доступ к данным в режиме реального времени с нескольких устройств, до 10 000 пользователей, которые найдут ближайший ресторан с отличной картой вин. Опять же, ИМО. 7 лет назад 0
Спасибо за ответ, я, конечно, должен взглянуть на каждый из них немного подробнее и сделать несколько уроков. Я все еще не уверен на 100%, как они будут или не будут работать вместе. Было бы правильно так сказать следующее? react-newbie 7 лет назад 0
(Случайно выложил комментарий выше без его завершения, есть ли способ удалить его?) Спасибо за ответ, я, конечно, должен посмотреть на каждый из них немного больше и сделать несколько уроков. Я все еще не уверен на 100%, как они будут или не будут работать вместе. Правильно ли будет, скажем так: Firebase и Loopback предоставляют мне возможность доступа и хранения моих данных в базе данных, хотя они делают это по-другому, поэтому я, вероятно, выберу один или другой. Redux больше о том, как я структурирую свое приложение, и я мог бы объединить его с Firebase, а также с Loopback. react-newbie 7 лет назад 0