Choosing the Right Mobile Development Method

quantityforeheadΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

80 εμφανίσεις

1






Choosing the Right Mobile Development
Method

By Chris McGuirk,
Tony Pekala,
Jason Petrin, and
Eka Ren
ardi
2



Table of Contents


Contents

Background

................................
................................
................................
................................

3

Native Development

................................
................................
................................
...............

4

Hybrid Development

................................
................................
................................
...............

5

Summary

................................
................................
................................
................................

6

Closing Thoughts

................................
................................
................................
...................

7

References

................................
................................
................................
.............................

8


3


Background

T
he rise of smartphone

and tablet
ownership

has brought about an accompanying
rise
in
mobile applications.

Gartner estimates

that

between 2008
-
2013 there will be 51 billion
applications downloaded to mobile devices
, which

will generate over $72 billion in revenue
.
1

This opportunity has spurred
considerable
interest
within

both

private industry

and
the public

sector
,
as well as
among
individuals
.

M
obile
is considered
a
critical
channel
for
communicat
ion

and interact
ion

with customers, partners, employees, and constituencies
.


As a result of
this
expansion

in mobile applications
, m
arketing and
sales

efforts

a
re
experiencing

a transformation. In years past
they
focused on providing web presence and
commerce to target traditional
PCs (
personal computers
)

on the
Internet
.
The new focus

is
on
providing a mobile experience.

Yet
m
obile
technology

demands a different

solution because it

has

a
different form factor
than
a PC
.


B
efore you can jump into development
,

there are many
questions and issues that must be
answered
first
, such as:




What mobile devices will I support?



Will I write a
browser
-
based solution, or
will I write a native application that runs
locally on the mobile device?



How many different solutions will I have to write to support multiple devices
?



Can I re
-
use existing
web
-
based solutions for the mobile solution?



Can I standardize on a single co
de platform?



Can my existing

development team
perform
the mobile development or do I need
to find additional resources
?



And the list goes on…..


In early
mobile
development
,

you had
to pick and choose
carefully
which platforms to support
because all develo
pment was targeted
on a
native device.
This approach was very popular
because it gave application developer
s

complete control over the device and allowed them to
integrate with
rich
native
device
services
(
like GPS, Accelerometer, Contacts, Calendars, Tex
t
to Speech, Voice Control, and more).
However
,

it had a high cost because you had to write a
separate application for each device.
The good news is that this is no longer the only option
when developing for mobile devices.




T
he development methods for

creating mobile applications fall into two main camps: native
development
or mobile web development.


Native development involves writing a
n

application that will be installed and run locally on the
mobile device. N
ative applications are written using t
he tools, development languages, and
Application Programming Interfaces
(APIs)
provided by the
Mobile Operating System
4


manufacturer (such as iOS and Objective C for Apple, Java and Android for Google, and .NET
and Windows Phone 7 for Microsoft).


Mobile w
eb development
involves writing

application
s

that run in the browser of the mobile
device.
Mobile web application
s

do not have to

reside in the mobile device.
However,
with
the


recent
introduction of faster mobile processor
s

and
improved
mobile browser
HTML5 support
,

mobile web application
s

can
now
reside on the device

in a hybrid format (i.e. part native and
part
web
-
based)
.
H
ybrid mobile development
is
i
ncreasing
in
adoption and popularity

and
is
quickly replacing what once
were
just straight
HTML
-
bas
ed mobile web solutions.


This paper analyzes native and hybrid mobile application development methods

and
presents a

qualitative discussion of each
.

For additional information, we also recommend the Forrester
Research article from March 2011,
Mobile Application Internet Recasts The Software and
Services Landscape
.


Native Development

Native development

has traditionally been
the mo
st
popular choice for
mobile application
s
,
for
good reason
s
.

P
opular example
s

of native development include applications like Amazon’s
Kindle reader and
the game
Angry Birds.

The advantages of this type of development include
the following:




Device Integ
ration

-

Native development takes full advantage of mobile device
capabilit
ies
such as
the
camera, barometer, gyroscope, accelerometer,
and
network
communication
s. These

can be fully utilized, and developers have complete freedom in
controlling these
servi
ces
.



Offline
and

Synchronization

Capability

-

Mobile devices are known for
their
slow
network latency
. As
a result, offline capability and synchronization are features that are
often a must for connected mobile applications. Native development allows acc
ess to
local device storage for offline storage capability, and provides developer
s

greater
flexibility in developing customized database/storage synchronization.
Offline and
synchronization
capabilities are difficult to achieve with mobile web solution
s
.



Push Notification

Capability

-

Push notification reduces network usage, saves
bandwidth and consumes less battery

power

than the traditional method of background
process and continuous polling. Each mobile platform vendor offers a unique push
notification

service that

can only be integrated and employed when developing
a solution
natively.



App
lication

Market Integration

-

Mobile app
lication

market
integration
is a necessary
element in any mobile strategy. It provides
for the
distribution and monetizati
on of the
mobile app
lication
. By developing natively,
a
developer can just submit the binary
distribution file to the app
lication

market, and participate in the market ecosystem. Any
purchase and usage of the mobile app
lication

can be uniquely identified

and gathered,
5


enabling detailed analytics of the mobile app
lication
. This is a capability that currently
is
easily achieved
with mobile web solution
s
.



Improved
User Experience

-

With native development, developers are able to take
advantage of the hardwa
re acceleration feature on the mobile device. There is also less
of a layer between the code and its kernel
. As
a result
,

native mobile application
s

are the
fastest in
terms of
load times and execution speed. These factors improve
the
user
s'

experience of

the mobile app
lication

tremendously
.



However, with the
benefits also
come

challenges and risks. The following areas should be
considered before embarking down the native development road:




Deep Platform Knowledge

-

N
ative development involves understan
ding the platform
operating system
, and learning new programming languages developers may not be
familiar with, such as Objective
-
C for
Apple
mobile app
lication
s
, C# for Windows Phone,
and Java for Android. This can be an important barrier for organizati
on
s

and
developer
s

wanting to enter into mobile app
lication

development.



Limited Portability

-

Also with native development, existing code developed for one
mobile platform may not necessarily be easily ported to another platform, limiting
common features
between device versions
.

This is particularly true if the existing code
leverages any platform specific capabilities.
For example
,

the push notification used by
Windows Phone is not the same as that used by i
OS and Android. This could cause
features to be
have differently between device platforms. It could even cause features to
be missing in some device versions.

Hybrid Development


Hybrid development marries mobile web development with native development. Hybrid
development enables the use of HTML, CSS
(Cascading Style Sheets)
and Java
S
cript

in a
mobile app
lication
, and
it also
extends native device capability into the mobile web browser.



In a typical hybrid development setup, the web browser is wrapped in
a native mobile
application

(container)
. D
eve
loper
s

can customize the contained web browser functionality, and
also extend it
s

capability.


The advantages of Hybrid Development include the following:




Native Development Advantages

-

With hybrid, all the advantages of native
development, such as devi
ce integration, offline
access
and synchronization, push
notification,
application

market integration,
and a
better user experience can be realized,
without
the
primary disadvantages of deep platform knowledge and limited platform
portability.

6




Unifies Web

and Mobile Development

-

HTML, CSS and
JavaScript
, with
their
wide
adoption and easy portability
,

have
allowed mobile
application

development to be truly
cross
-
platform. They have become the unifying development languages for both the web
and mobile devel
opment.



Hybrid

Development

Leverages HTML5

-

The majority of HTML language that is used
in mobile web and hybrid development is HTML5. HTML5 is a
highly anticipated
markup
language specification. It brings with it a richer user interaction and
capabiliti
es
with the
web browser
, including
rich form validation,
geolocation
, media playback, web
application cache, device capability detection, web threading, canvas, drag
-
n
-
drop, and
web connected interactions. While the specification is not ratified until 20
14
,
2

it has
widespread adoption and implementation by various web browser vendors. However,
given the varying implementation by various web browser vendors, HTML5 support can
be inconsistent across devices and platforms.


The disadvantages of hybrid dev
elopment include the following:




Slow Browser Performance

-

As with any
browser
-
based solution
,
the browser
adds
another rendering layer, and
,

as a result
,

mobile application performance may be slower
than when developed natively.
However, t
hese performanc
e differences are becoming
negligible given improvements in mobile device processor
s

and
J
ava
S
cript engine
s
.


H
ybrid open source tool

example


PhoneGap (
http
://
www
.
phonegap
.
com
)
is an example of a
hybrid
cross
-
platform
tool that
provides a thin wrapper library around the mobile device web
browser. It is among the

most

widely distributed and used library for hybrid development. The
library boasts support for all
the major mobile platforms, such as iOS, Android, BlackBerry and
Windows Mobile.

To see
a
PhoneGap example, visit
the RDA mobility
blog at
http
://
mobile
.
rdacorp
.
com
/2011/02/
creating
-
hybrid
-
appli
cation
-
with
-
phonegap
-
and
.
html
.


As a result of building a hybrid mobile applica
tion, it can be submitted and deployed through the
mobile marketplace, removing the barrier for distribution, monetization, and analytics. It also
may reduce the overall cost by minimizing the amount of native mobile application development
that needs to
be completed for targeting multiple mobile platforms.


Summary


T
o
summarize the discussion points in this paper

we have put the details (features) into a table
and highlighted which approach supports them. This should help in making decisions about the
a
pproach to take with mobile development.


Features

Native

Hybrid

Device Integration

Yes

Yes

7


Offline and Synchronization

Yes

Yes

Push Notification

Yes

Yes

Application

Market Integration

Yes

Yes

Better User Experience

Fastest

Slower

Platform Knowledge

Deep

Minimal

Code Portability

Complex

Easy


Closing Thoughts


There are numerous architectural and design
options
to be
considered
when contemplating a
mobile solution.
Selecting
the
most
appropriate
architecture and design to support your mobile
applic
ation goals is not easy.
Working with
a partner who understands how to navigate the
details can help make the difference in cost, future expandability, and time to market for your
business.


RDA is passionate about helping our customers leverage technolog
y appropriately to address
their business challenges.
We

can partner with you to create a
mobile
solution perfectly tailored
to fit your needs. Our consultants and developers pride themselves on their technical expertise
and depth. We are on the leading ed
ge of our field, familiar with all of the latest products and
industry techniques. Put our passion to work for you!


For more coverage on mobile application development, please follow us or share our blogs at
http
://
mobile
.
rdacorp
.
com
.


RDA Corporation

| 1 888 441
-
1278 |
www.rdacorp.com

Atlanta Baltimore Charlott
e Philadelphia Seattle Washington, D.C.

8



References

1

Gartner Dataquest Insight: Application Stores; The revenue Opportunity Beyond the Hype


2

W3C Confirms May 2011 for HTML5 Last Call, Targets 2014 for HTML5 Standard
-

http
://
www
.
w
3.
org
/2011/02/
htmlwg
-
pr
.
html