适用于 iOS 和 Android 应用程序的服务器端数据库
Posted
技术标签:
【中文标题】适用于 iOS 和 Android 应用程序的服务器端数据库【英文标题】:serverside database for iOS and Android app 【发布时间】:2018-09-06 21:16:51 【问题描述】:我正在编写一个 ios 应用程序。它将在某处的服务器上存储某些东西的详细信息。
我将编写一个提供相同功能的 android 应用程序。
我想访问相同的数据库并检索相同的数据,无论使用的是 iOS 还是 Android 应用程序。
我希望为一种可以抽象后端数据存储的技术提供一些“关键字”,使其成为 iOS 和 Android 通用的东西。
如果 GitHub 上有一个示例,链接会帮助我
谢谢
【问题讨论】:
Firebase 是个不错的选择 您正在寻找“移动后端”。如果您希望其他人运行它,您需要一个移动后端即服务或 MBaaS。另请参阅 parseplatform.org、realm.io 或 Amazon AWS MobileHub 了解更多选项。 【参考方案1】:您可以使用任何满足您的数据建模需求和性能要求的数据库,您选择哪一种取决于您的数据结构。你应该做的是构建一个共享的中间层服务器来保存你的数据并将其提供给你的 iOS 和 Android 客户端。您可能希望使用 http 协议将数据作为 JSON 文档在客户端和服务器之间传递。这通常称为 REST api,但您必须遵循某些设计原则才能真正成为 REST api。
您可以使用 Swift、Java 或 Kotlin 编写服务器端代码。这将允许您根据您选择的语言在 iOS 或 Android 上重用一些代码。您可以改为使用 Xamarin/.NET Core 以 C#(或 F#)编写服务器和两个客户端,这将最大化您的代码重用。
如果您不需要或不想使用关系数据库,您可以使用 MongoDB 或类似的 JSON 文档存储。您可以将这些 JSON 文档直接传递给您的客户。这将减少您需要编写的服务器端代码量。
【讨论】:
【参考方案2】:这里是使用 Microsoft Azure Cosmos DB 的一个很好的链接。有大量的示例和最佳实践。有关如何保护数据库的信息。如何正确使用分区。 Cosmos DB 非常容易实现,因为您不需要 ORM。它内置了所有内容。我正在为我正在构建的 Xamarin 应用程序使用 Cosmos DB。到目前为止它工作得很好。关于它的最好的事情是您可以从 azure 门户轻松地放大或缩小。下面是一个很好的介绍和您需要的所有示例。
Introduction
Getting Started
Samples
希望这会有所帮助。
【讨论】:
以上是关于适用于 iOS 和 Android 应用程序的服务器端数据库的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Android 和 iOS 的具有相互证书的消息安全性
适用于 iOS + Android + BlackBerry 的 testflight 等服务
google 的 Map SDK 计费如何适用于 Android 和 iOS 应用程序?