Presentation given by Jeff Haynie, CEO of Appcelerator on building Desktop Applications using Appcelerator Titanium. http://titaniumapp.com
This presentation was given at the JSConf 2009 in Washington, DC.
8. Why web technologies?
Speed (and thus, cost) of development
Lots of people know them Why not?
Great tooling
Lots of libraries
HTML/CSS are good enough for UI
Plenty of online resources, training
Mix of great languages: JavaScript, Python, Ruby
9. Appcelerator Titanium
• Open source SDK, Tools (Apache)
• Cross-platform (Win32, OSX, Linux)
• Based on WebKit
• Modular and extensible
• Supports JavaScript, Python, Ruby
(more coming)
• http://github.com/marshall/titanium
10. What about AIR?
• Adobe AIR is a great product
• Different architecture
• Not open source
• Very strong (and rigid) security model
• Mature
• Requires Flash
• Requires pre-installed Runtime
11. Desktop API
• Filesystem - read, write
• Process - start/stop/control
• UI - menus, trays, drag-drop, etc
• Media - sound, video, camera, mic
• Database - online, offline
• Notifications - user notifications
• Network - robust access and protocols
13. Kroll microkernel
• Cross-platform C++
• Small boot kernel which dynamically loads
modules
• Cross-language, in-process binding
technology (C++, JS, Ruby, Python)
• All APIs in Titanium are kroll modules
• Separate Github open source project:
• http://github.com/jhaynie/kroll
14. You focus on app
• We’ll focus on complexities of packaging,
installation, updating, analytics, etc
• Apps are packaging in a cross-platform
specific manner
• Developers control their packaging
• Apps look and feel “native”
15. Your happy place
• You can use your-favorite-javascript-
framework
• JQuery, Dojo, Mootools, Prototype, etc.
• Capuccino, ExtJS, Entourage, etc.
• Import existing modules/gems (Py/Ruby)
• Even Flash/Flex, Silverlight (and maybe Java/
Java FX)
16. HTML 5 ++
• Database support (we also have Sync DB
API)
• CSS animation, transitions, gradients
• Custom CSS scrollbars
• Web workers
• Custom Fonts (@font-face)
• SVG
17. Titanium Apps
• Focus on writing HTML/JavaScript etc
which runs natively on the desktop
machine
• Resources are bundled with application and
are local (but can remotely use resources)
• No cross-domain restrictions (except
remote resources origin touching Titanium)
• Benefit from shared runtime
Supports Flash, Silverlight and other plugins
18. Performance
• Titanium runs on various architectures
(Intel, PPC, 32-bit, 64-bit)
• Running on EFIKA 5200 B (PPC 128MB)
• http://www.genesi-usa.com/efika
• Yahoo Sideline port uses 1/4 memory of
AIR app
• Pandora AIR app pegs CPU at 100%,
Titanium 8-10%