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)
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

Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps

  • 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 multipleplatforms:  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)
  • 9.
  • 10.
    Accelerometer  Maps
  • 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