Software:Appcelerator Titanium

From HandWiki
Titanium SDK
Developer(s)TiDev, Inc.
Stable release
11.0.0 GA / July 1, 2022; 19 months ago (2022-07-01)[1]
Preview release
Operating systemMac OS X, Windows, Linux
PlatformiOS, Android, Windows UWP, Windows Phone
TypeApplication framework
LicenseApache Public License v2, Proprietary software
WebsiteTitanium SDK

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.[2][3][4][5][6][7]

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

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.

Axway announced at February 24, 2021 that the whole framework will be handed over to the community and that they stop supporting it in March 2022.[10]

Since March 2022 "TiDev, Inc" maintains the official Titanium repositories.

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

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

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.[21] 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.[22] 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.[23]

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

Versions

Version (since 2020) Release date
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

[2] with all minor updates and release candidates.

Notable Features

Angular integration

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

Vue.js integration

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

ES6 support

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

Hyperloop

Hyperloop[31] 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.[32] 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

References

  1. "GA Release of Titanium SDK 11.0.0". 1 July 2022. https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_Release_Notes/Titanium_SDK_Release_Notes_11.x/Titanium_SDK_11.0.0.GA_Release_Note.html. 
  2. Brousseau, Christian (October 25, 2013). Creating Mobile Apps with Appcelerator Titanium (1st ed.). Packt Publishing. p. 318. ISBN 978-1-84951-926-7. http://www.packtpub.com/creating-mobile-apps-with-appcelerator-titanium/book. 
  3. Bahrenburg, Benjamin (June 25, 2013). Appcelerator Titanium Business Application Development Cookbook (1st ed.). Packt Publishing. p. 328. ISBN 978-1-84969-534-3. https://www.packtpub.com/application-development/appcelerator-titanium-business-application-development-cookbook. 
  4. Ward, Trevor (October 2012). Augmented Reality using Appcelerator Titanium Starter (1st ed.). Packt Publishing. p. 52. ISBN 978-1-84969-390-5. http://www.packtpub.com/augmented-reality-using-appcelerator-titanium-starter/book. 
  5. Martin, Terry (April 24, 2012). Building iPhone Applications with Titanium (1st ed.). John Wiley & Sons. p. 352. ISBN 978-0-470-66083-6. http://eu.wiley.com/WileyCDA/WileyTitle/productCd-047066083X.html. 
  6. Pollentine, Boydlee; Ward, Trevor (February 2012). Appcelerator Titanium: Patterns and Best Practices (1st ed.). Packt Publishing. p. 110. ISBN 978-1-84969-348-6. http://www.packtpub.com/appcelerator-titanium-patterns-and-best-practices/book. 
  7. Pollentine, Boydlee (December 16, 2011). Appcelerator Titanium Smartphone App Development Cookbook (1st ed.). Packt Publishing. p. 308. ISBN 978-1-84951-396-8. http://www.packtpub.com/appcelerator-titanium-mobile-applications-development-for-smartphone-iphone-android-cookbook/book. 
  8. Julie Bort (1 February 2013). "Microsoft Might Buy A Startup That Powers 10 Percent Of The World's Smartphones". Business Insider. http://www.businessinsider.com/microsoft-eyes-appcelerator-acquisition-2013-2#ixzz2YmNSFhT7. Retrieved 11 July 2013. 
  9. Appcelerator (7 May 2017). "Appcelerator". http://www.appcelerator.com/. Retrieved 7 May 2017. 
  10. "Axway Blog". https://devblog.axway.com/featured/product-update-changes-to-application-development-services-appcelerator/. 
  11. "Axway Software". http://developer.appcelerator.com/question/45001/is-appcelerator-titanium-mobile-really-a-cross-compiler. 
  12. Kevin Whinnery. "Titanium Guides Project: JS Environment". Appcelerator. http://developer.appcelerator.com/blog/2010/12/titanium-guides-project-js-environment.html. "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." 
  13. Don Thorp (2011-09-07). "Platform Engineering: Android Runtime Performance Improvements". Appcelerator. http://developer.appcelerator.com/blog/2011/09/platform-engineering-android-runtime-performance-improvements.html. 
  14. "Appcelerator Raises $4.1 Million for Open Source RIA Platform". Techcrunch. 9 December 2008. Archived from the original on 2 November 2009. https://web.archive.org/web/20091102082958/http://www.techcrunch.com/2008/12/09/appcelerator-raises-41-million-for-open-source-ria-platform/. Retrieved 29 October 2009. 
  15. "Appcelerator Takes On Adobe AIR with Titanium". eWeek. 9 December 2008. http://www.eweek.com/c/a/Application-Development/Appcelerator-Takes-on-Adobe-AIR-with-Titanium/. Retrieved 29 October 2009. 
  16. Appcelerator Developer Blog – The Future of Titanium Desktop
  17. "Appcelerator enables iPhone, Android app dev". InfoWorld. 8 June 2009. Archived from the original on 21 November 2009. https://web.archive.org/web/20091121063423/http://www.infoworld.com/d/developer-world/appcelerator-enables-iphone-android-app-dev-655. Retrieved 29 October 2009. 
  18. "Appcelerator Simplifies iPad App Development". 5 April 2010. Archived from the original on 7 April 2010. https://web.archive.org/web/20100407122653/http://mashable.com/2010/04/05/titanium-tablet-sdk/. Retrieved 6 April 2010. 
  19. http://blackberryrocks.com/2010/05/06/appcelerator-announces-titanium-mobile-beta-support-blackberry-news/
  20. Jeff Haynie (11 August 2016). "Appcelerator Simplifies iPad App Development". http://www.appcelerator.com/blog/2016/08/hyperloop-is-here/. Retrieved 7 May 2017. 
  21. Perez, Sarah (14 June 2011). "Appcelerator Launches Titanium Studio: Mobile, Desktop & Web Development in One". ReadWriteWeb. http://www.readwriteweb.com/mobile/2011/06/appcelerator-launches-titanium-studio-mobile-desktop-web-development-in-one.php. Retrieved 14 June 2011. 
  22. Martin Monroe (10 August 2013). "Ti.Next: What's It All About? Appcelerator, Part 2 of 2". InfoQ. 
  23. Jeff Haynie (3 July 2013). "Thoughts on Ti.Next". http://www.appcelerator.com/blog/2013/07/thoughts-on-ti-next/. Retrieved 4 February 2014. 
  24. Jeff Haynie (17 January 2016). "Axway Acquires Appcelerator—And Why This is Great News for All". http://www.appcelerator.com/blog/2016/01/axway-acquires-appcelerator-and-why-this-is-great-news-for-all/. Retrieved 5 May 2017. 
  25. Brad Hipps (2 May 2017). "Appcelerator Indie Plans Are Now Free! And Wait, There's More…". https://www.appcelerator.com/blog/2017/05/free-plan-announcement/. Retrieved 5 May 2017. 
  26. GitHub – appcelerator/titanium-angular: Use the Titanium platform with Angular., Team Appcelerator, 2019-06-03, https://github.com/appcelerator/titanium-angular, retrieved 2019-08-04 
  27. Vennemann, Jan (2018-04-23). "Titanium Angular Technical Preview Release Now Available" (in en-US). https://devblog.axway.com/mobile-apps/titanium-angular-technical-preview-release/. 
  28. Knoechel, Hans (2018-05-07). "Announcing Vue.js Support in Titanium" (in en-US). https://devblog.axway.com/mobile-apps/announcing-vue-js-support-in-titanium/. 
  29. Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.: appcelerator/titanium-vue, Team Appcelerator, 2019-04-04, https://github.com/appcelerator/titanium-vue, retrieved 2019-08-04 
  30. Mason, Darren (2018-06-20). "Using ES6+ in a Titanium App" (in en-US). https://devblog.axway.com/mobile-apps/using-es6-in-a-titanium-app/. 
  31. "Hyperloop" (in en-US). https://www.appcelerator.com/mobile-app-development-products/hyperloop/. 
  32. "Products" (in en-US). https://www.appcelerator.com/mobile-app-development-products/. 

External links