The Codex of Business Writing Software for Real-World Solutions 2.pptx
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
1.
2. Approach Mobile Web Native Cross –
platform/Hybrid
Language HTML5, CSS, Platform dependent. Write using one
Javascript Objective C for iOS language. “Compiled”
Java for Android or “Interpreted” to native
J2ME for Blackberry code for the platform.
Native UI No. You can “fake it” with Yes Yes
a less rich experience
Server Yes Yes Yes
communication
Access to native No Yes Yes
APIs and features
(Photo gallery, Phonebook,
etc.)
Access to Hardware No Yes Yes
(Accelerometer,
GPS,Camera,etc)
3. Develop for multiple platforms:
Using the same Technology and same codebase.
Team with the same skillset, expertise.
Write once run anywhere.
Which leads to :
Reduced development time
Reduced development cost
Reduced development effort
4. Free
Open source
Use Javascript to write native applications
Active and big community
Commercial support, custom development and
modules are available from Appcelerator.
Companies using Titanium
5. Compile time :
Pre-compiler:
JavaScript code is optimized, dependency hierarchy of APIs used is
created.
Front-end compiler:
The appropriate platform-specific native code is generated along with
projects and specific code is built to compile Titanium for a given
platform compiler.
Platform compiler & packager:
Using native tools for the particular platform , code is compiled and
application is packaged.
Runtime :
Javascript is interpreted at runtime with hooks to execute native code
(Javascript bridge)
6. Standard and familiar web model (MVC)
APIs:
UI APIs
Phone APIs
Media
Database
FileSystem
Network
Accelerometer
Geolocation
Many more …
7. Native UI components
UI Components are:
Windows (Hosting views)
Views (Draw conent on
screen, Ex. Image View)
Widgets (Views with actions,
Ex. Button)
11. The same code renders differently depending
on the platform
12. Build and test the application on multiple
platforms from day one if possible
Separate business logic from UI construction
Component Oriented design
Your application is a library of Application specific
components
Use custom events instead of component and
platform specific events.
Use built in Titanium features to handle multiple
platforms, screen resolutions and densities