Approach Mobile Web Native Cross –platform/Hybrid
Language HTML5, CSS,Javascript
Platform dependent. Objective C for iOSJava for Android J2ME for Blackberry
Write using one language. “Compiled”
or “Interpreted” to native code for the platform.
Native UI No. You can “fake it” with
a less rich experience
Yes Yes
Server communication
Yes Yes Yes
Access to native APIs and features (Photo gallery, Phonebook, etc.)
No Yes Yes
Access to Hardware (Accelerometer, GPS,Camera,etc)
No Yes Yes
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
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
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)
Standard and familiar web model (MVC)
APIs: UI APIs
Phone APIs Media
Database
FileSystem
Network
Accelerometer
Geolocation
Many more …
Native UI components
UI Components are:
Windows (Hosting views)
Views (Draw conent on screen, Ex. Image View)
Widgets (Views with actions, Ex. Button)
Video
Sound
Camera
Accelerometer
Maps
The same code renders differently depending on the platform
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
Appcelerator Titanium: http://www.appcelerator.com/
Stack overflow (How Titanium Mobile works) http://stackoverflow.com/questions/2444001/how-does-appcelerator-titanium-mobile-work
Software & Mobile solutions Architect at Telcocell http://telcocell.com
Follow on Twitter @SharkHacks
Blog http://blog.sharkhacks.com
LinkedIn http://linkedin.com/in/shoukry
Top Related