Kalpana Kalpana (Editor)

Appcelerator Titanium

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Appcelerator, Inc.

Type
  
Application framework

Appcelerator Titanium adamzwakkcomwpcontentuploads201211titanium

Stable release
  
6.0.1.GA / December 21, 2016 (2016-12-21)

Preview release
  
[1] / January 7, 2016 (2016-01-07)

Operating system
  
Mac OS X, Windows, Linux

Platform
  
iOS, Android, BlackBerry, Windows

Appcelerator Titanium is an open-source framework that allows the creation of mobile apps on platforms including iOS, Android and Windows Phone from a single JavaScript codebase, developed by Appcelerator.

Contents

In February 2013, Business Insider estimated that 10% of all smartphones worldwide ran Titanium-built apps. As of 2016, Titanium had amassed over 800,000 developer registrations.

The core component of Titanium is the Apache-licensed software development kit, Titanium SDK. Appcelerator also makes Alloy, an Apache-licensed, Titanium-based model–view–controller framework, and Titanium Studio, now Appcelerator Studio a proprietary integrated development environment starting at $36/month per seat.

Architecture

The core features of Appcelerator Titanium include:

  • A cross-platform API for accessing native UI components such as navigation bars, menus, and dialog boxes and native device functionality including the file system, network, geolocation, accelerometer, and maps.
  • Transparent access to native functionality not already covered by the API.
  • All application source code gets deployed to the mobile device where it is interpreted using a JavaScript engine; Mozilla's Rhino is used on Android and BlackBerry, and Apple's Javascriptcore is used on iOS. In 2011 it was announced that a port to Google's V8 JavaScript engine is in development which, when complete, will significantly improve performance. Program loading takes longer than it does for programs developed with the native SDKs, as the interpreter and all required libraries must be loaded before interpreting the source code on the device can begin.

    Some developers have reported that although working with Titanium gives fast results, making Titanium well suited for prototyping, there are issues around differences in behaviour of the API cross-platform, stability and memory management, that made them re-write their apps in native code in the end.

    History

    When it was introduced in December 2008, Titanium was intended for developing cross-platform desktop applications and was sometimes compared to Adobe Air. However, it added support for developing iPhone and Android mobile applications in June 2009, and in 2012, Titanium Desktop was spun off into a separate, community-driven project named TideSDK. Support for developing iPad-based tablet apps was added in April 2010. BlackBerry support was announced on June 2010, and has been in beta since April 2013. Tizen support was also added in April 2013 with the 3.1.0 Titanium Studio and SDK releases.

    In April 2010, Appcelerator expanded the Titanium product line with the Titanium Tablet SDK. The Titanium Tablet SDK draws heavily from the existing support for iPhone, but it also includes native support for iPad-only user interface controls such as split views and popovers. Initially the mobile SDK only supported development for iPad, but support now includes Android-based tablets as well.

    In June 2011, Appcelerator released Studio and Titanium Mobile 1.7. Titanium Studio is a full open standards IDE that is derived from Aptana Studio which Appcelerator acquired in January 2011.

    In June 2013, Jeff Haynie, Appcelerator's CEO, announced that the company had begun Ti.Next, a project to rewrite the Titanium SDK in Javascript for improved performance and to bring Titanium's end users, who write in Javascript, closer to the internal code. In a blog post, he wrote:

    We believe JavaScript should be the right language to build Titanium, not just apps on top of the Titanium SDK. With Ti.Next, we've created a small microkernel design that will allow us to have minimal bootstrap code in the native language (C, Java, C#, etc) that talks to a common set of compilers, tools and a single JavaScript Virtual Machine. We have found a way to make the WebKit KJS VM work on multiple platforms instead of using different VMs per platform. This means we can heavily optimize the microkernel (herein after called the "TiRuntime") and maintenance, optimizations and profiling can be greatly simplified. We're talking about ~5K LOC vs. 100K LOC per platform.

    References

    Appcelerator Titanium Wikipedia