appcelerator vs phonegap vs native XCode speed-to-market
Solution 1
Time to market depends on quality of specifications, process and people, much more than the underlying technology or framework.
Coding a real application with Appcelerator Titanium is not that easy, and runtime performances are SLOWER than native code because it's using a javascript engine as a bridge. Especially with a big TableView, it's much more slower, and the feeling is just not the same. But once you have purged the memory leaks, the feeling is nevertheless incredibly better than with HTML5.
You should be interested in Titanium or PhoneGap(now known as Cordova) if you plan to distribute your application on other devices or if you really don't like Objective C.
If not, keep it with the Native Xcode.
I would add that Cordova will not make any UI, but let you access camera, accelerometer or GPS with javascript inside HTML5 code. You would probably use Sencha Touch or jqueryMobile with Cordova.
Solution 2
In my experience, if the app is not a simple template app then you would be better advised to create a native app for each platform.
As Rob says, trying to overcome the lowest-common denominator situation and overcoming limitations in cross-platform "solutions" usually means it takes longer to code than doing it natively in the first place.
You might even hit a problem which causes you to abandon ship and start from scratch as native apps. So if you decide to go a PhoneGap or Titanium route then make sure you research fully before starting and that you won't have future requirements not covered by them.
Solution 3
If you are an iOS developer and you are developing it only for iOS device, then it is better to code using XCode. If you are more into Javascript and developing for both android and iOS then you should use Titanium or Phonegap. Between Titanium and Phonegap, I found it easier to code using Titanium(and yes fast as well). But I am not sure how much worth is using Titanium. http://usingimho.wordpress.com/2011/06/14/why-you-should-stay-away-from-appcelerators-titanium/
Solution 4
I'm actually performing a fairly intensive survey of all the major cross-platform mobile development kits right now. I started by making a sample application from scratch in IOS that uses a few simple device features, and then reimplemented that as an Adroid app. Both of those took about a day to complete (the android took maybe half a day longer). Since I've never written an android app before, I think that's a good baseline in terms of comparing development time between the various other frameworks I'm testing out.
I'll update this comment in a few weeks with a blog post when I'm done, but for the moment I've been finding that these cross-platform kits are vastly more difficult to use and take a lot more time, even for the simplest applications. and despite this, there's still quite a bit of custom per-device code that has to be written for UI and fundamental idiosyncratic differences between how device services function, so you don't really get the value of a true "single code base" that you may have been expecting.
I think the main value in these may turn out not to be anything related to development time or code reuse, but instead only as a way for non-app-developers to create simple prototypes that can later be handed over to the "real" mobile developers to be built out into true native apps afterwards... Not really all that useful in my opinion, but maybe my thoughts will change as I delve into this further.
Solution 5
Appcelerator is not HTML5, it is a native app built in a higher level language of JavaScript. It abstracts the complexity of common elements away and provides huge value, ping me offline to know more. I run our California business.
xrave3
Updated on June 22, 2022Comments
-
xrave3 almost 2 years
Titanium claims it can do the same app on average 70% faster than native XCode.
What's been everyone else's experience in terms of difference in speed of development (between native XCode and PhoneGap or titanium) ?
Let's say an app like Kik Messenger or Badoo ....
Typically, a good XCode developer can do it in 4-5 weeks, assuming graphics and backend are in place.
What would it take for an experienced Titanium (HTML5) person to achieve this? (roughly)
-
Rob Napier about 12 yearsGood link. I haven't been convinced yet that if you want to build a top-notch app that you get much benefit from cross-platform frameworks. In all the time you spend chasing down the little problems to get a lowest-common-denominator solution, you could have just written two native apps instead, and they would have integrated much better into their platforms.
-
xrave3 about 12 yearsRob, what do you think of using templates and libraries vs native? stackoverflow.com/questions/8756/…
-
Nicolas Zozol about 12 yearsThere are some things to know about Titanium, like any other frameworks. stackoverflow.com/questions/9115811/…
-
Rob Napier about 12 years@xrave3, if by "templates and libraries" you mean web apps, then it's no different. If you can't access Core Animation, iCloud, Data Protection, etc. etc. etc., you're starting with one hand tied behind your back on the way to a stand-out app.
-
xrave3 about 12 yearsYes Rob, I mean things like inside this link: stackoverflow.com/questions/215390/…
-
Muhammad Irfan almost 12 yearsI really accept, "You might even hit a problem which causes you to abandon ship and start from scratch as native apps"..
-
Jorre about 11 yearsTo add to this, Titanium has recently included a ListView component which should fix most of the performance problems related to the TableView component.
-
Bardelman over 10 yearsYou said : <<runtime performances are SLOWER than native code because it's using a javascript engine as a bridge.>> i think that the application won't use any javascript on the runtime because javascript is only used on the developement phase and then the application will be generated on native code so it will be as fast as an application developped with the native code directly. Please someone tell me if this is wrong or true.
-
krisdyson over 10 yearsThis is wrong. JavaScript is run on the devices. Your app is shipped with a JavaScript engine.