Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a web application which is a pretty standard SAAS database driven app. I have a few customers asking for iOS or Android versions of the app. Is it better to build an API on the web app which is then used to drive the native mobile apps UI? This would be simplest but mean the mobile apps are not 'stand alone'. Alternatively I could try and implement a full mobile solution that then synchronizes with the web app somehow. This would be much more work as all the business logic needs to be build into the mobile apps rather than behind the API.

What is standard practice for this kind of thing?

share|improve this question
1  
Not sure about the "standard practice", but I would go with building an API as you suggested. –  Bernard Dec 15 '11 at 22:55
    
Yes, I am favouring that method as well. Just wondering if anyone has strong opinions on why it would be a bad idea. –  Craig Dec 15 '11 at 23:07
    
-1: This would be simplest but mean the mobile apps are not 'stand alone'. - Huh? How 'stand alone' can a SAAS database driven app possibly be? –  Jim G. Dec 16 '11 at 2:44
    
You can have a SAAS web based version and a stand alone version that synchronize. –  Craig Dec 16 '11 at 3:41
add comment

2 Answers 2

You may want to ask yourself a few questions. Do I want the app to function without an internet connection? How clean do I want the app to run? Are there any features I'd like to incorporate that are native to the devices? Do I care whether or not the app 'feels' native to the device?

As an iOS developer I've had to sit down with clients and sometimes my boss and go over these very questions. Sometimes we discover that, while what we had initially planned could be done with a web app, there are features we could incorporate through writing specifically for the device that was never an option before.

share|improve this answer
1  
We do plan on building native apps, but they would be using our own API. Just like a Twitter app uses the Twitter web API. So the biggest consideration really is whether it needs to run without an internet connection. –  Craig Dec 16 '11 at 0:37
add comment

If you are looking for "standard practice", I think the answer would be to build a single API that all/most front ends use. No reason why your webpage and your Android application can't be making the same API calls.

In reality, it all depends. What does the application do. Does it need an internet connection to get the latest data? If it was a standalone application, how much data would be required for it to function. I think it is hard to give the "right" answer without more details about what it is supposed to do.

share|improve this answer
    
Yes, I will plan on building the API and then migrating the web version to use it as well. So eventually all 'front ends' would be using the API. –  Craig Dec 16 '11 at 3:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.