首页 > 解决方案 > 为什么我们使用 REST 连接到移动应用程序上的数据库?

问题描述

我目前正在研究如何制作跨平台移动应用程序(使用 xamarin 表单),并且我听说连接到非语言环境服务器(在我的情况下位于 Azure)中的数据库的“正确”方法是使用休息服务(或休息 API,或者无论如何被调用),而不是像在 Windows 窗体中那样使用 VS 的服务器资源管理器选项直接连接到数据库(使用 SQL 连接、数据集等。我认为他们在第一种情况下没有必要,我不确定)。

我收到的唯一答案是,在移动应用程序中“它们不是永久连接。它会连接,为您提供数据并断开连接。它们是异步连接。”,并且这样做是“为了优化连接资源。手机被挂起或用户将App转到后台。”。

但是我仍然不知道这是否是真正的原因,如果是我不明白它是如何优化连接资源的。因此,如果有人有时间解释这一点,我将不胜感激。

感谢您的宝贵时间,我希望我已经正确解释了自己,并且你们都度过了美好的一天。

标签: databaserestxamarin.formsdatabase-connection

解决方案


正如 Jason 所说,安全问题,通过适当的授权,拥有中介绝对比让用户直接访问数据库更安全,因为你将他限制在只运行你想要的查询的端点。并且从平台独立性和维护,如果应用程序是用不同的语言和不同的平台开发的,创建一个通用的 REST 接口以允许共享数据模型、缓存等可能会有好处。为了性能和可伸缩性,REST API 的 HTTP 层提供了另一个有价值的缓存机制。您的 REST API 服务器可以将缓存标头放在其响应中,并且这些响应可以缓存在网络层,其扩展性非常好。

您可以阅读此链接为什么人们使用 REST API 而不是 DBAL?,我觉得答案还不错


推荐阅读