2016-09-28 10 views
0

У нас есть простой сценарий с веб-приложением и мобильным приложением. Оба приложения используют веб-интерфейс на стороне сервера. Наша бизнес-логика зависит только от этого API.Использование Firebase без дублирующей бизнес-логики

Мы переходим от AWS RDS к Firebase. Я вижу везде, где мне не нужно использовать код сервера с Firebase, но как я могу получить доступ к Firebase непосредственно из своего приложения (мобильного и веб-сайта) без дублирования моей бизнес-логики в обоих приложениях?

Я понимаю, что этот подход (использование Firebase без серверного кода) для простых приложений. Но почти каждое приложение, о котором я могу думать, должно иметь API-интерфейс на стороне сервера, если я не хочу реплицировать свою логику.

Я что-то упустил или мне действительно нужно иметь API-интерфейс на стороне сервера?

+1

Первое, что приходит на ум, это «почему?», Почему вы думаете, что нужно на стороне сервера API? В противном случае ваш вопрос слишком широк. Как всегда, почти все происходит по базе; большую часть времени вы преуспеете, выполняя всю работу над клиентом и оставляя безопасность для базы данных (очень важно научиться писать хорошие правила безопасности), и почти всегда в любом крупном проекте вам понадобятся несколько функций работая на сервере, чтобы избежать разоблачения закрытых ключей или кода, который вы не можете выполнить на клиенте (но это исключение, а не правило). –

+0

Я согласен с тобой. Но позвольте мне дать какой-то контекст. Скажем, каждый раз, когда я добавляю новый продукт, необходимо отправить электронное письмо. Я должен написать это правило для обоих приложений (веб-конец мобильного)? Давайте представим, что мои логические изменения ... Нужно ли мне * помнить * всюду, где я положил эту логику? Используя API, мне нужно будет обновить только одно место. Теперь представьте сценарий, в котором у меня есть веб-приложение, приложение ios, приложение wp и приложение для Android. Мне пришлось бы обновлять код везде. Его не так сложно представить, что что-то будет упущено. –

+0

О, хорошо, я работал с кросс-платформенным javascript так долго, что забыл об этих проблемах XD. Да, в этом случае, я думаю, вы должны продолжать работать одинаково. По-прежнему считайте, что было бы более полезно, если бы вы разместили более конкретный вопрос о реальном сценарии, если хотите получить более глубокое представление о идеях. –

ответ

0

Похоже, что вы ищете однократной записи, работает везде solution.You можно посмотреть по адресу:

  • веб-решений (например, прогрессивные веб-приложений)
  • гибридных решений (например, Ионные)
  • вблизи чужеродные решения (например, React Native, NativeScript)
  • решения кросс-компиляции (например, Intel XDK)

... возможно, несколько других категорий.

Если ни один из них не подходит вашим требованиям, вы должны:

  • встраивать логику в Firebase правил безопасности и/или
  • написать посредника или вспомогательный сервер (см это article on application architectures) и/или
  • дубликат логика в приложения, написанных на родную технологии прошивка и Android
+0

На самом деле мы используем Ionic для нашей мобильной версии и angular2 для нашей веб-версии. Я сказал, что iOS, Android, wp просто для иллюстрации. Простой вопрос: лучше ли использовать репликацию моей бизнес-логики в обоих приложениях (веб-и ионическом) или использовать веб-api в качестве промежуточного программного обеспечения между приложениями и Firebase и поддерживать логику только в одном месте? –

 Смежные вопросы

  • Нет связанных вопросов^_^