移动策略:如何处理此服务器-客户端版本排列? [英] Mobile strategy: How to handle this server-client version permutation?

查看:92
本文介绍了移动策略:如何处理此服务器-客户端版本排列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在为客户托管SAAS应用程序.主应用程序是网络应用程序,不同的客户端可以使用不同的版本.例如:

We are hosting a SAAS application for clients. The main app is a web appliction and different clients can be on different versions. e.g.:

Company A  version 1.0
Company B  version 1.1

我们在App Store中也有Android/iOS应用.由于应用程序并不总是最新的,因此我们也可以在市场上提供多个应用程序版本.例如2.0和2.1.因此,出于兼容性原因,我们必须确保每个客户端版本都可以与每个服务器版本一起使用:

We also have Android/iOS apps in App Store. Since the apps are not always up to date, we can have multiple app versions in the market too. e.g. 2.0 and 2.1 . Thus for compatibility reason, we have to make sure that each client version works with each server version:

server 1.0 must work with client 2.0,
server 1.0 must work with client 2.1,
server 1.1 must work with client 2.0, 
and server 1.1 must work with client 2.2.

只有2个服务器版本和2个客户端版本时,这是可管理的.但是随着时间的流逝,这份名单变得疯狂了.我们确实有一种机制可以迫使移动应用程序更新到最新版本,但这有点烦人,因此管理人员不想经常这样做.

It's manageable when there are only 2 sever version and 2 client version. However as the time goes by the list becomes crazy. We do have a mechanism that force mobile apps update to the latest version, but it's kinda annoying so the management people don't want to do it too often.

我的问题是,解决这个问题的最佳策略是什么? Android和iOS是否具有内置功能,用户可以下载多个应用程序版本并仅根据需要启动该版本?

My question is, what is the best strategy to handle this problem? Do Android and iOS have built-in function that the user can download multiple app versions and only launch the one as required?

谢谢.

推荐答案

我们在多个可能部署了不同服务器版本的客户中遇到了类似的问题.

We are having a similar problem with multiple customers who may have different server versions deployed.

我们目前正在考虑以下几种选择:

There are a few options we are currently considering:

  • 在由我们管理的云中管理客户的部署,以确保他们始终运行最新版本.对于想要内部部署的客户来说是个问题,例如出于合规性或安全性原因.
  • 将旧版本作为库捆绑在应用程序内部,并在运行时执行与服务器版本匹配的版本.不幸的是,这会导致混乱的构建和膨胀的应用程序包.
  • 告诉用户手动安装应用程序,不要发布到应用程序商店.对于不那么精通技术的用户来说不方便且存在问题.
  • 通过客户的服务器部署分发应用程序.需要权限才能从Android上的未知来源进行安装.要求客户拥有适用于iOS的iOS企业帐户(每年$ 299,每个客户必须单独注册).
  • 模块化应用程序代码以基于服务器版本启用/禁用组件或行为.如果很少进行服务器更新,则可能会起作用,但服务器更新经常会变得混乱且难以维护.

在每种情况下,用户都必须在公司升级服务器版本时仍然更新其应用.

In each case, users must still update their app whenever their company upgrades the server version.

对于我们来说,使用 PhoneGap ,还有一个选择:

For us, using PhoneGap, there is one more option:

  • 从服务器下载应用程序代码并执行它. 应用商店指南 2.7和2.8似乎禁止这样做,但是开发者同意项目3.3.2表示允许下载在Web视图中运行的脚本.这意味着该应用程序基本上只是一个启动器,它可以从服务器连接并获取脚本,然后运行它.缺点是,每次运行该应用程序时都需要下载并/或在应用程序的存储中使用缓存机制.
  • Download app code from the server and execute it. App store guidelines 2.7 and 2.8 seem to forbid this, but the developer agreement item 3.3.2 says downloading scripts running in a web view is allowed. This means the app is basically just a launcher that connects and gets a script from the server, then runs it. The downside is that it requires a download each time the app is run and/or a caching mechanism in the app's storage.

您是否找到了适合您的解决方案?您是如何选择处理此问题的?

Have you found a solution that works for you? How did you choose to deal with this issue?

这篇关于移动策略:如何处理此服务器-客户端版本排列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆