Download presentation
Presentation is loading. Please wait.
1
Cross Platform Mobile Applications
By Rohit Ghatol Contact me –
2
Introduction Rohit Ghatol Project Manager @ Synerzip
Associate QuickOffice Inc GTUG Manager & Tech Next Founder Certified Scrum Master Corporate Trainer (Agile and Technical) Was part of OpenSocial at Google
3
Topics Overview Understanding Mobile Apps
Cross Platform Mobile App Development Pure HTML/JavaScript – PhoneGap Interpreted JavaScript – Titanium Mobile Native Mobile App Development Hybrid Mobile App Development Comparison between PhoneGap Vs Titanium Conclusion Q & A
4
Overview The 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 PhoneGap Vs Titanium .
5
Understanding Mobile Apps
6
Reaching Mobile Users
7
1. Mobile Features Mostly Feature Sub Set Complete Feature Set
8
2. Tablet Features Almost Complete Feature Set Complete Feature Set
9
3. User Interaction Touch based Accelerometer Traditional Compass
10
e.g Layar Application
11
4. Location aware Can be Location Aware but approximate
Location Aware and highly accurate
12
5. Sensors Handy Camera and Voice Recording
Upcoming NFC (Near Field Communication) turning phone into Credit Card, Access Card, Business Card Exchanger
13
e.g Shopping Applications
Scan a product’s barcode to know if it has the lowest price. If not, then navigate to a store which has the lowest price
14
6. Push Notifications Push Notification Notifying the User proactively
15
Challenges in building Mobile Applications
16
1. OS Fragmentation Windows 7 Fragmentation
17
2. Multiple Teams/Product
Windows 7 Multiple Teams/Products
18
3. Uniform User Experience
Windows 7 Uniform User Experience
19
4. Feature Fragmentation
20
Approaches to Mobile Development
21
Types of Mobile App Dev Native Mobile Apps Cross Platform Mobile Apps
Hybrid partly Native partly Cross Platform
22
Native Mobile Apps High Performance Apps
When To When Not To High Performance Apps Heavy on OS and Device Features Complex N/W comm. Canvas based Apps Only Few Platforms Performance is not the main criteria More or less Replicates Web Apps with few device feature Standard Restful Widget based apps Many Platforms
23
Cross Platform Mobile Apps
When To When Not To Performance is not the main criteria More or less Replicates Web Apps with few device feature Standard Restful Widget based apps Many Platforms High Performance Apps Heavy on OS and Device Features Complex N/W comm. Canvas based Apps Only Few Platforms
24
Cross Platform Mobile Apps
When To When Not To Time to market is critical Saving Cost is critical
25
Hybrid Mobile Apps Fairly Simple UI Complex Backend
When To Why To Fairly Simple UI Complex Backend Quite few platforms E.g ShareFile 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 parts
26
Cross Platform Mobile App Development
27
Cross Platform Strategies
Common Source Cross Platform Source Code Common Platform Mapping to Native WEB APPLICATION JavaScript – Java Bridge OS – Android / iPhone UI Platform APIs Mapping to Native Bridge - JavaScript – Java – Objective C OS – Android / iPhone Titanium Mobile PhoneGap
28
Common Platform Approach
29
Modern Browsers All new Smart Phones come with modern browsers, which have better support for HTML5/CSS3 specs Mobile OS Browser Android Webkit based iPhone BlackBerry 6.0 + Window Phone 7 IE 7 based * WebOS Nokia
30
WebViews All of these smart phones supports using these modern browsers as embedded views (aka WebViews)
31
JavaScript to native and back
All these browser engine (most common being webkit) support Javascript to talk to native code and back Native Code (Java/C++/ObjC) HTML/Javascript JSON packets
32
Hybrid Applications HTML/Javascript application loads Google Maps and talks to the native code to gain access to GPS location Native Code (Java/C++/ObjC) HTML/Javascript GPS Location
33
UI Framework e.g jQueryMobile
Over all Architecture HTML5/CSS3 Application UI Framework e.g jQueryMobile PhoneGap API Phone Gap Bridge Camera GPS SQLite SQLite File System Accelerometer Compass etc
34
Possibilities Limitless Possibilities
Expose Camera, Accelerometer, GPS, any of the phones sensors to javascript Instead of just building Browsed Based applications augment with more phone features
35
Development HTML/CSS Application uses Common API exposing device features
36
Development Sample code
37
Mapping to Native
38
Javascript Based Application
Over all Architecture Javascript Based Application Titanium UI API Titanium Phone API Titanium Framework Window Dialog SQLite SQLite File System Accelerometer Compass etc
39
Development Two API Sets One for UI * (Specific to Titanium Mobile)
Create Windows Create Dialogs ……. One for Phone Features Same as PhoneGap Access Camera Access GPS ……
40
Development UI API Set
41
Development UI API Set
42
Issues Common API set across platforms is always minimum
E.g IPhone as a widget, which Android not have Fragmentation of the API itself. What is platform specific and not part of Common API comes in Platform specific api?
43
Mobile App Dev Frameworks
Common Platform Mapping to Native PhoneGap Titanium Mobile * Rhodes Mobile is another promising framework, but out of scope for today’s discussion
44
Compare Screens (IPhone)
PhoneGap Titanium Mobile
45
Compare Screens (Android)
PhoneGap Titanium Mobile
46
Open Source BSD License MIT License
47
PhoneGap Only platform to support 6 Platforms
48
PhoneGap Standards based and extended
49
PhoneGap Prerequistes
Need 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 IPhone
50
Demo Screens - IPhone
51
Demo Screens - Android
52
PhoneGap Features
53
Challenges and Advantages
HTML based UI is the biggest Challenge as well as Advantage Same UI can be used for Web and Mobile and even Desktop Promising Framework GWT – Used by Spring Roo for Enterprise Application Development jQueryMobile – Based on legendary Jquery and now features Multipage Template Page Slide Transitions Dialogs Toolbars Forms Lists
54
Code Walkthrough - PhoneGap
55
Getting Started PhoneGap
Step 1: Create Android Eclipse Project
56
Getting Started PhoneGap
Step 2: Add Phone Gap Java Library
57
Getting Started PhoneGap
Step 3: Add Phone Gap Javascript and with other web app files
58
Getting Started PhoneGap
Step 4: Modify Main Activity class
59
Getting Started PhoneGap
Step 5: Extend DriodGap instead of Activity
60
Getting Started PhoneGap
Step 6: Write Javascript Code to create UI &use PhoneGap API
62
PhoneGap on XCode
64
jQueryMobile UI Development
65
jQuery Declarative UI <!-- Main Page --> <div data-role="page" id="home"> <!-- Header of Main Page --> <div data-role="header"> <h1>AlternativeTo Home</h1> </div> <!-- Content of Main Page --> <div data-role="content"> <p>Find Alternatives To Your favourite Softwares </p> <p><a href="#search" data-role="button">Search Alternatives</a></p> <p><a href="#recent" data-role="button">Recent Alternatives</a></p>
66
jQuery Declarative UI
67
Extending PhoneGap to open more of underlying system
68
Phone Gap Extension Javascript Code Android Code References - Author – Rohit Ghatol
69
Mobile
70
Apache License Appcelerator Titanium SDK Titanium Module SDK Appcelerator Titanium SDK Titanium Module SDK Paid Modules Commerce Modules Communication Modules Analytics Module Media Modules
71
Titanium Mobile Currently supports only Android and IPhone platforms.
72
Titanium Mobile IPhone Android Titanium JavaScript Interpreted By
Wekit JavascriptCore Mozilla Rhino IPhone Android
73
Titanium Architecture
74
Titanium Prerequistes
Need to be acquainted with Android, IOS programming Need to know JavaScript Use Titanium Mobile IDE to configure projects and use Text IDE to edit the code (unlike PhoneGap, there is only one project for all platforms)
75
Demo Screens - IPhone
76
Demo Screens - Android
77
Challenges and Advantages
Being Native is the biggest strength Limited cross platform ui api is a weakness Platform specific api leads to fragmentation within code
78
Code Walkthrough – Titanium Mobile
79
Titanium Developer IDE for Titanium Mobile and Desktop
Allows Creating Titanium Project Allows building Android and IPhone Applications Does not provide any Source code Editor
82
Directory Structure
83
App.js (entry point) var tabGroup = Titanium.UI.createTabGroup(); var win1 = Titanium.UI.createWindow({ title: 'Search', url: 'search.js' }); var tab1 = Titanium.UI.createTab({ window:win1, title:'Search Alternatives’ tabGroup.addTab(tab1); tabGroup.addTab(tab2); tabGroup.open();
84
search.js (building UI)
var window = Titanium.UI.currentWindow; var search = Titanium.UI.createSearchBar({ height:43, top:0 }); var actInd = Titanium.UI.createActivityIndicator({ height:50, var tableview = Titanium.UI.createTableView({ top:50 window.add(search); window.add(tableview);
85
search.js (Ajax Call) var xhr = Titanium.Network.createHTTPClient(); xhr.onload = function() { actInd.hide(); var doc = xhr.responseText; var json = eval('('+doc+')'); var data = []; //…. Load data in data // provide the data to table to populate the table tableview.setData(data); };
86
search.js (Event handling)
//send ajax request to fetch altrnatives for searchText function searchAlternatives(searchText){ xhr.open('GET',' xhr.send(); } //start search when user hits enter on search box search.addEventListener('return', function(e) { actInd.show(); searchAlternatives(e.value); });
87
Native Mobile App Development
88
Native App Development
Basically you need to hire experts who can Build Android, IOS, BB, BlackBerry and Windows mobile apps Devs should have experience to deploy apps on market Devs should have experience on various devices QA should know how to automate things on devices/emulator Plan for risks if this is your companies first Mobile App deployment
89
Hybrid Mobile App Development
90
Hybrid App Development
Have Web Developers for Common UI Have native code experts for heavy weight lifting Use frameworks like PhoneGap Plugin Development framework to glue the above two pieces Measure at every milestone to keep track of effect of changes Use Automation to regress every layer
91
ShareFile Story as
92
Comparison Titanium Mobile PhoneGap 6 Platforms
Android and IPhone Gives out native app API is more proprietary UI has Limitations UI will be fast Much better User Experience Portal Code can not be reused Extensions are possible Limited support for HTML/Javascript 6 Platforms Gives out a mobile web app API is less proprietary UI possibilities are unlimited UI could be slow User Experience will get better with enhancements Portal Code can be reused Extensions are possible and easy to implement More will come out of discussion, comments are welcome
93
Conclusion Webkit is the next Virtual Machine.
Maybe Going where Java could not go HTML 5, CSS 3 and Javascript is future,but not ready just yet HTML 5, CSS3 and Javascript to lessen the fragmentation HTML 5 will compete with native components
94
References Phone Gap Documentation Titanium Mobile Documentation
ShareFile Story
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.