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%