Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webview: The fifth element

Webview: The fifth element

Talk about different experiences related with mobile web and the android webview. Native vs Hybrid. Drawbacks and benefits of native and hybrid applications

Fernando Cejas

September 04, 2013
Tweet

More Decks by Fernando Cejas

Other Decks in Programming

Transcript

  1. Who am I? •  GDG Organizer •  Android, Agile and

    technology Geek •  NFC Actions App •  Mobile Developer @fernando_cejas http://www.fernandocejas.com/
  2. Agenda •  Native vs web •  Web developers •  Native

    developers •  Benefits and drawbacks •  The webview •  Experiences •  Advices  
  3. 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
  4. 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
  5. 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
  6. 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.
  7. Webview and the mobile web… • 2 small differences: – Mobile web

    authenticates with web session – Webview sets up protocols links
  8. 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)
  9. 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
  10. Thanks! When you look at the dark side, careful you

    must be ... for the dark side looks back. @fernando_cejas www.fernandocejas.com