Talk about different experiences related with mobile web and the android webview. Native vs Hybrid. Drawbacks and benefits of native and hybrid applications
10. Benefits of native development
• Default OS look & feel (UI conventions)
• Performance
• Access to device hardware (GPS, etc)
• App store/marketplace distribution
• Benefit from latest OS enhancements
11. Drawbacks of native development
• Tied to the particular OS you built for
• Maintaining a multi OS team/skill-set
• Dealing with the app store approval
process
• Keeping app in sync with OS updates
12. Benefits of hybrid development
• Common codebase for multiple OS's
• Access to device hardware (GPS, etc)
• App store/marketplace distribution
• Skills you already have (HTML, CSS, JS)
• Potential code reuse in web site/app
13. Drawbacks of hybrid development
• Build for lowest common denominator
• 3rd party SDK's might lag behind OS
– Want to use feature X? Wait for an
implementation in abstraction layer
• An abstraction layer can have bugs of
its own. Have to determine if a bug is in
your code, the abstraction layer, or OS.
14. So, what should I build?
• Desktop web app
• Mobile web app
• Mobile native app
16. Webview and the mobile web…
• Webviews and Mobile web are
almost the same…
17. Webview and the mobile web…
• 2 small differences:
– Mobile web authenticates with
web session
– Webview sets up protocols links
18.
19.
20. Webview and the mobile web…
• 1 big difference:
– Through webviews we can
access native capabilities
21.
22. Pitfalls…experiences?
• Android webview has a lot of bugs
• Too heavy widget (poor performance?)
• Differente capabilities depending on the OS
version.
• Cordova webview implementation (not a silver
bullet)
23. Some advice…and conclusions…
• Minimize number of connections
• Do not assume JS has loaded
• Minimize page weight
• Testing in your desktop is not enough
• Do not resize images on the client
• Have a version of the web that works
everywhere
• The most important: know your users
• Test on real devices