# Titanium SDK

Titanium SDK is an open-source framework that allows the creation of native mobile applications on platforms iOS and Android from a single JavaScript codebase. It is presently developed by non-profit software foundation TiDev, Inc.
In February 2013, Business Insider estimated that 10% of all smartphones worldwide ran Titanium-built apps. As of 2017, Titanium had amassed over 950,000 developer registrations.
The core component of the Titanium software ecosystem is the Apache-licensed software development kit, Titanium SDK. Alloy, a Titanium-based model–view–controller framework, is a related project presently maintained and developed by TiDev, Inc for use with the Titanium SDK.
Titanium SDK was originally developed and maintained by Appcelerator, Inc, then later by Axway, Inc after Axway purchased Appcelerator in 2016. Today the Titanium SDK and related projects are developer-maintained under direction of non-profit Alabama corporation TiDev, Inc. based in Centreville, Alabama.

## 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 in 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. The latest addition to the platform in 2016 has been Hyperloop, a technology to access native API's on iOS, Android and Windows with JavaScript.
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. 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 January 2016, Appcelerator was acquired by Axway, a global software company with more than 11,000 public- and private-sector customers in 100 countries. Since then, the Indie plans have been made free again, including native API access with Hyperloop.

## Architecture

The core features of Titanium SDK 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 covered by Hyperloop and native modules.
* MVC-based framework Alloy
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, 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.
Titanium provides APIs for:
* Use of hardware-specific features, such as the Android menu button
* Use of OS-specific controls, such as the Cocoa UI controls on iOS
* Participation in the platform ecosystem, for example using platform-appropriate notification mechanisms

### Versions

| Version (before 2021) | Release date |
| 1.0.0 | 9 March 2010 |
| 1.6.0.GA | 23 February 2011 |
| 1.7.0.GA | 7 June 2011 |
| 2.0.0.GA | 30 March 2012 |
| 2.1.0.GA | 28 June 2012 |
| 3.0.0.GA | 13 December 2012 |
| 3.3.0.GA | 16 July 2014 |
| 3.4.0.GA | 26 September 2014 |
| 3.5.0.GA | 13 January 2015 |
| 4.0.0.GA | 20 May 2015 |
| 4.1.0.GA | 8 July 2015 |
| 5.0.0.GA | 16 September 2015 |
| 5.1.0.GA | 20 November 2015 |
| 5.2.0.GA | 22 February 2016 |
| 5.3.0.GA | 2 June 2016 |
| 5.4.0.GA | 10 August 2016 |
| 5.5.0.GA | 13 September 2016 |
| 6.0.0.GA | 14 November 2016 |
| 6.1.0.GA | 26 May 2017 |
| 6.2.0.GA | 13 September 2017 |
| 6.3.0.GA | 1 November 2017 |
| 7.0.0.GA | 8 December 2017 |
| 7.1.0.GA | 14 March 2018 |
| 7.2.0.GA | 14 June 2018 |
| 7.3.0.GA | 17 August 2018 |
| 7.4.0.GA | 17 September 2018 |
| 7.5.0.GA | 15 November 2018 |
| 8.0.0.GA | 14 March 2019 |
| 8.0.2.GA | 18 June 2019 |
| 8.1.0.GA | 28 August 2019 |
| 8.2.0.GA | 14 Novembuer 2019 |
| 8.3.1.GA | 17 January 2020 |
| 9.0.0.GA | 18 March 2020 |
| 9.0.1.GA | 16 April 2020 |
| 9.0.2.GA | 19 May 2020 |
| 9.0.3.GA | 10 June 2020 |
| 9.1.0.GA | 14 August 2020 |
| 9.2.0.GA | 23 September 2020 |
| 9.2.1.GA | 6 October 2020 |
| 9.2.2.GA | 29 October 2020 |
| 9.3.0.GA | 14 December 2020 |
| 9.3.1.GA | 25 January 2021 |
| 9.3.2.GA | 11 February 2021 |
| 10.0.0.GA | 17 May 2021 |
| 10.0.1.GA | 28 July 2021 |
| 10.0.2.GA | 10 August 2021 |
| 10.1.0.GA | 28 September 2021 |
| 10.1.1.GA | 19 November 2021 |
| 11.0.0.GA | 1 July 2022 |
| Version (since 2022) | Release date |
| 11.1.0.GA | 8 September 2022 |
| 11.1.1.GA | 26 September 2022 |
| 12.0.0.GA | 30 December 2022 |
| 12.1.0.GA | 24 April 2023 |
| 12.1.1.GA | 28 April 2023 |
| 12.1.2.GA | 2 June 2023 |
| 12.2.0.GA | 15 September 2023 |
| 12.2.1.GA | 9 October 2023 |
| 12.3.0.GA | 16 February 2024 |
| 12.4.0.GA | 17 July 2024 |
12.4.0.GA with all minor updates and release candidates.

## Notable features

* Since April 2018 it is possible to use Angular 6 in combination with Titanium to create mobile apps.
* Titanium can be used with Vue.js as a framework to develop apps since May 2018.
* Titanium supports ES6 features since SDK 6.1.0 like Classes, fat arrow functions and more.
* Hyperloop allows the user to access native code (Java, Objective-C, Swift, C#) within JavaScript and use 3rd party libraries.
* With Appcelerator Titanium it is possible to create native apps using JavaScript. The compiled apps use native UI components with a connection layer that is able to connect those native UI elements with your JavaScript code. The benefit is that the user will have the best user-experience on every platform since it uses the correct/native UI elements instead of creating custom elements.
* One goal of Titanium is to reuse as much code for both platforms as possible. There is a high parity level of components and using the Alloy MVC framework makes it possible to share up to 90% of your code on both platforms.