Лучший способ использовать бизнес-логику на нескольких платформах (облачные функции?) - PullRequest
0 голосов
/ 01 февраля 2019

Я нахожусь в процессе создания мобильной и веб-версии приложения с использованием ReactJS и iOS соответственно.Обе эти платформы будут извлекать данные из базы данных Firestore для использования, но мне интересно, как лучше всего написать бизнес-логику только один раз для выполнения операций над базой данных?

Например, в обоих приложенияхВы нажмете кнопку, которая обновляет поле в базе данных Firestore, вместо того, чтобы писать логику для этого в Javascript, а затем в Swift. Рекомендуется писать логику только один раз, а затем вызывать одну и ту же логику с обеих платформ.?

Являются ли облачные функции лучшим способом для достижения этой цели?Могу ли я написать одну облачную функцию, скажем, Go, а затем вызвать эту облачную функцию как из приложения iOS в switft, так и из приложения ReactJS в javascript?Это лучшая практика?

1 Ответ

0 голосов
/ 01 февраля 2019

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

Обратите внимание, что если дублированный код является операцией разветвления, вы также можете попросить клиента записать первичный документ в саму базу данных, а затем запустить облачную функцию для выполнения разветвления.Таким образом, клиент по-прежнему получает преимущества написания через SDK (например, он работает в автономном режиме), но часть кода находится на сервере и, следовательно, используется повторно между клиентами.

Я также вижу, что многие разработчики создают облачные функции дляобъедините все данные, которые им нужны.Таким образом, клиент может сделать всего один вызов, чтобы получить данные из нескольких коллекций.Однако я сам не большой поклонник этого, потому что таким образом вы теряете возможности SDK Cloud Firestore в автономном режиме и в режиме реального времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...