Transcript 1 - SOSELab

COMPARING CROSS-PLATFORM
DEVELOPMENT
APPROACHES FOR MOBILE
APPLICATIONS
Henning Heitkötter, Sebastian Hanschke and Tim A. Majchrzak
Department of Information Systems, University of Münster, Münster,
Germany
[email protected], [email protected],
[email protected]
Criteria of the infrastructure perspective
2







License and Costs
Supported Platforms
Access to advanced device-specific features
Long-term feasibility
Look and feel
Application Speed
Distribution
Criteria of the development perspective
3

Development environment







Ease of installation
GUI Design
Ease of development
Maintainability
Scalability
Opportunities for further development
Speed and Cost of Development
Evaluation of mobile Web applications –
Infrastructure perspective
4

License and Costs
Fees may apply for using specific JavaScript frameworks
 jQuery Mobile
 Nevertheless, selling support packages is a typical business
model for open-source software. Moreover, costs may
occur from hosting
3

Evaluation of mobile Web applications –
Infrastructure perspective
5

Supported Platforms
All smartphone platforms have their own native browser
 Their implementations differ slightly resulting in minor
variation of displaying the user interface
1


Access to advanced device-specific features
JavaScript does not permit any hardware access on
smartphones
5

Evaluation of mobile Web applications –
Infrastructure perspective
6

Long-term feasibility
HTML, CSS, and JavaScript are well established techniques
undergoing steady improvement and development
 The decision for a specific JavaScript framework can
however turn out to be problematic because changing the
framework later-on is in most cases expensive
1

Evaluation of mobile Web applications –
Infrastructure perspective
7

Look and feel
Design and layout of apps depend on CSS
 CSS Theme for iPhone
 There are major differences in the usage philosophy of a
Web site and an app
 By using a manifest file a Web site can request to keep an
offline copy, concepts like WebStorage allow Web sites to
save data in the local storage.
4

Evaluation of mobile Web applications –
Infrastructure perspective
8

Application Speed
Due to the fact that a Web app has to be loaded via the
Internet, launching the app may be slow
 Still, the authors’ experiments with this approach have
shown that especially with a high number of animations
and large amounts of content an app can easily reach the
limit of a smartphone’s CPU
3

Evaluation of mobile Web applications –
Infrastructure perspective
9

Distribution
Distributing a Web app is simple
 One could package the Web app via PhoneGap or Titanium;
 This is not permitted in Apple’s app store as there is no
additional benefit compared to loading it in a browser
(Apple, 2010).
3

Evaluation of mobile Web applications –
Development perspective.
10

Development environment
There are several development environments for
developing with HTML, CSS and JavaScript
 For a first impression, a desktop-browser might be enough
 In most cases tools like Firebug (2011) can be employed in
addition to a regular browser
2

Evaluation of mobile Web applications –
Development perspective.
11

GUI Design
Most tools for Web UI design offer WYSIWYG editors
 As the Web app can rapidly be reloaded on the target
device without having to recompile it, GUI design is
comparably fast
1

Evaluation of mobile Web applications –
Development perspective.
12

Ease of development
HTML, CSS, and JavaScript
 display size, Web storage, limited CPU and GPU speed
2


Maintainability
A good JavaScript framework enables short and elegant
code.
1

Evaluation of mobile Web applications –
Development perspective.
13

Scalability




Opportunities for further development


Web apps in general can easily be split into a large number of
small files that fit into the overall design
Tend to become confusing from a certain size
2
1
Speed and Cost of Development


Development tools are technically mature, debugging and
testing and the design of the user interface can therefore be
carried out fast and cost-efficient
1
Evaluation of PhoneGap – Infrastructure
perspective
14

License and Costs
Both PhoneGap and jQuery Mobile are open source
software
 Nitobi, the company behind PhoneGap, earns money by
selling support packages from USD 25 to USD 2000 per
month
2

Evaluation of PhoneGap – Infrastructure
perspective
15

Supported Platforms
PhoneGap supports seven mobile platforms
 As PhoneGap uses a WebView and the WebKit library to
display the user interface
2


Access to advanced device-specific features

2
Evaluation of PhoneGap – Infrastructure
perspective
16

Long-term feasibility
As both PhoneGap and jQuery Mobile are comparatively
young projects
2


Look and feel
In contrast to apps developed with Titanium Mobile or
natively but similar to Web apps, PhoneGap does not use
native user interface elements
3

Evaluation of PhoneGap – Infrastructure
perspective
17

Application Speed
Launching a PhoneGap app is fast and user interaction is
smooth
 Even a large number of tasks did not influence the
prototype’s performance, which is comparable to a native
app
1


Distribution

2
Evaluation of PhoneGap – Development
perspective.
18

Development environment
After providing the source of a PhoneGap app, apps are
compiled and signed for all chosen platforms and can
easily be downloaded
2


GUI Design
Adobe Dreamweaver
1

Evaluation of PhoneGap – Development
perspective.
19

Ease of development
PhoneGap’s documentation is clearly structured
 It provides numerous examples
2


Maintainability
Except for additional code that accesses the hardware,
hybrid apps do not require more lines of code than
comparable Web apps.
1

Evaluation of PhoneGap – Development
perspective.
20

Scalability


Opportunities for further development


2
2
Speed and Cost of Development

1
Evaluation of Titanium – Infrastructure
perspective
21

License and Costs


5
Supported Platforms
iOS, Android.
4


Access to advanced device-specific features
As with PhoneGap
2

Evaluation of Titanium – Infrastructure
perspective
22

Long-term feasibility


Look and feel


2
Application Speed


3
5
Distribution

2
Evaluation of Titanium – Development
perspective
23

Development environment
fastdev server
 developers to dynamically reload JavaScript source and
resources from an external server
 fastdev is only available for Android and has some minor
bugs
3


GUI Design
Titanium Mobile does not offer a WYSIWYG editor
 Requires quite a lot of API commands
4

Evaluation of Titanium – Development
perspective
24

Ease of development


3
Maintainability
The prototype developed with Titanium has comparatively
many lines of code
3


Scalability
Ti.include()
2

Evaluation of Titanium – Development
perspective
25

Opportunities for further development
Source code of apps written for Titanium, at most with the
exception of an application’s inner logic, can in general not
be used with other approaches due to the fact that a large
amount of Titanium-specific functions is used.
5


Speed and Cost of Development

5