Appcelerator Titanium

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Titanium SDK
Developer(s)Appcelerator, Inc.
Stable release
8.0.2.GA / June 18, 2019 (2019-06-18)
Preview release
Operating systemMac OS X, Windows, Linux
PlatformiOS, Android, Windows UWP, Windows Phone
TypeApplication framework
LicenseApache Public License v2, Proprietary software
Websitedeveloper.axway.com

Titanium SDK is an open-source framework that allows the creation of native mobile apps on platforms including iOS, Android and Windows UWP from a single JavaScript codebase, developed by Appcelerator.[1][2][3][4][5][6]

In February 2013, Business Insider estimated that 10% of all smartphones worldwide ran Titanium-built apps.[7] As of 2017, Titanium had amassed over 950,000 developer registrations.[8]

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 Appcelerator Studio a proprietary integrated development environment starting for free.

Architecture[edit]

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[9] using a JavaScript engine; Mozilla's Rhino is used on Android and BlackBerry, and Apple's JavascriptCore is used on iOS.[10] In 2011 it was announced that a port to Google's V8 JavaScript engine is in development which, when complete, will significantly improve performance.[11] 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

History[edit]

When it was introduced in December 2008, Titanium was intended for developing cross-platform desktop applications and was sometimes compared to Adobe Air.[12][13] 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.[14][15] Support for developing iPad-based tablet apps was added in April 2010.[16] BlackBerry support was announced on June 2010,[17] 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.[18]

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.[19] 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.[20] 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.[21]

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.[22] Since then, the Indie plans have been made free again, including native API access with Hyperloop.[23]


Versions[edit]

Version 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

Full list with all minor updates and release candidates.

Notable Features[edit]


Angular integration[edit]

Since April 2018 it is possible to use Angular 6 in combination with Titanium to create mobile apps.[24][25]

Vue.js integration[edit]

Next to the Angular integration it is also possible to use Vue.js (starting May 2018) as a framework to develop apps. [26] [27]

ES6 support[edit]

Titanium supports ES6 features since SDK 6.1.0 like Classes, fat arrow functions and more.[28]

Hyperloop[edit]

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

Native apps[edit]

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[edit]

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. [30] On the other hand it is to use smart conditions to use platform specific code to integrated platform specific features.

<Alloy>
    <Window title="Window title">
        <ActionBar id="actionbar" title="Android Actionbar" platform="android"/>
        <Label id="label">Welcome!</Label>
    </Window>
</Alloy>

Basic Window example with an Android Actionbar (will be hidden on iOS).


See also[edit]


External links[edit]


Company that use Titanium for mobile developpement[edit]

References[edit]

  1. ^ Brousseau, Christian (October 25, 2013). Creating Mobile Apps with Appcelerator Titanium (1st ed.). Packt Publishing. p. 318. ISBN 978-1-84951-926-7.
  2. ^ Bahrenburg, Benjamin (June 25, 2013). Appcelerator Titanium Business Application Development Cookbook (1st ed.). Packt Publishing. p. 328. ISBN 978-1-84969-534-3.
  3. ^ Ward, Trevor (October 2012). Augmented Reality using Appcelerator Titanium Starter (1st ed.). Packt Publishing. p. 52. ISBN 978-1-84969-390-5.
  4. ^ Martin, Terry (April 24, 2012). Building iPhone Applications with Titanium (1st ed.). Wiley. p. 352. ISBN 978-0-470-66083-6.
  5. ^ Pollentine, Boydlee; Ward, Trevor (February 2012). Appcelerator Titanium: Patterns and Best Practices (1st ed.). Packt Publishing. p. 110. ISBN 978-1-84969-348-6.
  6. ^ Pollentine, Boydlee (December 16, 2011). Appcelerator Titanium Smartphone App Development Cookbook (1st ed.). Packt Publishing. p. 308. ISBN 978-1-84951-396-8.
  7. ^ Julie Bort (1 February 2013). "Microsoft Might Buy A Startup That Powers 10 Percent Of The World's Smartphones". Business Insider. Retrieved 11 July 2013.
  8. ^ Appcelerator (7 May 2017). "Appcelerator". Appcelerator. Retrieved 7 May 2017.
  9. ^ http://developer.appcelerator.com/question/45001/is-appcelerator-titanium-mobile-really-a-cross-compiler
  10. ^ Kevin Whinnery. "Titanium Guides Project: JS Environment". Appcelerator. Titanium runs your application's JavaScript using one of two JavaScript interpreters – JavaScriptCore on iOS (the interpreter used by Webkit) and Mozilla Rhino on Android and BlackBerry.
  11. ^ Don Thorp (2011-09-07). "Platform Engineering: Android Runtime Performance Improvements". Appcelerator.
  12. ^ "Appcelerator Raises $4.1 Million for Open Source RIA Platform". Techcrunch. 9 December 2008. Archived from the original on 2 November 2009. Retrieved 29 October 2009.
  13. ^ "Appcelerator Takes On Adobe AIR with Titanium". eWeek. 9 December 2008. Retrieved 29 October 2009.
  14. ^ Appcelerator Developer Blog - The Future of Titanium Desktop
  15. ^ "Appcelerator enables iPhone, Android app dev". InfoWorld. 8 June 2009. Archived from the original on 21 November 2009. Retrieved 29 October 2009.
  16. ^ "Appcelerator Simplifies iPad App Development". 5 April 2010. Archived from the original on 7 April 2010. Retrieved 6 April 2010.
  17. ^ http://blackberryrocks.com/2010/05/06/appcelerator-announces-titanium-mobile-beta-support-blackberry-news/
  18. ^ Jeff Haynie (11 August 2016). "Appcelerator Simplifies iPad App Development". Retrieved 7 May 2017.
  19. ^ Perez, Sarah (14 June 2011). "Appcelerator Launches Titanium Studio: Mobile, Desktop & Web Development in One". ReadWriteWeb. Retrieved 14 June 2011.
  20. ^ Martin Monroe (10 August 2013). "Ti.Next: What's It All About? Appcelerator, Part 2 of 2". InfoQ. Missing or empty |url= (help)
  21. ^ Jeff Haynie (3 July 2013). "Thoughts on Ti.Next". Retrieved 4 February 2014.
  22. ^ Jeff Haynie (17 January 2016). "Axway Acquires Appcelerator—And Why This is Great News for All". Retrieved 5 May 2017.
  23. ^ Brad Hipps (2 May 2017). "Appcelerator Indie Plans Are Now Free! And Wait, There's More…". Retrieved 5 May 2017.
  24. ^ Use the Titanium platform with Angular. Contribute to appcelerator/titanium-angular development by creating an account on GitHub, Team Appcelerator, 2019-06-03, retrieved 2019-08-04
  25. ^ Vennemann, Jan (2018-04-23). "Titanium Angular Technical Preview Release Now Available". Axway Developer Blog. Retrieved 2019-08-04.
  26. ^ Knoechel, Hans (2018-05-07). "Announcing Vue.js Support in Titanium". Axway Developer Blog. Retrieved 2019-08-04.
  27. ^ Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.: appcelerator/titanium-vue, Team Appcelerator, 2019-04-04, retrieved 2019-08-04
  28. ^ Mason, Darren (2018-06-20). "Using ES6+ in a Titanium App". Axway Developer Blog. Retrieved 2019-08-04.
  29. ^ "Hyperloop". www.appcelerator.com. Retrieved 2019-08-04.
  30. ^ "Products". www.appcelerator.com. Retrieved 2019-08-04.