移动应用 - 服务器架构

Alo*_*Leo 5 architecture mobile-application

我想开始一个移动应用程序,但我有一些问题.我对数据库连接层感到困惑.我应该构建我的架构2层; 第一层是移动应用程序(在移动应用程序中建立数据库连接),第二层是数据库.或3层; 第一个是移动应用程序,第二个是服务器(处理数据库和应用程序之间的连接),第三个是数据库.

这两种架构的优缺点是什么?提前致谢

Ela*_*lad 10

使移动应用程序直接与数据库通信的唯一好处是,在短期内实现可能更快.

在稍长的运行中,由于以下几个原因,三层是更好的选择:

  1. 灵活性 - 让移动应用程序针对提取数据库内部的服务层(例如,通过一些JSON API)工作.这样可以更轻松地更改架构,甚至可以替换整个数据层,而不会破坏移动客户端.当您发布涉及移动应用程序和数据层更改的新版本,以及尚未更新的某些应用程序时,这一点至关重要.服务层将支持多个版本的可管理性.直接使用数据库将使其几乎不可能.

  2. 安全性 - 管理用户登录,权限等通常不像在服务层中那样支持DB.

  3. 可扩展性 - 如果您的应用程序成功并且您需要扩展服务器端,服务层将大大增加您的选择(回到第1 - 灵活性).

  4. 这应该足以让你相信,但我相信其他回复会提出更多:)

关于您的其他问题 - 为服务器推荐技术/架构,有许多可行的选项 - Ruby,Python,PHP,Node."最好"取决于你已经熟悉的东西.