Hacker News new | past | comments | ask | show | jobs | submit login
Comparing Titanium And PhoneGap (kevinwhinnery.com)
120 points by kwhinnery on May 10, 2012 | hide | past | favorite | 24 comments



Refreshingly honest, considering it's written by an appcelerator employee.

The main concern I have about either of these is that there are no awesome ahowcase apps out there that prove they work well. There are quite a few awful ones. I am attracted to titanium's promise of native look and feel, but the author admits that there are unresolved performance issues and other drawbacks. Phonegap seems even worse when compared to native UI.

What is the best nontrivial, well-performing titianium or phonegap app you know of?


A couple months ago, I made a Titanium app as part of the interview process for my current employer. The app is B2B, not available through the store, so I will try to compensate below.

The app appears non-trivial to the user. There is a QR code reader that takes snapshots of industrial equipment, saves the URLs to a local database, long-polls the URLs to continually display fancy gauges that mirror actual hardware output in real time, and pops up service information when equipment stops running.

Performance-wise, the app is laggy but the lagginess is perceptually the same as similar well-established native apps. All QR/barcode scanners are slow and all data access over wireless is slow so what if Titanium tacks on an extra second or two. (I don't have any benchmarks either way, it could be the same for all I know).

To explain, I believe it's an established fact that to the end user, anything under 2 seconds is "fast" and anything over is "slow". There is no differentiation.

Productivity-wise, the app took 2 full days and several evenings to develop. For reference, my programming background is: web development - advanced, javascript - fair but hardly advanced, mobile - zero, stateful/compiled/memory managed applications - zero. As you can imagine, Titanium takes all the credit.

My overall impression is that Titanium is the right tool for the right job (horrible documentation notwithstanding). The lack of "awesome" apps is probably because it's not right for games and hardware-centered apps. To put things in perspective, I am a medium-heavy app consumer and for me personally, games and hardware-centered apps comprise maybe 25% of what's in my iPhone and iPad. That leaves a whole lot of applications that could easily be done with Titanium.

Go to the Apple's marketplace right now and filter out all the games. Then filter out all the apps where the app is just a thin frame for the content (I say that because I am pretty sure you wouldn't notice if Titanium was used in place of native, because of the 1-to-1 API to native UI). I bet you are going to feel that there are very few awesome showcase apps left there too. That's just the nature of the beast.


+1 on checking out the showcase page. TripLingo has a nice Android app, I would check them out in particular.

Yes, limitations in our abstraction layer is the biggest engineering challenge we face. That's true of any framework that creates a higher level API over the top of an existing API (Rails, Struts, Flex, etc). As the abstraction layer hardens, hardware gets faster, and platforms improve (Android is, IMHO, an inferior platform in terms of UI performance generally, but is getting better)... our performance across the board will improve. It's very usable and widely deployed now, but we know it still needs to get much better.


For a titanium example I recommend Wunderlist. It is used by millions of people on multiple platforms, I use it everyday and it works well. Moreover Wunderlist is a good example for hackers because it is open source: https://github.com/6wunderkinder/wunderlist

main site: http://www.6wunderkinder.com/wunderlist/

One caveat, I'm not sure how many of the current apps (there are 5 versions with an addtional blackberry app in private beta.) still uses Titanium, and Wunderlist has been ported to platforms that are not supported by Titanium. However I know that the first few releases did use Titanium.


The first Wunderlist for android was a Titanium app, but is was very slow and unusable. They rebuild it again natively: http://www.6wunderkinder.com/blog/2011/09/05/wunderlist-for-...

I think the IOS version is still Titanium?

A high performing Titanium example on android would interest me also.


Got a link to the old one's APK file?


There's a showcase page on their website - http://www.appcelerator.com/thinkmobile/showcase

ZipCars pretty notable...


I think the eBay (Android, at least) app is made with Titanium.


We have experience of building native Android and iOS apps, but have used Titanium in the past to quickly prototype ideas, and it's proved a great tool for that..

We recently however used Titanium for a full client project (an app to control a home heating system), usual story, tight budgets/time/etc. We built the iOS app in under 3 months and then ported to Android in about 3 weeks, very pleased with the results, the app is now being widely used daily by many end users..

Two points that should be considered though:

1. You need to be very careful using Titanium, specifically in terms of organising your layouts and how you organise/implement your code.. Both these can make the app a pain to port and potentially dog slow and prone to crashes on both platforms

2. It's not going to work in every use case, there's limitations, mostly in terms of speed (rendering long lists, some slight responsiveness issues, etc.)


I started with an early version of Titanium, made a lot of progress very quickly, but ended up hitting many bugs and performance and memory issues.

Each new version of Titanium made steady progress, but didn't really make for a crisp, responsive app.

So I gave up, huddled down with a friend who knows PhoneGap, and rebuilt the app in PhoneGap.

Well, it turns out there are just as many stumbling blocks with PhoneGap as there are with Titanium - if you want a responsive, good looking app, you have to jump through many hoops. I was trading off one set of headaches for another.

I'm now back on Titanium. I've reworked the app significantly and am finally getting to a happy place - it's responsive on both iOS and Android, and looks good. Still a lot of memory usage, but no crashes, so perhaps it's not an issue.

My take at the moment: PhoneGap gets you more platforms and has a lower learning curve. However, it's hard (but possible) to make a native looking/feeling app. Titanium is a pain and requires a lot of discipline in your Javascript coding style, but you can get a nice native looking/feeling app if you're willing to put in the time.


My experience: Phonegap: Responsiveness is bearable on iOS but on Android it is very slow - scrolling is choppy and there is a noticeable delay between pressing a button and seeing it activate. We abandoned it at this point.

Titanium: The layout code seems to be different between iOS and Android so if you get your app to look right in one platform it can be completely wrong in the other. On Android it bundles the V8 Javascript library so it's definitely not native code but at least with V8 the speed is not a problem. Titanium adds about 10MB for its stuff which is annoying to me as an old programmer!


Excellent article!

I've worked with Titanium since the very beginning and would absolutely recommend it to anyone that wants to reuse pieces of their application between iOS and Android. Granted, certain UI elements that exist on iOS with no Android counterpart (and vice-versa) have to be adjusted, you're still able to retain the vast majority of your code between both platforms.

The documentation has come a very long way too. It used to be that the KitchenSink had to be forked in order to see examples of new features - thankfully, that is no longer the case. The IDE that Appcelerator has shipped (after purchasing Aptana) is extremely useful. As Kevin mentioned, the signing tasks and other similar actions are handled by the IDE, so compiling and testing is relatively simple.


The one thing this article doesn't even mention is that PhoneGap is free and open source, and Titanium is expensive. Yes, Titanium has a free level, all the other price levels listed on their website are 'Contact Sales'. When I researched this last year, Titanium started just under $100/month and went wayyyy up from there. I've since published an app on Android and iOS using PhoneGap, and was happy with the result. Like any project, it takes a lot of work make it polished and look good.


Titanium is open source also (full source on GitHub), we've forked the SDK and made our own modifications.. From what I know fees are for support and the opportunity for Appcelerator accreditation, which isn't necessary in every case..


The core platform is free and open source. Paid subscriptions cover support and access to proprietary add-on modules. Pricing is unclear on the website, I'm sorry that it still has "contact sales" - but we're still finalizing pricing around per-app support, cloud services pricing, and module access. Will get REAL info out there ASAP, sorry :(


That's what I find confusing about the Titanium web site. No clear specification of what we get for free and what we can do with it. Is the studio free or not ? How does it depend on the could and analytics ?


Great Article. I have been playing around with both PhoneGap and Titanium. Definitely there is no apple to apple comparison between these products. Both of them serve different purpose though similar in language and technology. Now that PhoneGap( Apache Cordova) is part of Adobe, not sure about the long term usage with respect to licensing etc.


Finally article with good explanation of differences. Most of comments I found till now was that Titanium translates JS to native code, which sounded really hard and almost impossible to me. Focus for these tools should be getting native UI/UX look&feel, and it looks like Titanium has little advantage here. Phonegap looks more RAD.


Can titanium apps be deployed to the web and exist on their own? Are there any examples of this? One of the reasons I use phonegap is that for my smaller customers with limited budget I can create a web app first and then after success, deploy that same codebase (with limited branching based on the device) to android and iPhone.


We have a mobile web runtime platform also, though it is less mature than the native ones at this point. You can do a hybrid app approach with Titanium as well, if you like, and incorporate as few/many native UI components or APIs as you like.


Does anyone have experience wrapping a jQuery Mobile web application in native web view? How does the performance of that stack (HTML5, JQM, native WebView) compare to PhoneGap and Titanium. From previous articles, my assumption is that the performance from slowest to fastest is: JQM > PhoneGap > Titanium > Native.


I haven't directly experimented with JQM in a WebView, but based on my experience with JQM on PhoneGap and Titanium in general I would not recommend that path. JQM is slow enough on its own, and Titanium has its own performance issues, so the two together would likely be a challenge.

If you're going for Titanium you might as well use native widgets instead of JQM - otherwise PhoneGap is probably a better choice.


Can anyone comment on trigger.io?


Although I have not used trigger.io personally it appears to be akin to PhoneGap in the sense that it wraps a web view instead of using native components. I also don't believe it is open source.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: