1

我即将为 32 个客户开发一个移动应用程序。它们中的每一个都有自己的一组字段、逻辑和自己的 Web 服务。(例如,逻辑可以是 - 在页面上打印哪些字段以及何时打印)。除了字段之外,应用程序的其余部分对所有客户都是完全相同的。

我现在可以开发同一个应用程序的 12 个不同版本,每个版本都将设置给特定的客户——但这会花费我很多时间,我不确定这是不是明智之举。

我开始考虑一种通用模式,它允许我创建只有一个版本的 mob 应用程序。在我的服务器上,我将在每个客户 web 服务和 mob 应用程序之间创建一个业务逻辑层。这意味着 mob 应用程序将调用我的 web 服务 - 我的 web 服务将调用某些客户 web 服务并执行一些逻辑并将所需的数据以稳定格式返回给 mob 应用程序。

这意味着

  1. 移动应用程序将调用我的网络服务
  2. 我的网络服务将调用客户服务
  3. 客户网络服务将返回
  4. 我的网络服务将运行一些逻辑并返回
  5. 移动应用程序获取数据并在屏幕上打印

所以这意味着它需要更多的运行时间,很多秒。这是最好的方法吗?请建议或提供一些替代实施。

4

1 回答 1

0

这种依赖于客户的配置通常由...配置(和一些代码生成)管理。下面是几个可能的架构解决方案。

1 第一类静态配置

将所有与客户相关的内容放在一个配置文件(JSON、XML 等)中,并在需要配置 UI 和应用程序的其他静态方面时加载它。当然,在这种情况下,只能管理静态数据(文件名等)。

2 第二种静态配置

将所有依赖于客户的内容放入配置文件(JSON、XML)中,并在安装之前使用它在服务器上生成依赖于客户的应用程序。这种代码生成主要被 Ruby-on-Rails 和其他框架使用。在这种情况下,可以管理服务器端应用程序的所有不同方面。

3 动态配置

将所有与客户相关的内容放入配置文件(JSON、XML 等)中,加载并使用它在运行时更改应用程序对象的行为。当然,在这种情况下你的代码必须能够进行相应的处理。

4 静态配置,客户端

将所有依赖于客户的内容放入配置文件(JSON、XML 等)中,并用于为每个客户生成不同的客户端(移动)应用程序。在这种情况下,所有应用程序的服务器端可以相同,也可以不同。这取决于你。当然,为移动设备生成完整的应用程序需要一个可以以这种方式使用的工作“模板”。

据我所知,解决方案 2 应该最适合您的需求(因为您必须生成 DB 模式、UI 代码和控制器逻辑)。

于 2012-11-23T17:19:09.603 回答