Top Banner
The Future of Web App Development Tools Ross Boucher Co-Founder, 280 North
66
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DevTools

The Future of Web App Development Tools

Ross BoucherCo-Founder, 280 North

Page 2: DevTools
Page 3: DevTools

Developer Tools

Page 4: DevTools

Four Categories•Debugging

•Performance Tuning

•Automated Testing

•Development

Page 5: DevTools

1. Debugging

Page 6: DevTools

alert()

Page 7: DevTools

1998: Netscape JavaScript Debugger

Page 8: DevTools

2000: Microsoft Script Debugger

Page 9: DevTools

2001: Mozilla Venkman

Page 10: DevTools

alert()

Page 11: DevTools

I suspect that most JavaScript developers out there are a lot like me... We want to be able to pause our scripts, look at the call stack, and step through them one line at a time, but it's easier to just use "alert debugging" than to fire up a big clunky debugger.

- Joe Hewitt, 2006

Page 12: DevTools

2006: Firebug

Page 13: DevTools

Firebug Features•JavaScript Debugger

•JavaScript Profiler

•Network Monitor

•DOM Inspector

•Logging System

•Integrated right on the page

Page 14: DevTools

2008: WebKit Inspector

Page 15: DevTools

2008: Opera Dragonfly

Page 16: DevTools

2009: IE 8 Developer Tools

Page 17: DevTools

Common Functionality•JavaScript Debugger

•DOM Inspector

•Logging System

•Network Monitor

Page 18: DevTools

Common API

Page 19: DevTools
Page 20: DevTools

What do we need now?

Page 21: DevTools

Common API

Page 22: DevTools
Page 23: DevTools

Scriptability

Page 24: DevTools
Page 25: DevTools

2.Per

formance Tuning

Page 26: DevTools

JavaScript Profiling

Page 27: DevTools
Page 28: DevTools

function.displayName

Page 29: DevTools
Page 30: DevTools
Page 31: DevTools

Top Down vs. Bottom Up

Page 32: DevTools

aFunction

F1

F2

F01

9

1

8

78 7

1

1

Page 33: DevTools

aFunction

F1

F2

F01

9

1

8

78 7

1

1

Page 34: DevTools

1788

88

1

78 1

8

8

F1

F2

F0

aFunction

aFunction

Page 35: DevTools

1788

88

1

78 1

8

8

F1

aFunction

Page 36: DevTools

Instrumented vs. Statistical

Page 37: DevTools

Memory Analysis

Page 38: DevTools

Understand Overall Memory

Usage

Page 39: DevTools

Find Leaks

Page 40: DevTools

Visualize Garbage Collection

Information

Page 41: DevTools
Page 42: DevTools

Browser Metrics

Page 43: DevTools

How much time is the browser spending...

Page 44: DevTools

Painting

Parsing JavaScript

Executing Code

Downloading Files

Processing Events

in Worker Threads

Accessing Databases

Re-flowing

Applying Styles

Parsing HTML

Parsing CSS

Page 45: DevTools

3.Automated Testing

Page 46: DevTools

JsTestDriver

Page 47: DevTools
Page 48: DevTools

Test Swarm

Page 49: DevTools
Page 50: DevTools
Page 51: DevTools

AJAX ScopeFrom Microsoft Research

Page 52: DevTools

Distributed Profiling and Debugging

Page 53: DevTools

http://www-users.itlabs.umn.edu/classes/Fall-2008/csci8101/AjaxScope.pdf

Copyright Emre Kiciman & Benjamin Livshits

Page 54: DevTools

4. Development

Page 55: DevTools

Network Monitoring

Page 56: DevTools

HTTP Client

Page 57: DevTools

Charles Proxy

Page 58: DevTools

Code Analysis

Page 59: DevTools

JSure, JavaScript Lint, JSLint

Page 60: DevTools

Objective-J Runtime Type

Checking

Page 61: DevTools

Web Based IDEs

Page 62: DevTools
Page 63: DevTools
Page 64: DevTools

Wrap Up

Page 65: DevTools
Page 66: DevTools

Thanks.

@boucher • [email protected]