4

More and more clients wants to have cross-mobile apps (mainly the combination of Android, iPhone and BB).

What's the best way to do it?

  1. Use multi-platform tools like PhoneGap or similar? This tool introduces another layer and the developer would depend on it.

  2. Hire 3 developers to develop the app for each platform? This is costly.

  3. Something else?

ThinkingStiff
  • 64,767
  • 30
  • 146
  • 239
sandalone
  • 41,141
  • 63
  • 222
  • 338
  • 2
    See: http://stackoverflow.com/questions/51988/what-work-has-been-done-on-cross-platform-mobile-development – Josh Lee Feb 28 '11 at 18:47
  • Thanks. However, that Q is from 2008 and nowadays multi-platform projects are more mature and I really need an updated answer. – sandalone Mar 01 '11 at 10:25

3 Answers3

9

Develop a web app optimized for mobile browsers.

If you must develop a native app, don't assume that 3 apps = 3 times the cost. Lessons learned from the first version of the app will make it faster to develop subsequent versions. This is especially true if you can leverage reusable components. For instance, I've developed a cross-platform app in which a web service does the majority of the heavy lifting. Each of the native apps was mostly UI code.

dbyrne
  • 59,111
  • 13
  • 86
  • 103
  • Isn't PhoneGap app something like web app but stored ON the phone itself?! Why should I choose a web app (which needs Internet connection and additional cost for users) when I can have the same web app stored locally on the phone? Do you prefer the web app just because you control it (unlike PhoneGapish project which can always become non-open source) or there are more advantages? – sandalone Mar 01 '11 at 10:24
  • 1
    Yes, I like having full control. Also, when you update the app, nobody needs to download a new version. Another advantage is that desktop and laptop users can access your app. If your app doesn't require an internet connection though, maybe PhoneGap would be a good choice. Hard for me to say, because I don't have any experience with it. – dbyrne Mar 01 '11 at 15:24
4

As you said:

Quick & cheap & limited - option 1.

Fullfeatured & custom-designed & costly - option 2.

You choose.

For me - I hate crappy mobile apps so I'd never go with option 1. The competition is so big that if you think of making something mediocre then better not even start.

If you need something quick: as @dbyrne noted, create a dedicated full-featured mobile web page. This will be fast and a lot of users prefer good mobile page to yet another application on the mobile phone.

Peter Knego
  • 79,991
  • 11
  • 123
  • 154
4

At least for iOS and Android, the browsers available are sufficiently robust that a web-based application is probably a reasonable place to start. Blackberry might possibly be an issue, depending on what you want to accomplish, and what features and capabilities you require.

I don't like cross-platform packages, especially not across such diverse platform architectures. What you'll wind up with is a Blackberry app that happens to run on an iPhone, and the odds are that something like that will be close to unusable.

Starting web-based has some definite advantages: it's low-cost, and will allow you to quickly "mock up" and deploy new functionality to all users of the app, and give you an opportunity to collect feedback and do testing that would make implementing the app natively on any given platform a lot simpler.

  • See upper reply. I do not mind web apps, but users does because of the extra cost. Why do YOU prefer web app over local web app like PhoneGap or Appcelerator or...? – sandalone Mar 01 '11 at 10:27
  • 2
    I've explained why I don't like cross-platform approaches like PhoneGap, etc.: they make it impossible to take advantage of the strengths of any particular platform, and force you into a "generic" solution that ends up being the "least common denominator" of the different platforms on which you want to deploy it. – David Schlesinger Mar 01 '11 at 15:17