What’s in this Chapter? • Appcelerator Titanium was released in December 2008, and has been steadily growing in functionality since its release. • Starting with its Titanium Developer product, Appcelerator provided a single-point interface to run applications. • As features were added to the Native iOS SDK, Titanium released a new, major revision, and each minor version included bug fixes and code to bring parity between Android and iOS. Why Use Titanium? • The primary development languages for Titanium are HTML, CSS, and JavaScript. • The compile process generates iOS and Android source code, as well as a distributable binary, respective to each platform. • By leveraging the Titanium framework developers are provided a single way to create all of their UI, transparent to the native codebase. Who is Using Titanium? • NBC, GetGlue, • Appcelerator keeps track of its user base through the login contained within the IDE • When creating projects in Titanium Studio, your login name is registered with your project's App Id, so Appcelerator understands how many apps you are developing • Appcelerator makes sure to let all the developers know when new features and versions are being released • Every quarter, Appcelerator, along with IDC (an IT market analysis and research firm), release their mobile developer analytics report from information gathered from developer surveys Getting the Tools You Need • Installing Titanium Studio • Downloading the Kitchen Sink • Development • Project Structure • Titanium Basics • Creating User interfaces • Basic UI Elements in Titanium • Basic UI View Elements in Titanium Getting the Tools You Need • Basic UI Data/Layout Elements in Titanium • Debugging • Connecting Titanium to the Markets • Versioning Your App Building the Derby App in Titanium • Tables • Pickers • Navigation (Back Stack) and Tab Groups • Modal Forms • Alerts • Offline Storage • SQLite • Isolated Storage Building the Derby App in Titanium • Preferences and Settings • Web Service • JSON Is Your Friend • GPS • Accelerometer Summary • Titanium is not a magic bullet. It is a solid framework for developing a single codebase to deploy to multiple platforms. • Titanium allows developers to use a language they are more familiar with to create apps in a domain outside of their knowledge. • Titanium is not an exact match to native languages. Not all features of the mobile platforms are exposed (or can necessarily be exposed) in its API. • With the addition of Titanium Studio, developing in the framework has grown by leaps and bounds. • The team at Appcelerator works to pack as much functionality into their framework as possible. • Titanium is an excellent tool to learn mobile device programming, and for many projects can provide the necessary functionality to deliver a finished product.