33
Jacob Hansson Optimerad Javascript

OPTIMERA STHLM! Jacob Hansson

Embed Size (px)

Citation preview

Page 1: OPTIMERA STHLM! Jacob Hansson

Jacob Hansson

Optimerad Javascript

Page 2: OPTIMERA STHLM! Jacob Hansson
Page 3: OPTIMERA STHLM! Jacob Hansson
Page 4: OPTIMERA STHLM! Jacob Hansson

Optimerad Javascript

Page 5: OPTIMERA STHLM! Jacob Hansson

vsFaktisk hastighet

uppfattad hastighet

Page 6: OPTIMERA STHLM! Jacob Hansson

ochnätverkstid

körtid

Page 7: OPTIMERA STHLM! Jacob Hansson

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 8: OPTIMERA STHLM! Jacob Hansson

1. Mäta hastighet

Page 9: OPTIMERA STHLM! Jacob Hansson

1. Mäta hastighet Firebug

Page 10: OPTIMERA STHLM! Jacob Hansson

1. Mäta hastighet Firebug

Page 11: OPTIMERA STHLM! Jacob Hansson

1. Mäta hastighet Speed Tracer

Page 12: OPTIMERA STHLM! Jacob Hansson

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 13: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

Minska datamängden

Färre requests

Hämta i bakgrunden

Page 14: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return first + second;}

Page 15: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return first + second;}

function add(a,b){return a+b;}

minification:

Page 16: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return eval(first);}

Page 17: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return eval(first);}

function add(first,second){var localVar=12;return eval(first);}

minification:

Page 18: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

function add(first,second){var localVar=12;return eval(first);}

function add(a,b){return a+b;}

Page 19: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

Samla AJAX-anrop

Page 20: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

Code-splitting

Page 21: OPTIMERA STHLM! Jacob Hansson

2. Trimma nätverkstid

load(“my.code”,function() { my.code.foo();});

Page 22: OPTIMERA STHLM! Jacob Hansson

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 23: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

UI-tråden

Snabbare DOM

Page 24: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

50 ms

Page 25: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

JS -> DOM

Page 26: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

JS -> DOM

Page 27: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

var ul = $("<ul></ul>");

$("#mydiv").append(ul);

while ( count-- ) {

ul.append("<li></li>");

}

Page 28: OPTIMERA STHLM! Jacob Hansson

3. Trimma körtid

var ul = $("<ul></ul>");

while ( count-- ) {

ul.append("<li></li>");

}

$("#mydiv").append(ul);

Page 29: OPTIMERA STHLM! Jacob Hansson

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 30: OPTIMERA STHLM! Jacob Hansson

4. Automatisera

Build-tools

Page 31: OPTIMERA STHLM! Jacob Hansson

4. Automatisera

QUnit och JSLitmus

Page 32: OPTIMERA STHLM! Jacob Hansson

4. Automatisera

Testa i alla webbläsare

Page 33: OPTIMERA STHLM! Jacob Hansson

@jakewins

[email protected]