So, Ive been messing around with titanium SDK for 2 weeks and it is horrible. Bye bye to the love at first sight and welcome to marriage in a trailer park with 7 kids and no job. That is exactly how i feel right now. To start off, Titanium is most stable on windows, but who cares bout that? On windows you can only build android apps, and if i would build only android apps, I’d rather go for Java then some poorly knitted interpreter/compiler hybrid. I had my basic app running in 20 min and its great that you can do that so fast. Launching the emulator for android takes forever, but that’s not for titanium guys to solve. Still debugging is a pain in the butt when working like that. But never mind android, the real fun starts when you try to run the same app on iPhone emulator. First of all there are inconsistencies in the docs, and not just in some in depth communication with GPU or something, no no, something as basic as width or height requires to use this:
one height is for iPhone and the other one for android.
But wait, there’s more. Sometimes Titanium forgets that Titanium.API.info(‘some debug message’); is actually a part of Titanium API. Then you need to go to /build/iphone/build and delete all of the content there. Then there are mobile SDK issues, like, if you set your SDK to 1.5.1 (which is beta) and for some unimaginable reason you switch to stable SDK, compiling things for iPhone becomes not possible at all, as Titanium cant even load the list of available iPhone SDK’s, without picking one you cant compile.
Now lets say you did managed to get it running on emulator, both android and iPhone, and they actually look alike when put side by side. Which is where i was yesterday. Next step was to try it out on a device, just to see how it works, reasonable, right? Well guess what, there are gazillion of certificates you need to have and approve from apple. And even if you manage to get them, Titanium cant tell you if you have them or not. I am not kidding, this is their actual message on the screen:
We cannot verify all steps, so once you've completed them all, click "Package"
One guy on the Q & A page has started a topic: Spent 4 hours writing my iPhone app, and another 48 hours trying to get it to run on my phone, the part that surprises me the most, is that it took him 48 hours to cry out for help. Patience like that deserves a medal.
To sum up, almost every point that makes Titanium great compared to writing native app is actually worse than writing a native app, it is not faster, it is not more stable, it is not cross platform, its unusable most of the time, its undeveloped, support is slow to respond and even if they do, usually its not correct. I looked up their prices and for professional support they charge 200$/month. My guess is that for those 200 bucks, some dude in China or India actually writes you two native apps and just gives them to you.