59
1 Max Katz, Exadel Mobile Development Choices: Native Apps vs Web Apps

Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

1

Max Katz, Exadel

Mobile Development Choices:Native Apps vs Web Apps

Page 2: Devoxx2010 - 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

Page 3: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Author ofPractical RichFaces

(Apress)

Co-authorRichFaces Dzone

Refcard

Page 4: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 5: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 6: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

You can find me at:blog: http://mkblog.exadel.com

twitter: http://twitter.com/maxkatz

Page 7: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

ExadelProducts and services company

Founded in 1998, headquarters in Concord, CA

350+ employees

Page 8: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Open source with JBoss

Page 9: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: Flickr photo by markhillary: http://www.flickr.com/photos/markhillary/514555513/

How did it all start?

Page 10: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: http://www.flickr.com/photos/victor_sween/351930091/

Page 11: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Mobile devices are very powerful today, and

getting more powerful with each new model.

Page 12: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Many high-end phones now ship with

1Ghz processor

Large, high-resolution screens

High-resolution camera and HD video recorder

WiFi, 3G/4G, GPS

Page 13: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: http://www.flickr.com/photos/samchurchill/4468099718/

HTC EVO 4G

Page 14: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Sources: http://blackberry.com, http://samsung.com, http://www.flickr.com/photos/3gstore/4745626595/

Page 15: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

The number of smartphones is growing at phenomenal rate.

How many of you have a smartphone?

Page 16: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Over 4 billion phones in the

world(that's half the

population)

Source: http://www.flickr.com/photos/wwworks/2222523486/

Page 17: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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/

Page 18: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 19: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Smartphone?

Source: http://www.flickr.com/photos/sanberdoo/510894918/

Page 20: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

There are 2 options to deliver applications:

Native apps or Web apps

That looks like what we have on PCs. Right?

Page 21: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 22: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

What qualifies Exadel?

Page 23: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

What mobile platforms are available today?

Page 24: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Page 25: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Platforms: WebWeb browser

Android: multiple browsers

(Android, Firefox, Opera)

iOS: Safari

Page 26: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Modern mobile devices have powerful browsers

More powerful than on some PCs

HTML5 support

Page 27: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

What developer skills are needed?Source:http://www.flickr.com/photos/worldeconomicforum/2889019945/

Page 28: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Objective-C Java

Java

JavaC++HTML/JavaScript

.NET

Page 29: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 30: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Time to Market

Page 31: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: Flickr photo by jpctalbot: http://www.flickr.com/photos/laserstars/908946494/

Performance

Page 32: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: Flickr photo by mckaysavage: http://www.flickr.com/photos/mckaysavage/843953060/

Market Approval

“Steve” can't say no!

Page 33: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

What about perception?

Source: http://www.flickr.com/photos/h-k-d/3662450210/

Page 34: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Page 35: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Page 36: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Page 37: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: http://www.flickr.com/photos/bsuter/1254095605/

Cost

Page 38: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Risk?

Source: http://www.flickr.com/photos/ladyann/2898038133/

Page 39: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Installation and Update

Source: http://www.flickr.com/photos/okubax/3967919035/Source: http://www.flickr.com/photos/jocke66/4597865558/

Page 40: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Just enter the URL or hit Refresh

Page 41: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Porting to New Platforms

Page 42: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Porting to New Platforms: Native

Page 43: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Porting to New Platforms: Web

Update look and feel, layout

Adapt UI for the target platform

Page 44: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Integration with device services

Page 45: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Integration with device services: Native

Integration with device services:ContactsCalendarOther applications

Integration with device hardware:CameraGPSAccelerometer

Take advantage of platform's API

Page 46: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Integration with phone services: Web

Very limited, if any.

Location-based services is available from browser API

Page 47: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Running in Off-line Mode: Native

HTML5

Page 48: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Connecting to enterprise

Page 49: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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

Page 50: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Connecting to Enterprise: Web

Pretty much existing infrastructure can be reused

Page 51: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Mobile Frameworks

Page 52: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Mobile Frameworks: Native

Objective-C Java Java

HTML/JavaScript .NETJavaC++

Page 53: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Mobile Frameworks: Web

jQuery MobilePhoneGapSenchaAppcelerator

But, can adapt any existing framework for mobile Web

Page 54: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Source: http://www.flickr.com/photos/drachmann/327122302/

Anything I missed?

Page 55: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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?

Page 56: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Flick photo by Arts Comments: http://www.flickr.com/photos/artcomments/382732967/

History repeats itself?

Page 57: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

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/

Page 58: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

There is no right answer.

Flickr photo by faungg: http://www.flickr.com/photos/44534236@N00/3255156612/

Page 59: Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

Thank you!

Don't hesitate to contact with me with any questions, including RichFaces.

email: [email protected]

blog: http://mkblog.exadel.com

twitter: http://twitter.com/maxkatz

prototypes: http://gotiggr.com

open source: http://exadel.org