Titanium Preview Release 2 (PR2)

by Nolan Wright on February 25, 2009

In December we announced the first preview release of Titanium, our open source platform for building web-connected desktop applications using standard Web technologies. After three months of pounding away at our keyboards, we are pleased to announce the release of Preview Release 2 (PR2).

PR2 is exciting for us because it includes several capabilities that reflect our vision for what an open source web-connected platform should be. The following sections outline those capabilities in more detail.

Cross-Language Extensibility

We feel strongly that our job is to empower developers. We are not a large company, so we rely heavily on support and contribution from our open source community. In order to make our community successful, we must give them the tools to implement all of the ideas they can dream up and the customer requirements they must fulfill. To that end, PR2 contains a new Module API that enables developers to extend the core capabilities of the Titanium platform.

An extensible API is great, but we actually took it one step further. With PR2, we added support for creating Titanium Modules using Ruby, Python, and JavaScript in addition to C++. We feel that this is significant because it enables a wider range of developers to extend the core Titanium platform, which should equate to more Modules, and more Modules should equate to rapid innovation and the development of new compelling web-connected applications.

Future releases of Titanium will include support for additional programming languages like Java, PHP and C#. Again, our goal is to empower developers, so our roadmap will be heavily influenced by features that satisfy this objective.

Cross-Language Scripting

Client-side scripting has always been reserved for JavaScript. With PR2, this is no longer the case. You can now write client-side application scripts using Ruby and Python, as well as JavaScript. Both Ruby and Python have full access to the Document Object Model (DOM) making it easy to use these languages to build highly dynamic user interfaces.

You can also use JavaScript, Ruby or Python to access any Titanium Module regardless of the programming language used to implement it. For example, a Python programmer can use Python to make calls to a Module written in Ruby, Python, JavaScript or C++. All of this is made possible by Titanium’s Cross-Language Binding Layer, which allows seamless interaction between code written in any of our supported programming languages.

Linux Support

Finally, PR2 includes support for Linux. We are very excited about Linux support because now you can use standard web technologies to create powerful web-connected desktops for all three major operating systems.

I think it’s also important to note that we were able to add Linux support in less than three months. Our rapid delivery of Linux was made possible by our lightweight microkernel/module architecture. This architecture enabled us to maximize the amount of code that was reused across all three platforms, which has the added benefit of making our platform implementations more consistent, stable and easier to maintain.

Well, that’s it for now. To learn more about the PR2 release, please visit any of the sites below:

If you have any questions, please visit our community or head over to our IRC Developer Channel. Appcelerator is #appcelerator on irc.freenode.net and Titanium is #titanium_app on irc.freenode.net.

Popularity: 9% [?]

Spread the awesome:
  • RSS
  • Twitter
  • Facebook
  • FriendFeed
  • Digg
  • del.icio.us
  • Technorati
  • NewsVine
  • Slashdot
  • Yahoo! Buzz
  • Reddit
  • Google Bookmarks

{ 1 trackback }

Appcelerator heads to the desktop « rand($thoughts);
March 4, 2009 at 3:50 pm

{ 6 comments… read them below or add one }

lrbabe February 25, 2009 at 7:47 am

The link to download the linux version leads to the download page itself : (

Jeff Haynie February 25, 2009 at 9:02 am

Yeah, the news cycle caught us before the release files were uploaded to Sourceforge. We’re still uploading .. they should be up very soon.

lrbabe February 25, 2009 at 11:49 am

Where is the main menu on linux (Edit and Window)?
I don’t have access to Webkit’s debugger : (

zhou March 5, 2009 at 3:21 am

Hey guys,
seems I can’t install the linux version on my PC (Ubuntu 8.04.2)
2.6.24-23-generic #1 SMP Mon Jan 26 01:04:16 UTC 2009 x86_64 GNU/Linux

$sudo ./titanium_runtime.bin
[sudo] password for zhou:
Uncompressing archive…
Could not find runtime directory (/usr/local/Titanium), but charging ahead anyhow.
Component: runtime:0.2, operation: 0
Component: javascript:0.1, operation: 0
Component: tiapp:0.1, operation: 0
Component: tiui:0.1, operation: 0
Component: tifilesystem:0.1, operation: 0
Component: tiplatform:0.1, operation: 0
Component: tiprocess:0.1, operation: 0
Component: tidesktop:0.1, operation: 0
Component: api:0.1, operation: 0
>>> KR_HOME=/tmp/kd17199
>>> KR_RUNTIME=/tmp/kd17199/runtime
>>> KR_MODULES=/tmp/kd17199/modules/javascript:/tmp/kd17199/modules/tiapp:/tmp/kd17199/modules/tiui:/tmp/kd17199/modules/tifilesystem:/tmp/kd17199/modules/tiplatform:/tmp/kd17199/modules/tiprocess:/tmp/kd17199/modules/tidesktop:/tmp/kd17199/modules/api:
ARGUMENT[0] => ./titanium_runtime
CopyModuleAppResources: /tmp/kd17199/modules/javascript/libjavascriptmodule.so
looking for module manifest @ /tmp/kd17199/modules/javascript/manifest
Error load module: /tmp/kd17199/modules/javascript/libjavascriptmodule.so
Error: libxcb-render-util.so.0: cannot open shared object file: No such file or directory
Error generated loading module (/tmp/kd17199/modules/javascript/libjavascriptmodule.so): Null pointer
CopyModuleAppResources: /tmp/kd17199/modules/tiapp/libtiappmodule.so
looking for module manifest @ /tmp/kd17199/modules/tiapp/manifest
Loaded AppModule (/tmp/kd17199/modules/tiapp/libtiappmodule.so)
+++home = /tmp/kd17199
+++config = /tmp/kd17199/tiapp.xml
Application properties path=/usr/local/Titanium/appdata/com.titaniumapp.installer.runtime/application.properties
Error generated loading module (/tmp/kd17199/modules/tiapp/libtiappmodule.so): File not found
CopyModuleAppResources: /tmp/kd17199/modules/tiui/libtiuimodule.so
looking for module manifest @ /tmp/kd17199/modules/tiui/manifest
Error load module: /tmp/kd17199/modules/tiui/libtiuimodule.so
Error: libxcb-render-util.so.0: cannot open shared object file: No such file or directory
Error generated loading module (/tmp/kd17199/modules/tiui/libtiuimodule.so): Null pointer
CopyModuleAppResources: /tmp/kd17199/modules/tifilesystem/libtifilesystemmodule.so
looking for module manifest @ /tmp/kd17199/modules/tifilesystem/manifest
Loaded FilesystemModule (/tmp/kd17199/modules/tifilesystem/libtifilesystemmodule.so)
CopyModuleAppResources: /tmp/kd17199/modules/tiplatform/libtiplatformmodule.so
looking for module manifest @ /tmp/kd17199/modules/tiplatform/manifest
Loaded PlatformModule (/tmp/kd17199/modules/tiplatform/libtiplatformmodule.so)
CopyModuleAppResources: /tmp/kd17199/modules/tiprocess/libtiprocessmodule.so
looking for module manifest @ /tmp/kd17199/modules/tiprocess/manifest
Loaded ProcessModule (/tmp/kd17199/modules/tiprocess/libtiprocessmodule.so)
CopyModuleAppResources: /tmp/kd17199/modules/tidesktop/libtidesktopmodule.so
looking for module manifest @ /tmp/kd17199/modules/tidesktop/manifest
Loaded DesktopModule (/tmp/kd17199/modules/tidesktop/libtidesktopmodule.so)
CopyModuleAppResources: /tmp/kd17199/modules/api/libapimodule.so
looking for module manifest @ /tmp/kd17199/modules/api/manifest
Loaded APIModule (/tmp/kd17199/modules/api/libapimodule.so)

— stopped here!!! can’t continue —

any idea, thanks.

Jeff Haynie March 5, 2009 at 3:32 am

The linux problem has been resolved in head and will be available in PR3 which should be out by the end of next week. So, if you’d like, we can provide an earlier drop, you could build from source or you can catch it on PR3. Email me at jhaynie at appcelerator dot org or you can drop by our IRC channel at irc.freenode.net #titanium_app for more help.

zhou March 5, 2009 at 8:48 pm

Thanks for reply, can send me a link to download the source if it’s fine. my email address is (xianhua.zhou AT gmail.com), I’d like to test it.
Well done, I like the project.

Leave a Comment

Previous post: Titanium Developer

Next post: Introducing Appcelerator Entourage