Why I am not using Appcelerator Titanium anymore

19. June 2012

 

A couple months back took a long look at Appcelerator and initially I loved what I saw.  For those of you unaware, Appcelerator allows you to develop “native” applications for Android and iOS in JavaScript that execute in a special version of the V8 JavaScript Engine. I started developing a prototype app of a simple Android game for my daughter and got surprisingly good results quickly.  It was a very encouraging start, but then the wheels fell off.  I notice a number of people end up on this site from search engines looking for an Appcelerator review ( for some reason? ) so I thought I would share my experiences.

 

For whatever reason, I got distracted and put it down for a while, I came back to it recently and intended to finish off that prototype.  Here is the kicker, the exact same code from a couple months ago, unchanged, no longer works on my Transformer tablet.

 

I will say, this is frustrating to say the least.  Now, since the code didn’t change it was obviously an update to Android that broke things, I can’t exactly blame that on Appcelerator Titanium ( oh the joys of Android device compatibility… ) but I can blame them for what came next…

 

You can’t debug on device.  At all.  With the exception of printing comments to logcat, you are basically blind.  This obviously leads to a problem, as here is what happens when I run the app.  ( Which by the way, still runs perfectly fine on my Galaxy Note running Android 2.3.x, its just on my Asus Transformer that it breaks ):

 

appcell

 

Since I can’t debug on device, this is the results I get from connecting with the Delvik Debug Monitor:

 

06-19 09:56:51.090: I/TiApplication(1823): (main) [0,0] checkpoint, app created.
06-19 09:56:51.130: I/TiApplication(1823): (main) [46,46] Titanium 2.0.2 (2012/05/30 10:21 2ff31a3)
06-19 09:56:51.170: D/dalvikvm(1823): GC_CONCURRENT freed 268K, 5% free 6703K/7047K, paused 2ms+2ms
06-19 09:56:51.380: D/dalvikvm(1823): GC_CONCURRENT freed 314K, 6% free 6898K/7303K, paused 2ms+2ms
06-19 09:56:51.450: E/TiApplication(1823): (KrollRuntimeThread) [318,364] APP PROXY: ti.modules.titanium.app.AppModule@4112e910

 

 

And, that is it.  Since I can’t debug on the device, I am pretty much DOA here.  The forums answer nothing ( although I did find other people having similar problems ).  I of course could debug in the emulator with two exceptions.  a) the error only occurs on the actual device b) the debugging experience on Android is still awful.

 

This is another area with Appcelerator Titanium I always found infuriating… the emulator.  Getting it to actually run with your running emulator was a nightmare, you had to match up the Android build version and run configuration exactly with the version of the running emulator, then it was still a 50/50 chance that it would actually use your emulator, or start a new one.  If you’ve worked with Android before, you know how fun waiting for the emulator is!  There is light and the end of the tunnel with the recently release Intel emulator running a heck of a lot quicker, but unfortunately the JavaScript V8 virtual machine Appcelerator relies on doesn’t work with it.

 

It’s a shame to be tripped up on such a thing, but actually being able to debug on your device is an absolute requirement, as is demonstrated by this situation.  There are other annoyances with using Appcelerator certainly…  the binaries it generates are “large” to be extremely kind, performance can be a bit spotty at times and you virtually have to write two applications if you want to support iOS and Android, but none of these was enough to make me give up. 

 

Not being able to debug on device, coupled with some remarkably meh support.. that is.  Combined with the fact my application was broken by an Android update… if I can’t get my code working with my three devices reliably, what happens when I release to the masses with their millions of different devices?

 

Which is disappointing, as I really liked working with Appcelerator.  I even liked Appcelerator Titanium as an IDE, which is shocking as I hate Eclipse, which it is based on. 

 

There is potentially light at the end of the tunnel, as there is an open ticket for debugging on device.  Unfortunately, its been assigned medium priority and has already been open for almost a year.

 

Appcelerator Titanium is an interesting and encouraging product, but for the above reasons, I just can’t commit to using it.  Add native debugging support, and I will certainly reconsider.

General , , ,







blog comments powered by Disqus
Introducing the Cool Thing of the Week

Introducing the Cool Thing of the Week

19. December 2011

 

 

In the process of scouring the net, either out of my own interest, as research for possible articles or as part of my own development process, I come across tons of absolute gems.  This new weekly column is going to be showcasing these various sites of interest, I hope you find them as interesting as I do!

 

I spend a lot of time on the web, but I can’t be everywhere!  So if you came across a really cool site, project, game or something else that you think will be of interest to a bunch of game developers, let us know and it may be featured as a future cool item.  This is all about raising exposure to items that might be of interest to your fellow developer!

 

 

 

 

Now, let me introduce the first ever Cool Thing of the Week!

 

EbonyFortress.com – List of free game development libraries

 

 

 

There are an absolute ton of free libraries out there covering all facets of game programming.  One of the biggest problems is a matter of finding them!  Often times, Google provesEbonyFortress completely useless and forum links you may come across have long since been abandoned, leading you to page after page of dead links.  Today’s entry really isn’t all that much of an exception, as it hasn’t been updated in close to a year.  That said, it is still perhaps the most timely and complete list of free game related libraries I have ever found.

 

 

This site breaks entries down into their general category ( 3D Graphics, 2D Graphics, Sound/Music, Networking, Video, Compression, Artificial Intelligence, Math/Physics, Scripting, etc. ), each entry contains a link to the library as well as the license it was released under ( such as GPL, MIT ).  There are a ton of entries, well over a hundred and from my own experiences I would say it is pretty comprehensive.  All the libraries I could think to look up were represented on this list, although in a few cases things weren’t where I initially expected them ( such as SFML being under general purpose instead of 2D graphics, although that location makes perfect sense as well. )  There are some entries in there I would probably prune due to their age ( such as Hexen 2 or Genesis ) and I would love to see an indicator to show if thee libraries are still under active development.  These small quibbles aside, the list is nearly perfect.

 

 

So, if you find yourself looking for a free library for just about any aspect of game development, this page is a very good place to start!  I can only hope the author continues to update it, to keep it the wonderful resource it currently is!






Stay tuned for next weeks CTotW! Again, we look forward to your recommendations so let us know!. We will be keeping an active archive here, which admittedly is a bit empty now. Comments of course are open on this post as well, let us know your opinion of the sites we choose! Got another similar recommendation, found it useful, didn't find it useful? Let us know in the comments below.

Cool Thing of the Week







blog comments powered by Disqus