The Web is a vital part of our daily lives, and as we begin using the Web for tasks traditionally performed on the desktop, such as word processing, software as a service (SaaS) and software + services models are becoming more important. Web developers are caught in the cross hairs of these merging industries. They have the know-how of web development but, often, none of the skills for traditional desktop or mobile development.
Enter Titanium. Appcelerator Titanium is an open source platform for developing native desktop and mobile applications using the web technologies you're already familiar with. Now, web developers can use their skills to develop for both the Web and desktop/mobile platforms. Ben Ramsey will demonstrate how to create a simple application in Titanium Desktop, showing examples using JavaScript and PHP working together in the Titanium run time environment to power dynamic desktop applications that communicate easily with external web services.
8. Four main parts of Titanium apps
• The html/css/javascript code that makes
up the core application logic and UI
• The APIs that access native device/
desktop functionality, analytics or other
modular functionality
• The language-OS bridge that compiles
web code into native application code
• The run-time shell that packages the
application for cross-platform distribution
9. Contrasting with AIR...
• Titanium is released under an open
source license
• Titanium provides access to native
controls
• Titanium applications are packaged for a
target system: Windows, OS X, Linux
12. Appcelerator’s role
• Developed and own’s Titanium source
• Licenses Titanium under Apache license
• Support, training, and consulting
• Analytics and tracking
• Infrastructure for building and packaging
releases of your apps in the cloud
15. • Titanium already had modules to support
Python and Ruby development
• PHP was on their roadmap
• PHP is a natural scripting complement to
other web technologies
• It was cool and fun to do
• I can now build desktop apps with PHP
without using PHP-GTK (no offense to
the maintainers of PHP-GTK)
23. Installation on Linux
• There is a known issue with the GTK
libraries for Titanium Developer on Linux
• Until there is a fix, do this after installing
Titanium Developer:
• cd ~/.titanium/runtime/linux/1.0.0
• rm libgobject* libgthread* libglib*
libgio*
29. var mainMenu = Titanium.UI.createMenu();
mainMenu.appendItem(Titanium.UI.createMenuItem("File"));
var menu = Titanium.UI.createMenu();
menu.appendItem(Titanium.UI.createMenuItem("Quit", function() {
if (confirm("Are you sure you want to quit?")) {
Titanium.App.exit();
}
}));
mainMenu.getItemAt(0).setSubmenu(menu);
Titanium.UI.currentWindow.menu = mainMenu;
40. PHP caveats
• echo does not work as expected
• Titanium state transitions (links) do not
send requests
• Pre-processed scripts (.php) are
processed at compile/build time
• Cannot inject classes defined in .php into
runtime code with include/require
43. Wrapping up...
• Titanium allows web developers the
ability to create desktop apps
• It builds native applications that you can
distribute for a particular OS
• You can combine PHP with JavaScript
(and Python and Ruby) to leverage the
best of each language
• Still some bugs to iron out, but that’s why
they need lots of people using it