appcelerator vs phonegap vs native XCode speed-to-market
Asked Answered
A

5

10

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)

Adamson answered 22/2, 2012 at 13:38 Comment(6)
Where did you get the data point that these applications were built in 4-5 weeks? It may also be worth discussing your quality targets. Do you just want something that's "ok" or something that is really excellent and stands out? Many of the benefits of JavaScript evaporate when you try to go from "good enough if you don't care too much" to great.Profant
Rob, I definitely want something that stands out when pushed out from a UI/UX and efficiency point of view (speed performance). In this sense, I suppose with respect to speed of development, going native is the way, but I'm just trying to gauge how much time is setback doing it in native vs having an experienced HTML5 coder through the cross platform solutions.Adamson
To get to something that stands out, native will generally be faster to get you there (assuming similar skill sets). It is not a setback. Native may take you slightly longer to get to v0.1, but it's much faster to get to v1.0 (if v1.0 is expected to be very good). Taking an "HTML5 coder" who is not experienced with HTML5 programming specifically for the mobile platform in question would be a dramatic setback. Desktop HTML5 development is not the same thing. If all you have are HTML5 developers, they will obviously develop in HTML5 faster than they would develop native.Profant
BTW, all cross-platform development has this problem. It is very difficult and time consuming to build a web app that works really well on all browsers. Just because it's HTML5 doesn't make cross-platform easy. There are always a lot of per-platform hacks required. Even without x-platform, it's hard to make web apps as good as native on any platform. Compare native Word to the web version on live.com. Even when OWA was IE-only, the best it could do was "good for a web app" compared to native Outlook. There are reasons to do web apps of course, but it's not to get the best possible UX.Profant
@ Rob - just out of curiosity, what does Titanium mean that it averages 70% fast dev time than native coding? (besides PR intent) Is there any legitimacy behind that? Perhaps just to v0.1 as you mentioned aboveAdamson
I have no idea where they get this. I suspect they mean "for an app that wants a UX that matches exactly to what Titanium does well." You could likely build a simple drill-down table view with REST backend very quickly in Titanium; but I'm guessing. It's always difficult to guess what ad copy actually means :DProfant
D
21

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.

Dropsy answered 22/2, 2012 at 15:3 Comment(3)
To add to this, Titanium has recently included a ListView component which should fix most of the performance problems related to the TableView component.Dapple
You 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.Kareenkarel
This is wrong. JavaScript is run on the devices. Your app is shipped with a JavaScript engine.Hobby
J
10

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.

Jany answered 22/2, 2012 at 15:5 Comment(1)
I really accept, "You might even hit a problem which causes you to abandon ship and start from scratch as native apps"..Dacoity
D
8

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/

Downey answered 22/2, 2012 at 13:58 Comment(5)
Good 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.Profant
Rob, what do you think of using templates and libraries vs native? #9256Adamson
There are some things to know about Titanium, like any other frameworks. #9116311Dropsy
@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.Profant
Yes Rob, I mean things like inside this link: #215890Adamson
L
5

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.

Laryngeal answered 8/8, 2012 at 18:49 Comment(0)
D
2

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.

Dripps answered 13/8, 2012 at 19:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.