Cross Platform Mobile ApplicationsBy Rohit GhatolContact me – rohit.ghatol@synerzip.comrohitsghatol@gmail.com
2IntroductionRohit GhatolProject Manager @ Synerzip
Associate Architect @ QuickOffice Inc
GTUG Manager
Certified Scrum Master
Corporate Trainer (Agile and Technical)
Was part of OpenSocial at Google3TopicsOverviewUnderstanding Mobile AppsCross Platform Mobile App DevelopmentPure HTML/JavaScript – PhoneGapInterpreted JavaScript – TitaniumNative Mobile App DevelopmentHybrid Mobile App DevelopmentComparison between PhoneGapVs TitaniumConclusionQ & A
4OverviewThe process of developing Applications for various mobile platform using common source code with little or no change to the common source.This presentation focuses on Comparing two frameworks each taking a different approach to solve the above problem.We will Compare PhoneGapVsTitanium .
5Understanding Mobile Apps
6Reaching Mobile Users
71. Mobile FeaturesComplete Feature SetMostly Feature Sub Set
82. Tablet FeaturesComplete Feature SetAlmost CompleteFeature Set
93. User InteractionTouch basedAccelerometerTraditional Compass
10e.gLayar Application
114. Location awareCan be Location Aware but approximateLocation Aware and highly accurate
125. SensorsHandy Camera and Voice RecordingUpcoming NFC (Near Field Communication) turning phone into Credit Card, Access Card, Business Card Exchanger
13e.g Shopping ApplicationsScan a product’s barcode to know if it has the lowest price. If not, then navigate to a store which has the lowest price
146. Push NotificationsPush NotificationNotifying the User proactively
15Challenges in building Mobile Applications
161. OS FragmentationWindows 7Fragmentation
172. Multiple Teams/ProductWindows 7Multiple Teams/Products
183. Uniform User ExperienceWindows 7Uniform User Experience
194. Feature FragmentationFeature Fragmentation
20Types of Mobile App DevNative Mobile AppsCross Platform Mobile AppsHybrid partly Native partly Cross Platform
21Native Mobile AppsWhen ToHigh Performance Apps
Heavy on OS and Device Features
Complex N/W comm.
Canvas based Apps
Only Few PlatformsWhen Not ToPerformance is not the main criteria
More or less Replicates Web Apps with few device feature
Standard Restful
Widget based apps
Many Platforms22Cross Platform Mobile AppsWhen ToPerformance is not the main criteria
More or less Replicates Web Apps with few device feature
Standard Restful
Widget based apps
Many PlatformsWhen Not ToHigh Performance Apps
Heavy on OS and Device Features
Complex N/W comm.
Canvas based Apps
Only Few Platforms23Cross Platform Mobile AppsWhen ToTime to market is critical
Saving Cost is criticalWhen Not To
24Hybrid Mobile AppsWhen ToWhy ToFairly Simple UI
Complex Backend
Quite few platforms
E.gShareFile
Recommended way - PhoneGap Plugin
Some parts of app are common
Rest parts are different
Use Cross Platform to develop common part
Use Native to develop the weight lifting parts25Cross Platform Mobile App Development
26Cross Platform StrategiesCross Platform Source CodeCommon Platforme.gWebKitMapping to NativeTitanium MobilePhoneGap
27Common Platform Approach
28Modern BrowsersAll new Smart Phones come with modern browsers, which have better support for HTML5/CSS3 specs
29WebViewsAll of these smart phones supports using these modern browsers as embedded views (aka WebViews)
30JavaScript to native and backAll these browser engine (most common being webkit) support Javascript to talk to native code and backNative Code(Java/C++/ObjC)HTML/JavascriptJSON packets
31Hybrid ApplicationsHTML/Javascript application loads Google Maps and talks to the native code to gain access to GPS locationNative Code(Java/C++/ObjC)HTML/JavascriptGPS Location
32PossibilitiesLimitless PossibilitiesExpose Camera, Accelerometer, GPS, any of the phones sensors to javascriptInstead of just building Browsed Based applications augment with more phone features
33DevelopmentHTML/CSS Application uses Common API exposing device features
34DevelopmentSample code
35Mapping to Native
36ConceptCommon API set is provided by framework
Application is written using this common api set
HTML/CSS may be supported or may not be supported. Titanium prefers native UI instead of HTML/CSS UI, Rhodes prefers HTML/CSS UI
Phone Features are access liked common api set (this is similar to that in PhoneGap)37DevelopmentTwo API SetsOne for UI * (Specific to Titanium Mobile)Create WindowsCreate Dialogs…….One for Phone FeaturesSame as PhoneGapAccess CameraAccess GPS……
38DevelopmentUI API Set
39DevelopmentUI API Set
40IssuesCommon API set across platforms is always minimumE.g IPhone as a widget, which Android not haveFragmentation of the API itself. What is platform specific and not part of Common API comes in Platform specific api?
41Mobile App Dev FrameworksCommon PlatformPhoneGapMapping to NativeTitanium MobileRhodes Mobile
42Compare Screens (IPhone)PhoneGapTitanium Mobile
43Compare Screens (Android)PhoneGapTitanium Mobile
44Open SourceBSD LicenseMIT License
45PhoneGapOnly platform to support 6 Platforms46PhoneGapStandards based and extended
47
48PhoneGap Features
49PhoneGapPrerequistesNeed to be acquainted with Android, IOS, BlackBerry, WebOS
Need to be expert at HTML/Javascript or framework like GWT
Need to be acquainted with JavaScript libraries like
Jquery
script.aculo.us
Prototype
Etc
Or Ajax framework like GWT
Need different project for each platform, inject PhoneGap code in each project
PhoneGap has no IDE, use Eclipse for Android and Xcode for IPhone50Demo Screens - IPhone
51Demo Screens - Android
52Challenges and AdvantagesHTML based UI is the biggest Challenge as well as Advantage

Cross platform-mobile-applications