Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

68
Catching bugs with Opera Dragonfly AN OVERVIEW OF OPERA'S DEVELOPER TOOLS Patrick H. Lauke / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

description

http://www.ozgurwebgunleri.org.tr/2012/

Transcript of Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

Page 1: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

Catching bugs with Opera DragonflyAN OVERVIEW OF OPERA'S DEVELOPER TOOLS

Patrick H. Lauke / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

Page 2: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

www.opera.com/developer/tools

Page 3: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

www.opera.com/dragonfly

Page 4: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

Opera Dragonfly● “HTML5 web application”● uses application cache (needs one-time load)● rapid release cycle with 3 release channels

Page 5: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

my.opera.com/dragonfly/blog

Page 6: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

github.com/operasoftware/dragonfly

Page 7: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

documents

Page 8: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● shows the DOM, not the source

Page 9: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 10: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 11: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 12: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● node selection and properties● editing nodes, changing styles● event handlers

Page 13: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 14: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 15: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 16: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 17: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

scripts

Page 18: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

JavaScript debugging● syntax errors are “simple” – throw errors

Page 19: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 20: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 21: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

JavaScript debugging● more insidious: logic errors● difficult to see what's going on inside script

Page 22: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

alert( … )

Page 23: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

console

Page 24: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 25: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 26: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 27: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 28: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 29: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● breakpoints: line, conditional, event, function● explicit debugger statement

Page 30: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 31: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 32: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● console in scope

Page 33: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 34: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● dynamic value inspection

Page 35: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 36: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 37: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● function return values

Page 38: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 39: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

network

Page 40: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● activity on load and after page loaded● graph view (waterfall) and data view● filtering● make request – curl style● network options

Page 41: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 42: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 43: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 44: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 45: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

resources

Page 46: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 47: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

profiler

Page 48: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● first debug tool to have profiler● shows internal processes of the browser● mainly CSS profiling at the moment● useful for performance optimisation (particularly on slow devices)

Page 49: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

remote debugging

Page 50: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 51: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

● first debug tool to have remote debugging● other browsers now catching on● others limited, require USB/ADB, extra app

Page 52: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

people.apache.org/~pmuellr/weinre

Page 54: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

developers.google.com/chrome-developer-tools/docs/remote-debugging

Page 55: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

html.adobe.com/edge/inspect

Page 56: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 57: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 58: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

www.opera.com/developer/tools/mobile

Page 59: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 60: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 61: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012
Page 62: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

why emulate?● real touch events● viewport● reacts correctly to media queries (device-pixel-ratio, device-width, … )

Page 64: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

want to know more?

Page 65: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

my.opera.com/dragonfly/blog

Page 66: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

github.com/operasoftware

Page 67: Catching bugs with Opera Dragonfly / Özgür Web Teknolojileri Günleri / Istanbul / 19 October 2012

operaturkiye.net