Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Preview:

DESCRIPTION

Devoxx 2010 presentation on Mobile Development Choices: Native Apps vs Web Apps

Citation preview

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 ofPractical RichFaces

(Apress)

Co-authorRichFaces 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

ExadelProducts 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=1434613Source: 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 services

Off-line

Integration with enterprise

Mobile frameworks

Source: Flickr photo by sridgway: http://www.flickr.com/photos/stephanridgway/4468403556/

What qualifies Exadel?

What mobile platforms are available today?

Platforms: WebWeb 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:ContactsCalendarOther applications

Integration with device hardware:CameraGPSAccelerometer

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 MobilePhoneGapSenchaAppcelerator

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:GamesAccess to device featuresHigh performanceOff-lineSpecialized apps with rich graphicsTargeting just one platform

For everything else, go with Web; and if supporting multipleplatforms 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