为什么我们使用 REST 连接到移动应用程序上的数据库?

Why do we use REST to connect to a database on a mobile app?

我目前正在研究如何制作跨平台移动应用程序(使用 xamarin 表单),我听说 "correct" 连接到非语言环境服务器中的数据库的方法(在我的例子中)位于 Azure)是通过使用 Rest Services(或 rest API,或者被称为),而不是像在 windows 表单中那样使用 VS 的服务器资源管理器选项直接连接到数据库(使用SQL 连接、数据集等。我认为在第一种情况下它们不是必需的,我不确定)。

我收到的关于此问题的唯一答案是在移动应用程序中 "They are not permanent connections. It connects, gives you data and disconnects. They are Asynchronous connections.",并且已完成 "For optimization of connection resources. The mobile is suspended or the user passes the App to the background."。

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

感谢您抽出宝贵时间,希望我的解释是正确的,祝大家度过愉快的一天。

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

你可以看看这个link Why do people do REST API's instead of DBAL's?,我觉得答案很不错