Titanium SDK
   HOME

TheInfoList



OR:

Titanium SDK is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
framework that allows the creation of native mobile applications on platforms
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
and
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
from a single
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
codebase. Titanium SDK is presently developed by non-profit software foundation TiDev, Inc. In February 2013, ''
Business Insider ''Insider'', previously named ''Business Insider'' (''BI''), is an American financial and business news website founded in 2007. Since 2015, a majority stake in ''Business Insider''s parent company Insider Inc. has been owned by the German publ ...
'' estimated that 10% of all smartphones worldwide ran Titanium-built apps. , Titanium had amassed over 950,000 developer registrations. The core component of the Titanium software ecosystem is the Apache-licensed
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
, Titanium SDK. Alloy, a Titanium-based
model–view–controller Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. This is done to separate internal representations of infor ...
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.


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 A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typical ...
; Mozilla's
Rhino A rhinoceros (; ; ), commonly abbreviated to rhino, is a member of any of the five extant species (or numerous extinct species) of odd-toed ungulates in the family Rhinocerotidae. (It can also refer to a member of any of the extinct species o ...
is used on Android and BlackBerry, and Apple's
JavascriptCore WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS ...
is used on iOS. In 2011 it was announced that a port to Google's
V8 JavaScript engine V8 is a free and open-source JavaScript engine developed by the Chromium Project for Google Chrome and Chromium web browsers. The project’s creator is Lars Bak. The first version of the V8 engine was released at the same time as the first versi ...
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 Many markets are structured as platform ecosystems, they can be open or closed platforms, where a stable core (such as a smartphone operating system or a music streaming service) mediates the relationship between a wide range of complements (like ap ...
, for example using platform-appropriate notification mechanisms


History

When it was introduced in December 2008, Titanium was intended for developing cross-platform desktop applications and was sometimes compared to
Adobe Air Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicatio ...
. 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 Appcelerator is a privately held mobile technology company based in San Jose, California. Its main products are Titanium, an open-source software development kit for cross-platform mobile development, and the Appcelerator Platform. Founded i ...
. 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 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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, C#, etc) that talks to a common set of
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s, tools and a single JavaScript
Virtual Machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
. We have found a way to make the
WebKit WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS ...
KJS 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 vs. 100K LOC per platform.
In January 2016, Appcelerator was acquired by
Axway Axway Software is a French-American publicly held information technology company that provides software tools for enterprise software, enterprise application integration, business activity monitoring, business analytics, mobile application devel ...
, 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.


Versions



with all minor updates and release candidates.


Notable Features


Angular integration

Since April 2018 it is possible to use Angular (web framework), Angular 6 in combination with Titanium to create mobile apps.


Vue.js integration

Next to the Angular integration it is also possible to use
Vue.js Vue.js (commonly referred to as Vue; pronounced "view") is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. It was created by Evan You, and is maintained by him ...
(starting May 2018) as a framework to develop apps.


ES6 support

Titanium supports
ES6 ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262 ECMAScript is commonly used for client-side scripting o ...
features since SDK 6.1.0 like Classes, fat arrow functions and more.


Hyperloop

Hyperloop allows the user to access native code (Java, Objective-C, Swift, C#) within JavaScript and use 3rd party libraries.


Native apps

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.


Reusable code

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. On the other hand, it is to use smart conditions to use platform specific code to integrated platform specific features. Basic Window example with an Android Actionbar (will be hidden on iOS).


See also

*
PhoneGap Apache Cordova (formerly PhoneGap) is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova ...
* NativeScript *
Xamarin Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android (formerly Mono for Android) and Xamarin.iOS (formerly MonoTouch), which are cross-platform implementation ...
* Flutter (software)


References

{{Reflist, 2


External links


Official webpage
Communication software Mobile technology companies Integrated development environments Android (operating system) development software Rich web application frameworks Mobile software programming tools