Search code examples
iphoneandroidframeworksblackberrysymbian

Pros and Cons of developing mobile application on Native vs. Framework vs. Web App


Any mobile/web developer who targets smartphones has the following questions in his mind:

  • Should I develop on Native environment or just use a Framework?
  • But which framework?
  • Or just a web app wouldn't be sufficient to my purpose?

And most of us have more or less but incomplete answer. yes we know, all of this approaches has advantages and disadvantages. But, if we look to the subject like using-the-tool-in-the-right-place-and-time perspective, in which kind of jobs I should go with the Native and in which kind of jobs I should go with the Framework (and which framework). Or just a web app is just fine for which kind of jobs.

I know that I can find some information around the web and SO. To tell the truth, I have a solid opinion also about the subject. But, let's make a total guide for all of us by collaborating.

I will write my opinion also as an answer and since all the opinions will be subjective at the end, I will accept the most voted answer as the right answer after 7 days.

I hope I made my point clear and thank you for sharing your opinion.


Solution

  • Here's an existing question that covers the discussion for the iPhone:
    iPhone native application vs web application

    There are also 3rd party frameworks that you can use to write HTML5/JS web applications and then embed them within a native application, e.g. PhoneGap for many devices, WebWorks for BlackBerry, etc.

    A couple more useful Stackoverflow questions are here:
    https://stackoverflow.com/search?q=blackberry+native+app+or+webworks
    Differences between Blackberry Webworks and Phonegap

    As most of these questions already say, it depends on lots of things. Generally you get a more slick UI with a native app than you get with a web application. But you are going to have to consider each case individually as your target user base might only have a particular handset, or require particular features only available through the native app.

    To pick one example, your client might only have BlackBerry handsets in their secure enterprise, which might require a native app to improve security (to comply with their particular corporate security policy).