У нас есть простой сценарий с веб-приложением и мобильным приложением. Оба приложения используют веб-интерфейс на стороне сервера. Наша бизнес-логика зависит только от этого API.Использование Firebase без дублирующей бизнес-логики
Мы переходим от AWS RDS к Firebase. Я вижу везде, где мне не нужно использовать код сервера с Firebase, но как я могу получить доступ к Firebase непосредственно из своего приложения (мобильного и веб-сайта) без дублирования моей бизнес-логики в обоих приложениях?
Я понимаю, что этот подход (использование Firebase без серверного кода) для простых приложений. Но почти каждое приложение, о котором я могу думать, должно иметь API-интерфейс на стороне сервера, если я не хочу реплицировать свою логику.
Я что-то упустил или мне действительно нужно иметь API-интерфейс на стороне сервера?
Первое, что приходит на ум, это «почему?», Почему вы думаете, что нужно на стороне сервера API? В противном случае ваш вопрос слишком широк. Как всегда, почти все происходит по базе; большую часть времени вы преуспеете, выполняя всю работу над клиентом и оставляя безопасность для базы данных (очень важно научиться писать хорошие правила безопасности), и почти всегда в любом крупном проекте вам понадобятся несколько функций работая на сервере, чтобы избежать разоблачения закрытых ключей или кода, который вы не можете выполнить на клиенте (но это исключение, а не правило). –
Я согласен с тобой. Но позвольте мне дать какой-то контекст. Скажем, каждый раз, когда я добавляю новый продукт, необходимо отправить электронное письмо. Я должен написать это правило для обоих приложений (веб-конец мобильного)? Давайте представим, что мои логические изменения ... Нужно ли мне * помнить * всюду, где я положил эту логику? Используя API, мне нужно будет обновить только одно место. Теперь представьте сценарий, в котором у меня есть веб-приложение, приложение ios, приложение wp и приложение для Android. Мне пришлось бы обновлять код везде. Его не так сложно представить, что что-то будет упущено. –
О, хорошо, я работал с кросс-платформенным javascript так долго, что забыл об этих проблемах XD. Да, в этом случае, я думаю, вы должны продолжать работать одинаково. По-прежнему считайте, что было бы более полезно, если бы вы разместили более конкретный вопрос о реальном сценарии, если хотите получить более глубокое представление о идеях. –