APP compatibility with backwards versions


#1

We are building a mobile App to supplement our ERP desktop software. This ERP software hosts web services that the App will use to make requests. This ERP software is installed and hosted by clients on their own infrastructure. The problem is that our hundreds of customers rarely have installed the latest ERP version. We need to support multiple versions of the application to ensure full functionality. Not all customers want to upgrade at the same time, that just doesn’t happen. Can we submit several application versions to the stores in which each one is compatible with a particular ERP version?

any better solution?

Thanks!


#2

Technically it is possible to publish multiple versions of an app on the Google Play store (didn’t look at Apple):
http://developer.android.com/google/play/publishing/multiple-apks.html

However I would not advise you to do this unless there really is no other way, because it will make maintenance very difficult.

I don’t know the details of your requirements, but I’d develop a separate “API Connector” per ERP version.

Each connector knows how to talk to a specific ERP version, but to the client/app they all look the same, so that the app is unaware of the differences (you’d develop a common/canonical “model” for the client/app).

Now all you need to do is bundle all the connectors with the app. Then when the app starts up you need to find out which connector to use. This is probably a matter of doing a REST call to the server to query its version.

Does that make sense or not?


#3

Thank you for your answer.

After trying to figure out what my chances are, I concluded that this is the best way. It makes perfect sense to me and most likely this will be the architecture that will implement.


#4

Okay cool, well my background is originally in enterprise Java development and ERP as well, so this is kind of familiar territory. Mobile app dev is still new to me, but I’m slowly getting there and it’s a lot of fun to do.