+ All Categories
Home > Technology > No more script tag soup!

No more script tag soup!

Date post: 26-Jun-2015
Category:
Upload: kyle-simpson
View: 1,475 times
Download: 0 times
Share this document with a friend
Description:
Learn the coolest new tricks to minimizing script-loading impact on web performance
Popular Tags:
48
Kyle Simpson [email protected] m http://getify.m e @getify no more <script> tag soup! 1 #scripts oup
Transcript
Page 1: No more script tag soup!

Kyle [email protected]

http://getify.me@getify

no more <script> tag soup!

1

#scriptsoup

Page 2: No more script tag soup!

2

Page 3: No more script tag soup!

3

Page 4: No more script tag soup!

4

Page 5: No more script tag soup!

Firebug, YSlow!, PageSpeed

5

Page 6: No more script tag soup!

GoogleWebmaster Tools

6

Page 7: No more script tag soup!

how to fix?

1. profile2. load better3. build process4. smaller scripts5. smaller requests6. fewer requests

7

Page 8: No more script tag soup!

1. profile

8

Page 9: No more script tag soup!

Figure out what needs to load before the DOM is ready, and what can wait.

9

Page 10: No more script tag soup!

Doloto(download time optimizer)

10

Page 11: No more script tag soup!

the hard way

11

Page 12: No more script tag soup!

2. load better

12

Page 13: No more script tag soup!

FF3 with <script> & <img> tags

FF3.5, 3.6 with <script> & <img> tags

13

Page 14: No more script tag soup!

preloading

14

Page 15: No more script tag soup!

Stoyan Stefanov

15

Page 16: No more script tag soup!

16

Page 17: No more script tag soup!

17

Page 18: No more script tag soup!

18

Page 19: No more script tag soup!

19

Page 20: No more script tag soup!

dynamic loading

20

Page 21: No more script tag soup!

RequireJS

21

Page 22: No more script tag soup!

Dominoes

22

Page 23: No more script tag soup!

LABjs

Loading And Blocking JavaScript

23

Page 24: No more script tag soup!

When NOT to use LABjs

1. If your script uses document.write

2. If your script ITSELF does unsafe DOM-ready detection – does not apply to scripts that use the results of such detection.

24

Page 25: No more script tag soup!

When TO use LABjs

1. Everywhere else(actually, wherever you load scripts over-the-wire, and you care about performance, and don’t have a suitable loader already)

25

Page 26: No more script tag soup!

FF3 with <script> & <img> tags

FF3.5 with <script> & <img> tags

LABjs in every browser 26

Page 27: No more script tag soup!

16.84 secondsvs.

6.24 seconds

2.7x speed increase in overall page load

duh!?!?

27

Page 28: No more script tag soup!

28

Page 29: No more script tag soup!

29

Page 30: No more script tag soup!

30

Page 31: No more script tag soup!

31

Page 32: No more script tag soup!

UsePreloading [true/false] UseCachePreload [true/false] UseLocalXHR [true/false] AlwaysPreserveOrder [true/false] AppendTo [‘head’/’body’] AllowDuplicates [true/false] BasePath [string]

32

Page 33: No more script tag soup!

LABjs’ current default behavior

33

Page 34: No more script tag soup!

3. build process

34

Page 35: No more script tag soup!

dojo

35

Page 36: No more script tag soup!

combiner(Nicholas Zakas)

36

Page 37: No more script tag soup!

LABjs on the server!

psssssssttt.....

37

Page 38: No more script tag soup!

4. smaller scripts

38

Page 39: No more script tag soup!

216 bytes

268 bytes

39

Page 40: No more script tag soup!

294 bytes

197 bytes

40

Page 41: No more script tag soup!

5. smaller requests

41

Page 42: No more script tag soup!

42

Page 43: No more script tag soup!

43

Page 44: No more script tag soup!

6. fewer requests

(cache utilization)44

Page 45: No more script tag soup!

CDNs

45

Page 46: No more script tag soup!

Mozilla Caching SummitSteve

Souders46

Page 47: No more script tag soup!

Idleator

47

Page 48: No more script tag soup!

Kyle [email protected]

http://getify.me@getify

questions?

48


Recommended