"WebView, the fifth element" por @fernando_cejas

25
@fernando_cejas WEBVIEW: The Fifth Element

description

Presentación realizada en el #webcat Barcelona de Septiembre 2013 Autor: Fernando Cejas (@fernando_cejas)

Transcript of "WebView, the fifth element" por @fernando_cejas

Page 1: "WebView, the fifth element" por @fernando_cejas

@fernando_cejas

WEBVIEW: The Fifth Element

Page 2: "WebView, the fifth element" por @fernando_cejas

Who am I?

•  GDG Organizer •  Android, Agile and

technology Geek •  NFC Actions App •  Mobile Developer

@fernando_cejas

http://www.fernandocejas.com/

Page 3: "WebView, the fifth element" por @fernando_cejas

Agenda

•  Native vs web •  Web developers •  Native developers •  Benefits and drawbacks •  The webview •  Experiences •  Advices  

Page 4: "WebView, the fifth element" por @fernando_cejas

What the hell…? …I am a native developer

Page 5: "WebView, the fifth element" por @fernando_cejas

Why the title? What were you thinking about?

Page 6: "WebView, the fifth element" por @fernando_cejas

Actually…

•  Activities •  Intents •  Services •  Widgets •  ...and Webview!!!

Page 7: "WebView, the fifth element" por @fernando_cejas

Native vs web???

Page 8: "WebView, the fifth element" por @fernando_cejas

Web developers? Designers?

Page 9: "WebView, the fifth element" por @fernando_cejas

Native developers…????

Page 10: "WebView, the fifth element" por @fernando_cejas

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

Page 11: "WebView, the fifth element" por @fernando_cejas

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

Page 12: "WebView, the fifth element" por @fernando_cejas

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

Page 13: "WebView, the fifth element" por @fernando_cejas

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.

Page 14: "WebView, the fifth element" por @fernando_cejas

So, what should I build?

• Desktop web app • Mobile web app • Mobile native app

Page 15: "WebView, the fifth element" por @fernando_cejas

We can live together…

Page 16: "WebView, the fifth element" por @fernando_cejas

Webview and the mobile web…

• Webviews and Mobile web are almost the same…

Page 17: "WebView, the fifth element" por @fernando_cejas

Webview and the mobile web…

• 2 small differences: – Mobile web authenticates with

web session – Webview sets up protocols links

Page 18: "WebView, the fifth element" por @fernando_cejas
Page 19: "WebView, the fifth element" por @fernando_cejas
Page 20: "WebView, the fifth element" por @fernando_cejas

Webview and the mobile web…

• 1 big difference: – Through webviews we can

access native capabilities

Page 21: "WebView, the fifth element" por @fernando_cejas
Page 22: "WebView, the fifth element" por @fernando_cejas

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)

Page 23: "WebView, the fifth element" por @fernando_cejas

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

Page 24: "WebView, the fifth element" por @fernando_cejas

Any questions?

Page 25: "WebView, the fifth element" por @fernando_cejas

Thanks!

When you look at the dark side, careful you must be ... for the dark side looks back.

@fernando_cejas www.fernandocejas.com