20
Survey, Comparison & Evaluation of Cross Platform Mobile Application Development Tools Soumya Kanti Datta Research Engineer EURECOM, France Email: [email protected] 9 th International Wireless Communication & Mobile Computing Conference (IWCMC 2013)

Survey, comparison & evaluation of cross platform mobile application development tools

Embed Size (px)

Citation preview

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

Introduction – Mobile Platforms

02-Jul-13 3 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

General Architecture of Cross Platform Tools

02-Jul-13 Soumya Kanti Datta 7

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

02-Jul-13 Soumya Kanti Datta 20