Decisions, Decisions: Native to Mobile Web

Preview:

Citation preview

Decisions, Decisions

Native, Hybrid & Mobile Web

Will IversonCTO, Dev9

What’s in a Name?• Dynacron Group is now Dev9

Hi!• Dev9– Kirkland, WA software consulting firm– ~40 people, ~3.5 years– Specializing in Continuous Delivery– Open source, Java, Mobile, NoSQL

• Will Iverson– CTO. Author. Speaker. Since 1995.

Stipulations• Mobile is huge.• Mobile is multi-platform.• Secure things are [validated] on

servers.–Money, digital goods, identity, etc.

• You don’t have infinite resources.

I’m in! Let’s get mobile!

Wait…

Android Fragmentation

http://developer.android.com/about/dashboards/index.html

iOS Fragmentation

http://aplus.rs/2013/try-couch-to-5k-ios-and-device-charts/Note: this particular chart is a smaller sample for one app

It’s even worse than that!

What exactly IS mobile,

anyways?

Touch?Small screen?

Location aware?

Considerations• Goals• People (aka resources)

• Tools• Processes

Goals• Concrete model for describing

success– Transactions?– Sales?– Reduce time to complete action?– Ongoing user engagement?

Transactions & Revenue• Give 30% to platform vendor?– Give up 50% to retail today, maybe ok– Give up 3% to CC today, maybe not

• Do you have the customer’s contact info?

Now What?• Let’s go build something!• Need a dev team… tools…

processes…

Classic ApproachNative• Use mobile platform

vendor SDK & Language

• Full device integration• Excellent CPU/GPU

performance• Hard to build

Mobile Web• Use HTML5, JavaScript

to target mobile browser

• No device integration• Slow, inferior CPU/GPU

experience• Easy to build

Native App Store

Native Wrapper

History of Mobile Deployment*

Native Applicatio

n

Mobile Browser

Web Applicatio

n

Web Applicatio

n

* iOS+

New Thinking• Native• Web– Responsive– Canvas

• Hybrid– Responsive– Canvas

Responsive Design

Canvas

scirra.com/arcade

Hybrid Features

Hybrid Performance• Subjective vs. Objective– 10,000s of sprites, physics, more… many high

perf demos

• Requires work– Touch events, JS profiling

• Naïve implementations easy to screw up– Use mobile appropriate JS frameworks

• Perf improvements help all targets

Hybrid User Interface• Biggest

challenge• Roll your

own, or use a toolkit

KendoUI framework shown

So… why native again?• Performance?• GPU!

• Hardware integration?– Innovation!

• App Store!– Discoverability!

Additional Criteria• Testability

– Much easier to test mobile web

• Continuous Integration• Deployment Time

– Days/weeks for app store updates

• Analytics• Budget• Staff Expertise

Sample Decision Tree

3D Game?

Unity3D 2D Game?

Scirra Construct2 Internal Customers Only?

Mobile WebOnly

Mobile Web + Hybrid

Yes No

Yes No

Yes No

Q & A