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