views:

114

answers:

2

Greetings all

Currently looking at some possible work in the mobile field and one question that I havent (yet) found an answer to is why developers that wish to market their apps to the greatest range of mobile phones would choose to code in the phones native lnauge over cross platform techs such as phonegap, titanium, rhomobile, and others. Are their benefits for say someone that is equally versed in java and javascript to choose phonegap's javascript implementation over BB/Androids java version for example, with the language proficiencies being equal?

Thanks in advance for anyone that can help to answer this.

+1  A: 

I can tell you why I do it, and keep in mind these are very personal reasons, unique to me (within a margin of error of course).

But for starters, I've been developing on frameworks very similar to the iPhone frameworks since the 1990s with OPENSTEP. The jump from OPENSTEP to Mac OS X wasn't difficult at all, and from Mac OS X to iOS, while a bit tougher, wasn't that difficult. So the first reason was that based on my past knowledge, it was an easy transition.

Secondly, I've always been a little leery of third party development environments targeting iOS. I know Apple, I know they like to make sure things stay within the lines they have laid out, and I know the problems they've had in the past with other similar environments on their Mac platforms before. Their position is very well known, and the 3.3.1 section in the dev agreement, anyone who knew this could know that was coming.

3.3.1 says that the program needs to be originally written in Objective-C, Objective-C++, C or C++. It also allows Javascript, but only as executed on top of the WebKit. So I like to stay within those.

All those things above are just the two big things that keep me writing ObjC code for the iOS platform.

jer
+1  A: 

PhoneGap is a great solution if you are going to try and hit more than one platform, especially if you are thinking of Android/BlackBerry and Objective-C. On BlackBerry making a nice user interface can, depending on skill set and based on my experience, be a bit easier in HTML / CSS than in the native Java code, Android a bit less so.

If you are making an app for one platform and well versed in that language then definitely go native.

Keep in mind that a lot of platforms are migrating towards W3C widgets as well, BlackBerry, Symbian and Meego support them and webOS is of course all JavaScript. I would not be surprised if Android started to offer something similar.

Regarding Apple and section 3.3.1, the JavaScript in PhoneGap is executed in the native iOS UIWebView control and so far there have been no problems with section 3.3.1 - in fact Apple has communicated that PhoneGap-like solutions are totally acceptable. (More info on that: http://bit.ly/91dzIb)

davejohnson