Appcelerator Titanium

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Appcelerator Titanium
Developer(s) Appcelerator, Inc.
Stable release 3.5.0.GA / January 13, 2015 (2015-01-13)
Preview release 3.2.2 Beta / January 29, 2014 (2014-01-29)
Operating system Mac OS X, Windows, Linux
Platform iOS, Android, BlackBerry, Tizen
Type Application framework
License Apache Public License v2, Proprietary software
Website www.appcelerator.com/developers

Appcelerator Titanium is an open-source framework that allows the creation of mobile apps on platforms including iOS, Android, Windows Phone, BlackBerry OS, and Tizen 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 2013, Titanium had amassed nearly 500,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 Titanium Studio, a proprietary integrated development environment available as freeware.

Architecture[edit]

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[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.

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.[12][13]

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.[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 on 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.

In April 2010, Appcelerator expanded the Titanium product line with the Titanium Tablet SDK.[18] 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.[20] 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.[21] 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.[22]

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. ^ Devindra Hardawar (22 August 2013). "Why did Appcelerator buy Singly? Because it wants to be the next Oracle". VentureBeat. Retrieved 4 February 2014. 
  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. ^ "Why you should stay away from Appcelerator's Titanium". 2 June 2011. Retrieved 27 November 2011. 
  13. ^ "A few months with Titanium Appcelerator". 2 July 2011. Retrieved 27 November 2011. 
  14. ^ "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. 
  15. ^ "Appcelerator Takes On Adobe AIR with Titanium". eWeek. 9 December 2008. 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. Retrieved 29 October 2009. 
  18. ^ a b "Appcelerator Simplifies iPad App Development". 5 April 2010. Archived from the original on 7 April 2010. Retrieved 6 April 2010. 
  19. ^ http://blackberryrocks.com/2010/05/06/appcelerator-announces-titanium-mobile-beta-support-blackberry-news/
  20. ^ Perez, Sarah (14 June 2011). "Appcelerator Launches Titanium Studio: Mobile, Desktop & Web Development in One". ReadWriteWeb. Retrieved 14 June 2011. 
  21. ^ Martin Monroe (10 August 2013). "Ti.Next: What's It All About? Appcelerator, Part 2 of 2". InfoQ. 
  22. ^ Jeff Haynie (3 July 2013). "Thoughts on Ti.Next". Retrieved 4 February 2014. 

See also[edit]