I’ve been trying to get into true mobile development — not just making a webpage look good on mobile devices — for some time now but have been extremely busy and I generally prefer using a language that I already know. With that in mind I turned to Titanium since I had some initial success with it building a few desktop apps when Titanium first popped on the scene. So, I’m a month into playing with Titanium for mobile development I’ve got some thoughts on it, mainly on the idea of using your webskills for native mobile functionality, lack of information and the approach of Appcelerator itself.
Before I go on, this is not meant as flame bait or to put down a great product by Appcelerator, it is simply meant to give my perspective as a new developer to Titanium Mobile and to hopefully show my progression in learning how to use it. As of this writing I am working with the Titanium Developer 1.2.2 and Titanium SDK 1.5.1 on two separate Windows 7 machines.
Something you might have picked up from the previous paragraph is the lack of information out there. This is both in regards to tutorials and to code examples. As of this writing doing a search for “appcelerator titanium mobile tutorials” brings up only two somewhat recent tutorials — one by tutsplus (using Titanium SDK 1.3 but some of it is still helpful for 1.5.1) and one by cssgallery — everything else points to old versions or are “compare” articles. Since there is no help in the tutorial-verse, I turned to the documentation which, at first glance, is pretty good but will not help you figure out how to use the API; it is simply a reference, nothing more. Both of these facts make starting out very frustrating so the only saving grace is the Kitchen sink application that they put out so you can see the API in action. But again, for a new Titanium user it is still a bit hard to figure out what does what and when.
The last point I want to make and most likely is the root cause for the lack of information from other sources is Appcelerator’s business approach to this Open Source project. There are a few things they do that kinda makeme feel dirty using Titanium, one being that I can’t use the developer tool offline! I do a ton of work on the train but can’t do any mobile development because the developer tool needs to be online. My guess, which seems to be the consensus, is that this is to track you and how you are using developer tool which I can only assume is for investor purposes. Why else would it need to be online for me to recompile my changes every two minutes? Next on my list is the plastering of training ads in every email I get. This is true every time I open the dev tool, and every time I go to the developer center. And then there is the fact that Titanium does not have it’s own site but is interwoven into Appcelerator’s corporate site. From a person that is all about the community — working with the WordPress, jQuery and Codeigniter communities for many years — having to go to what seems like a corporate site to ask for help or to give help just doesn’t sit well with me.
Again, this post is not meant to bash but to simply give my current perspective. I will be working with Titanium for the foreseeable future mainly because I am not looking to learn Objective-C and am not willing to get back into writing Java. Titanium does have a lot of interesting facets that I am looking to investigating and blogging about.