Use your web development (HTML, CSS, and JavaScript) skills to build desktop and mobile applications using Titanium Developer platform.
Presented on Barcamp Singapore 4
Streamlining Python Development: A Guide to a Modern Project Setup
Using Titanium for multi-platform development
1. Using Titanium for
multi-platform development
Arul Kumaran
Twitter: @_Arul | http://blog.luracast.com
More Information:
Twitter: @appcelerator | http://appcelerator.com
BarCamp Singapore 4 1
2. Today’s Presentation
• What is Titanium?
• Why Titanium?
• API Overview
• Demos:
– Your First Project
– Mobile TwitPic Client
– The mobile ‘kitchen sink’
•Q&A
@_Arul | Arul Kumaran - BarCamp Singapore 4 2
3. An Unlikely Hero
• For a decade, web technologies have
become one of the world’s most popular
client application technology solutions:
– Easy to deploy and maintain
– Cross platform
– Open standards
• Warts and all, it’s tough to find a developer
who has ZERO experience with these tools
@_Arul | Arul Kumaran - BarCamp Singapore 4 3
4. If web apps are so great...
...why are we interested in building native
applications at all? Well:
– They feel responsive
– They leverage platform capabilities
• Filesystem I/O
• Local Database
• Mobile: Camera or Accelerometer
– They are or can be ‘always on’
– They can be used offline
@_Arul | Arul Kumaran - BarCamp Singapore 4 4
5. But my dev shop has...
• An investment in the people, tools, skills,
and technology to build web applications
• An appreciation for open source and open
standards
• A need to get market quickly
• An aversion to maintaining a codebase per
supported platform
@_Arul | Arul Kumaran - BarCamp Singapore 4 5
6. If only you could...
• Build fully native apps using web
technologies you know today
• Build cross platform apps from a shared
codebase
• Use open source software, based on open
standards
• Find lots of available development talent to
build these apps
@_Arul | Arul Kumaran - BarCamp Singapore 4 6
7. Enter Titanium
Titanium is an open source framework for
building native desktop and mobile
applications using open web technologies
(HTML, CSS, and JavaScript)
• Website: http://appcelerator.com
• Twitter: http://twitter.com/appcelerator
• Source: http://github.com/appcelerator
@_Arul | Arul Kumaran - BarCamp Singapore 4 7
8. Platforms?
• Desktop: Win32, Mac OS X (Intel), Linux
• Mobile: iPhone OS, Android
• More to come
@_Arul | Arul Kumaran - BarCamp Singapore 4 8
9. License?
• Open Source under Apache 2.0
• Commercial training and support services
available
• More value add services to come (analytics)
• Core SDK - always free and open source
@_Arul | Arul Kumaran - BarCamp Singapore 4 9
10. Titanium “Sweet Spot”
• Data-driven web service clients (Enterprise
applications)
• Web service mash-ups
• Social utilities
• Brand affinity
• Casual games
• Anything requiring cross-platform support
@_Arul | Arul Kumaran - BarCamp Singapore 4 10
17. Database and Filesystem
• Write files to the
local filesystem
• Read files from disk
• Read file via drag and
drop
• Use a synchronous or
async database API
@_Arul | Arul Kumaran - BarCamp Singapore 4 17
18. Workers
• Spin off worker threads
• Communicate asynchronously with the
worker through a JavaScript API
• Offload long running tasks to keep your app
responsive
@_Arul | Arul Kumaran - BarCamp Singapore 4 18
19. Language Modules
• Language modules
are optionally
included
• Full DOM access
• Three currently
supported modules:
– Ruby
– Python
– PHP
@_Arul | Arul Kumaran - BarCamp Singapore 4 19
20. More
• Manage/run processes and applications
• Take screenshots
• Update your application remotely
• Get runtime platform data
• More at http://codestrong.com/titanium
@_Arul | Arul Kumaran - BarCamp Singapore 4 20
29. Native UI Controls
Use native controls through a
JavaScript interface.
@_Arul | Arul Kumaran - BarCamp Singapore 4 29
30. Integrated YQL Support
• YQL - A web service
aggregator using
open tables
• Built in to
Titanium.Yahoo
namespace
@_Arul | Arul Kumaran - BarCamp Singapore 4 30
31. Facebook Connect
• Facebook Connect
module (currently
iPhone only)
• Currently support
for FQL
• More on the way
@_Arul | Arul Kumaran - BarCamp Singapore 4 31
32. Native iPhone UI
• Tab Bar
• Nav Bar
• Table View
• Alert / Options
• Group Views / Text
• Many More
@_Arul | Arul Kumaran - BarCamp Singapore 4 32
34. Common APIs
iPhone Table View Android Table View
Same Code Creates Both
@_Arul | Arul Kumaran - BarCamp Singapore 4 34
35. More APIs
• Platform / OS Data
• Application Properties
• Logging
• Scroll and Image Views
• Composite Views
• More always coming
@_Arul | Arul Kumaran - BarCamp Singapore 4 35
36. Still Want More?
• Kitchen Sink - Full API Demo
• Codestrong.com has Examples and Guides
• http://www.codestrong.com/timobile/
samples/
@_Arul | Arul Kumaran - BarCamp Singapore 4 36
37. Titanium Developer
•Developer is a Titanium Application
•Projects created/managed via Titanium
Developer
•Titanium Developer deploys code to
simulators
•Developer also helps with testing and
packaging for devices
•Requires sign-up for Appcelerator Network
(support, e-mail list, other services)
@_Arul | Arul Kumaran - BarCamp Singapore 4 37
38. Kicking The Tires
• Your first application
– Desktop project layout
– Mobile project layout
• Demos
– Mobile TwitPic Client
– Mobile: Kitchen Sink
@_Arul | Arul Kumaran - BarCamp Singapore 4 38