Firebase Cloud Function 是类似于 Uber 的应用程序后端的不错选择吗?
Is Firebase Cloud Function a good choice for backend for an app similar to Uber?
我正在开发一个与 Uber 非常相似的 Android 应用程序。最重要的功能将是位置跟踪(客户设备上的实时驾驶员位置)和基于覆盖距离的计费,我正在考虑将 Firebase Cloud Function 完全用于我的后端。
是否可以在后端进行所有复杂的计算(定价、覆盖距离)?将其作为此类应用程序的后端是个好主意吗?在漫长的运行中我可能会遇到哪些困难?
使用云函数,您可以实现 geofire 库:
const GeoFire = require('geofire');
const geoDrivers = new GeoFire(admin.database().ref().child('geolocation'));
Geofire 不能存在于云功能中,因此,要进行实时跟踪,您必须在客户端加载 Geofire。通过在云函数中实现 geofire,您将能够计算 A 点和 B 点之间的距离,但您将无法跟踪这两者之间的运动。您可以根据给定的 A 和 B 之间的距离来计算价格。
此外,通过在云函数中实施 geofire,您将能够查询给定位置内有多少 driver,并且当有新的 driver 进入或离开该区域时,您将不会收到通知由纬度、经度和半径确定的查询。
我正在开发一个与 Uber 非常相似的 Android 应用程序。最重要的功能将是位置跟踪(客户设备上的实时驾驶员位置)和基于覆盖距离的计费,我正在考虑将 Firebase Cloud Function 完全用于我的后端。
是否可以在后端进行所有复杂的计算(定价、覆盖距离)?将其作为此类应用程序的后端是个好主意吗?在漫长的运行中我可能会遇到哪些困难?
使用云函数,您可以实现 geofire 库:
const GeoFire = require('geofire');
const geoDrivers = new GeoFire(admin.database().ref().child('geolocation'));
Geofire 不能存在于云功能中,因此,要进行实时跟踪,您必须在客户端加载 Geofire。通过在云函数中实现 geofire,您将能够计算 A 点和 B 点之间的距离,但您将无法跟踪这两者之间的运动。您可以根据给定的 A 和 B 之间的距离来计算价格。
此外,通过在云函数中实施 geofire,您将能够查询给定位置内有多少 driver,并且当有新的 driver 进入或离开该区域时,您将不会收到通知由纬度、经度和半径确定的查询。