Post on 19-May-2015
transcript
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