1
Max Katz, Exadel
Mobile Development Choices:
Native Apps vs Web Apps
Who is this guy?
Senior Systems Engineer, RIA
strategist at Exadel
Working, teaching, consulting on JSF,
RichFaces since inception
Presented at JavaOne, TheServerSide
Java Symposium, JSF Days and other
conferences
Author of
Practical RichFaces
(Apress)
Co-author
RichFaces Dzone
Refcard
Leading a number of projects:
Tiggr:
Web-based application for creating,
collaborating, and sharing Web and
mobile prototypes
Check it out at:
http://gotiggr.com
exadel.org:
Exadel Flamingo – enterprise framework
for connecting Flex/JavaFX to Java EE,
Seam and Spring
Exadel Fiji – wraps any Flash/JavaFX
widget as JSF component
Exadel jsf4birt – wraps BIRT report as JSF
component
Exadel JavaFX Plug-in for Eclipse –
JavaFX Eclipse tooling
You can find me at:
blog: http://mkblog.exadel.com
twitter: http://twitter.com/maxkatz
Exadel
Products and services company
Founded in 1998, headquarters in
Concord, CA
350+ employees
Open source with JBoss
Source: Flickr photo by markhillary: http://www.flickr.com/photos/markhillary/514555513/
How did it all
start?
Source: http://www.flickr.com/photos/victor_sween/351930091/
Mobile devices are very
powerful today, and
getting more powerful
with each new model.
Many high-end phones now ship with
1Ghz processor
Large, high-resolution screens
High-resolution camera and HD video
recorder
WiFi, 3G/4G, GPS
Source: http://www.flickr.com/photos/samchurchill/4468099718/
HTC EVO 4G
Sources: http://blackberry.com, http://samsung.com, http://www.flickr.com/photos/3gstore/4745626595/
The number of smartphones is
growing at phenomenal rate.
How many of you have a
smartphone?
Over 4 billion
phones in the
world
(that's half the
population)
Source: http://www.flickr.com/photos/wwworks/2222523486/
Forecast for total
smartphone
sales in 2010:
250,000,000+
Source: http://www.gartner.com/it/page.jsp?id=1434613
Source: http://www.flickr.com/photos/wwworks/2222523486/
By 2013 mobile devices will
overtake PCs as the preferred way
of accessing the Internet.
Source:
http://www.mobilecommercedaily.com/why-a-mobile-strategy-for-retailers-matters-more-than-ever
Smartphone?
Source: http://www.flickr.com/photos/sanberdoo/510894918/
There are 2 options to deliver
applications:
Native apps or Web apps
That looks like what we have on PCs.
Right?
Mobile platforms
Developer skills
Time to market
Performance
Market approval
Perception
Cost
Risk
Installation and update
Porting to new platforms
Integration with device
Source: Flickr photo by sridgway: http://www.flickr.com/photos/stephanridgway/4468403556/
What qualifies Exadel?
What mobile platforms are
available today?
Platforms: Web
Web browser
Android:
multiple browsers
(Android, Firefox, Opera)
iOS:
Safari
Modern mobile devices have
powerful browsers
More powerful than on some PCs
HTML5 support
What developer skills are needed?
Source:http://www.flickr.com/photos/worldeconomicforum/2889019945/
Objective-C Java
Java
JavaC++HTML/JavaScript
.NET
Developer Skills: Web
HTML, JavaScript, CSS
Well known technology stack
Web developers are more likely to
pick up mobile Web development
then specific native platform
Time to Market
Source: Flickr photo by jpctalbot: http://www.flickr.com/photos/laserstars/908946494/
Performance
Source: Flickr photo by mckaysavage: http://www.flickr.com/photos/mckaysavage/843953060/
Market Approval
“Steve” can't say no!
What about perception?
Source: http://www.flickr.com/photos/h-k-d/3662450210/
Source: http://www.flickr.com/photos/bsuter/1254095605/
Cost
Risk?
Source: http://www.flickr.com/photos/ladyann/2898038133/
Installation and Update
Source: http://www.flickr.com/photos/okubax/3967919035/
Source: http://www.flickr.com/photos/jocke66/4597865558/
Just enter the URL or hit Refresh
Porting to New Platforms
Porting to New Platforms: Native
Porting to New Platforms: Web
Update look and feel, layout
Adapt UI for the target platform
Integration with device services
Integration with device services:
Native
Integration with device services:
Contacts
Calendar
Other applications
Integration with device hardware:
Camera
GPS
Accelerometer
Take advantage of platform's API
Integration with phone services:
Web
Very limited, if any.
Location-based services is available
from browser API
Running in Off-line Mode: Native
HTML5
Connecting to enterprise
Connecting to Enterprise: Native
Existing infrastructure is reused
Might need service layer to
communicate between client
(mobile) and server
HTTP, REST, SOAP
Framework like Flamingo
Connecting to Enterprise: Web
Pretty much existing infrastructure
can be reused
Mobile Frameworks
Mobile Frameworks: Native
Objective-C Java Java
HTML/JavaScript .NETJavaC++
Mobile Frameworks: Web
jQuery Mobile
PhoneGap
Sencha
Appcelerator
But, can adapt any existing
framework for mobile Web
Source: http://www.flickr.com/photos/drachmann/327122302/
Anything I missed?
Some other things to
consider
Does everything need a native app?
Probably not.
“App overload”
Do you want users to download an app
for anything they do on mobile
devices?
Flick photo by Arts Comments: http://www.flickr.com/photos/artcomments/382732967/
History repeats itself?
Go native if:
Games
Access to device
features
High performance
Off-line
Specialized apps
with rich graphics
Targeting just
one platform
For everything else, go
with Web; and if
supporting multiple
platforms is important
Source: http://www.flickr.com/photos/pagedooley/4114167117/
There is no right answer.
Flickr photo by faungg: http://www.flickr.com/photos/44534236@N00/3255156612/
Thank you!
Don't hesitate to contact with me with
any questions, including RichFaces.
email: max@exadel.com
blog: http://mkblog.exadel.com
twitter: http://twitter.com/maxkatz
prototypes: http://gotiggr.com
open source: http://exadel.org

Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps