survey, comparison & evaluation of cross platform mobile application development tools
TRANSCRIPT
Survey, Comparison & Evaluation of Cross Platform Mobile
Application Development Tools
Soumya Kanti Datta
Research Engineer
EURECOM, France
Email: [email protected]
9th International Wireless Communication & Mobile Computing Conference (IWCMC 2013)
Contents
• Introduction
• De elopers’ Pro le
• Cross platform tools
• General Architecture of the tools
• Performance evaluation
• Contribution
• Conclusion
02-Jul-13 2 Soumya Kanti Datta
Developers’ Problem
02-Jul-13 Soumya Kanti Datta 4
Choice of
SDK
User
experience
Stability of
framework
Cost of
development
Time to
market
Ease of
updating
Native v/s Cross Platform Approach
Decision Criterion Native Approach Cross Platform Approach
Quality of UX Excellent Not as good as native apps
Quality of apps High Medium to low
Potential users Limited to a particular
mobile platform
Large - as it reaches to
users of different platforms
App development cost High Medium to low
Time-to-market High Short
02-Jul-13 Soumya Kanti Datta 5
Requirements
• Support to Android and iOS is essential
• Additional: Windows 7 mobile Multiple mobile OS support
• Visually attractive to get more users Rich user interface
• Ne essary as s art de i es pro ote al ays o e ted odel Back end communication
• Optimal usage of memory and CPU Memory & CPU usage
• Optimized development process Power Consumption
• Access to camera, sensors, GPS etc Accessing built-in features
• Attracts maximum developers Open source
02-Jul-13 Soumya Kanti Datta 6
Performance Evaluation
• Representative of mobile machine-to-machine applications.
• It receives data from various sensors via a device gateway.
• The data is processed on-the-fly and the UI of the applications are
updated.
Test Android
app
• The UI presents buttons, each of which has request type.
• When clicked on a button the application queries free web services
over AJAX, REST and SOAP technologies.
• Parse and display the different formats of responses: Text, XML,
JSON.
Features
• Archos tablet running Android Ice Cream Sandwich
• Eclipse IDE Indigo Classic, Web development Plug-ins
• Android ADT 16
Test
environment
02-Jul-13 Soumya Kanti Datta 8
User Interfaces of the Developed Apps
02-Jul-13 Soumya Kanti Datta 9
Only PhoneGap PhoneGap +
Sencha Touch 2.0
PhoneGap +
JQuery Mobile
Titanium
Appcelerator
Memory Usage
• Proportional set size (PSS): PSS is the amount
of memory shared with other processes,
account in a way that the amount is divided
evenly between the processes that share it.
• Unique set size (USS): USS is the set of pages
that are unique to a process. This is the
amount of memory that would be freed if the
application gets terminated.
02-Jul-13 Soumya Kanti Datta 10
Memory Usage Results
Developed app PSS (kb) USS (kb)
PhoneGap only 12091 6036
PhoneGap + Jquery Mobile 14730 9424
PhoneGap + Sencha Touch 2.0 24526 20164
Titanium 17500 8676
02-Jul-13 Soumya Kanti Datta 11
• PhoneGap: no components for betterment of UI.
• PhoneGap + X: memory usage increases with the
addition of Jquery Mobile or Sencha Touch.
• Titanium: highest memory usage as it has full SDK.
CPU Usage
Two approaches
CPU snapshot taken
at each state of the
Activity life cycle.
Read a 'top' result
every second during
the whole life cycle
of the apps.
02-Jul-13 Soumya Kanti Datta 12
CPU Usage Results
Developed App CPU usage from snapshot
approach
CPU usage from 'top'
command approach
PhoneGap + HTML + CSS
tools
81.92771% Max: 10%
Min: 0%
Average: 2%
PhoneGap + JQuery +
HTML
80.26316% Max: 42
Min: 0%
Average: 10%
PhoneGap + Sencha Touch
2.0
44.0% Max: 32%
Min: 0%
Average: 8%
02-Jul-13 Soumya Kanti Datta 13
Interpretation of CPU Results
• Values are obtained when the apps are doing much computation.
• Thus obtained values are high.
• These values may vary a lot from a millisecond to other as they are
snapshot of very short time interval.
Snapshot
approach
• Min value is always zero. This is due to the fact that once the app
fetches the requested page and shows it, the app does not use any
CPU waiting for the next system input.
• The average value is computed using the total elapsed time.
Top command
approach
• The first app utilizes very less CPU as there is no additional
component for sophisticated user experience.
• When Sencha Touch or JQuery Mobile is used along with PhoneGap,
the CPU usage is more but the user experience is significantly better.
Comparison
among the apps
02-Jul-13 Soumya Kanti Datta 14
Power Consumption
• The values are obtained using Power Tutor
– Popular Android app
– Provides power consumption per app and per
interface (e.g. Wi-Fi, 3G, GPS, display etc.)
02-Jul-13 Soumya Kanti Datta 15
Power Consumption Results
Developed app Power consumption values (mW)
PhoneGap + HTML + CSS tools 107
PhoneGap + JQuery + HTML 168
PhoneGap + Sencha Touch 2.0 120
02-Jul-13 Soumya Kanti Datta 16
Choice
• PhoneGap alone has limited memory, CPU and
power requirements.
– But the developed UI is not much sophisticated.
• PhoneGap with Sencha Touch works
significantly well in this case with moderate
CPU and power consumption.
02-Jul-13 Soumya Kanti Datta 17
Contributions
• This paper presents several criteria beyond
portability concerns to choose an appropriate
cross platform tool for development.
• We have developed Android apps with several
cross platform tools and measured the CPU
usage, memory usage & power consumption.
02-Jul-13 Soumya Kanti Datta 18
Conclusion
• Survey of cross platform tools
• Discussion on general requirements and architecture
• Development of test applications
• Evaluation of such tools based on
– Memory & CPU
– Power consumption
• PhoneGap with Sencha Touch 2.0 is recommended
02-Jul-13 Soumya Kanti Datta 19