Titanium lets you build apps really quickly, and it's getting more and more solid every day


I bet a lot of others will chime in with posts to other "duplicate" questions, and their own raging opinions. So I'll leave that to them, and just provide my own experience.

I think there's good reason to know both deeply. Here's why:

 I recently built an app to directly compare development times between Titanium, native, and a couple competitor frameworks. Native was about a week and a half. Competitor was about 2 weeks. Titanium was 3 days. That gave me a whole lot of time to play with the app and make a product a whole lot better than the competitors. I was also able to get it working just as well on Android and Mobile Web. I had around 5 platform-based conditionals, so the code had good parity.

Native has the advantages you brought up. I would add that you can also access whatever the platform has to offer. Knowing native will inform how you build apps (even when using JavaScript), and how you build modules for those apps. You might also try opening up the Xcode project that Titanium generates, and running directly on device through that. You might need to do a clean build (in Xcode), but it's quicker than running through iTunes.

Plus, I think Objective-C is a beautiful language in and of itself. It's very different from the code I "grew up" with (Java, C#, PHP, VB, and some others). It took a while to get accustomed to it, but I am glad for the time I invested.

Disclaimer: I work for Appcelerator. Hopefully you can differentiate opinions and facts in the above.