views:

182

answers:

3

I need help clearing up some questions regarding these several third party dev-support frameworks (e.g. ViXML, Titanium Mobile) which promise iPhone app development at lightning speed using only Javascript and XML, without knowledge of Objective-C.

Questions

  1. Are there any features possible on a regular Xcode development platform that are NOT possible for someone creating an app using these frameworks?

  2. Is there any real savings in money and time when working with these platforms?

A: 

Q1) Yea, performance. Javascript is slow on the iPhone, because the processor is slow. It's just a cold hard truth. Heck, loading NIBs vs using hand coded views is slow, because of the processing and loading involved, and that's simple compared to Javascript. Javascript is wonderful, but partly because we have really fast processors today. The iPhone (nor the Pre for that matter) have particularly fast processors, and Javascript's performance suffers because of it.

I have not used the frameworks, so can not comment on their productivity claims.

Will Hartung
A: 

For question 1: non-native apps may not be able to access GPS information or other hardware on the phone.

DyingCactus
Not actually true, iPhone OS 3.0 have additions to enable access to geolocations from web apps:http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/GettingGeographicalLocations/GettingGeographicalLocations.html
PeyloW
Here is a complete list of DOM Extensions for Mobile Safari:http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariJSRef/index.html#//apple_ref/doc/uid/TP40001482
PeyloW
Nice to know. Thank you.
DyingCactus
+1  A: 

The approach to simplify development like this has been tried time and again, on many different platforms.

You always have the problem that the development framework will lack some features the "real" system has, and while sometimes a passthrough mechanism is offered it is invariably clunky.

Sometimes they do offer speed gains, but the degree to which they benefit you depends on the domain you are in - Unity is a great example of a framework that obviously saves people a ton of time developing games.

I personally think, that outside of gaming I don't think the benefit of using a third party framework to be really worthwhile. All of the best apps are ones that leverage the system to the fullest in terms of animation or UI abilities, meaning that someone spending some time crafting will be able to make a nicer looking app than someone who has to rely on the abilities of a framework.

The other problem you can run into is that no matter how popular a third party framework is, you are always going to have lots more support for the official platform - like the number of books around today on Objective-C and iPhone development, or even the very active Objective-C support on this very site.

The only exception would be if you had to have a cross-platform app and the app supported development for all the platforms you need. But even then I would argue for making the iPhone app distinct and take fullest advantage of the platform, or your app will languish and other competitors will overcome you.

Kendall Helmstetter Gelner