Mobility

Poll: What's the best route to writing mobile apps?

Do you think native code, a cross-platform runtime environment, a thin native shell over Web services, or mobile Web services is the best approach to writing mobile applications?

A number of times in the last several months people have asked me if they should write a mobile app in native code or with a Web application. I've advised people to hedge their bets by making a mobile Web application; but, if they absolutely need a presence in an app store, I recommend using either a cross-platform development tool or the native UI purely as a shell to access a Web service.

The truth is the mobile market is shifting so quickly, and native development is so different from platform-to-platform (not to mention expensive), writing native applications can easily become a money pit as you try to cover enough platforms to really get market share. But I also know many strong proponents of native applications too. What do you think is the best approach?

J.Ja

About

Justin James is the Lead Architect for Conigent.

5 comments
web.geek
web.geek

People expect to find apps in the app stores. As app use grows and more app directories pop up, this may change, as we are still in the early stages of app usage. Creating native apps doesn't have to be a money pit and you don't have to develop separate apps for each platform. I use Majoobi and pay about $50/month to have my native app for iPhone, iPad and Android.

brian_leach
brian_leach

You're asking the wrong question.. mobile app or cross platform? With the current slate of development tools like Titanium, and improvements to webkit based technologies like NS-Basic and PhoneGap, the lines are becoming ever more blurred. With Titanium you get to write your apps using web-like skills (JavaScript, CSS) but they get compiled into native apps for the destination platforms (desktop, iOS, Android and Blackberry). With PhoneGap your webkit based apps get packaged into real apps for marketplace distribution - and that is now available (BETA) as a very cool on-line service. Yes, there is still a skills uplift required, but it protects from having to learn the underlying technolgies and APIs for each of the current crop of mobile platforms.

authorwjf
authorwjf

I think mobile apps, as HTML and the current crop of mobile browsers exist, is only a viable option if you are simply looking to have a check box in your company's portfolio under the mobile column. According to Nielsen the most popular mobile application categories are games, music, social networking, and news. With the exception of news, I argue you'd be hard pressed to get the kind of user experience clients expect in these types of applications with anything but native code. And I'll add to that, in my 20 years as an engineer, I've yet to work with a cross-platform development tool that delivers once the task at hand reaches even a moderate level of complexity. Yes, native mobile app development does take some time. Yes, there is a learning curve moving from platform to platform when doing native apps. And yes, if you are outsourcing a native app it can get costly. I believe it all comes down to why you are creating a mobile app. There is a reason that web giants like Facebook and Twitter who have perfectly usable mobile versions of their application have incurred the time and expense to create dynamic full-featured native mobile apps for each of the major player operating systems in the smart phone game. Mobile web dev still hasn't reached the point where it can deliver the same deep immersive user experience native apps can. The line is blurring but at present there is still a line. Mobile or native you ask? As Mr. Jagger said: you can't always get what you want--but if you try sometimes...

Tink!
Tink!

if I knew more about it. I have an idea to write a mobile app...but have no clue where to start going about it! (Well...I do have SOME clue...I did download the android app package but haven't looked at it yet)

Justin James
Justin James

I think mobile web apps are the way to go for the most part, because it lets you reuse existing code and cover the whole market at once. What do you think? J.Ja