【发布时间】:2011-08-04 23:06:31
【问题描述】:
我的任务是构建我们公司的移动应用程序平台。我确实使用传递 json 的 REST API 在 android 中构建了一个测试应用程序,但我不确定这是否是最佳解决方案。
应用程序最终必须在 iphone、windows mobile、blackberry 和 android 上运行。还有一些业务规则让我对整体架构应该如何摇摆不定。
首先,让我解释一些术语。 客户是实际上是我们客户之一的企业。客户彼此不了解。 超级用户可以为所有客户做所有事情,并且是我们的员工。 管理员可以为特定客户做所有事情,并受雇于客户。 最终用户是客户的客户。最终用户可能与我们的一位客户开展业务,或者可能与其中一位以上的客户开展业务。但他们不知道这一点(我不能向他们展示所有客户的列表,让他们选择与哪些客户相关联)。
目前,我们有一个网络应用程序,其中来自客户网站的链接表示最终用户与谁关联。然后,他们使用该客户的帐号将客户数据附加到他们的网站帐户。
所以,我需要开发几个不同的应用程序,我想我已经确定了 2。一个管理应用程序和一个最终用户应用程序。如果超级用户登录到管理应用程序,他们将被允许选择他们正在处理的客户端。如果普通管理员登录,他们将只能使用与其关联的客户端。
最终用户应用程序让事情变得混乱。我必须知道他们正在与哪个客户合作,然后获取他们的帐号以附上他们的客户详细信息(一旦我知道他们使用的是什么客户,这很容易)。最初的想法是为每个想要将其提供给用户(或给他们源代码)的单个客户端发布一个应用程序版本,然后将每个版本硬连接到该客户端中。但这似乎需要维护一个巨大的 clusterf**k。我必须处理的另一个警告是允许应用程序具有主题化和品牌化。
这是我无法决定架构的地方。我应该像我对其他应用程序所做的那样,在移动平台上使用 UI 并通过服务传递数据,还是应该让移动应用程序成为 Web 托管应用程序的 webview 门户?两者都有优点和各自的问题,都没有解决必须将最终用户附加到客户端的问题。我正在寻求跨多个平台开发移动解决方案的任何人的建议。
标签: mobile architecture