Front-end optimization on BarCamp Riga 2009

31
Front-end optimization

description

 

Transcript of Front-end optimization on BarCamp Riga 2009

Page 1: Front-end optimization on BarCamp Riga 2009

Front-end optimization

Page 2: Front-end optimization on BarCamp Riga 2009

Minification

Page 3: Front-end optimization on BarCamp Riga 2009

<ul id="content"><li id="developerBlock">

<h1><a name="developer">

A web developer</a><?php echo $up ?>

</h1><p>

I make web applications.Be it websites or some tools or

widgets.And I do it right.For I care about my honour first and

money second.Thus, I prefer to spend more time,

but make the final result better.</p>

Page 4: Front-end optimization on BarCamp Riga 2009

<ul id="content"><li id="developerBlock"><h1><a name="developer">A web developer</a> <a href="#contents" class="up ir in" title="Return to the contents">Up <span></span></a></h1><p>I make web applications. Be it websites or some tools or widgets. And I do it right. For I care about my honour first and money second. Thus, I prefer to spend more time, but make the final result better.</p>

Page 5: Front-end optimization on BarCamp Riga 2009

@media screen {html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center, /* Bad tags ^_~ */dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td { padding: 0;

margin: 0 }h1,h2,h3,h4,h5,h6 { font-weight: normal }a img { border: 0 }ul { list-style-type: none }

}

Page 6: Front-end optimization on BarCamp Riga 2009

@media screen{html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{padding:0;margin:0}h1,h2,h3,h4,h5,h6{font-weight:normal}a img{border:0}ul{list-style-type:none}}

Page 7: Front-end optimization on BarCamp Riga 2009
Page 8: Front-end optimization on BarCamp Riga 2009
Page 9: Front-end optimization on BarCamp Riga 2009
Page 10: Front-end optimization on BarCamp Riga 2009

smushit.com

Page 11: Front-end optimization on BarCamp Riga 2009

Gluing(sticking together)

Page 12: Front-end optimization on BarCamp Riga 2009

reset.cssfonts.csscolors.css

positioning.cssprint.css

sprites.cssthickbox.css

Page 13: Front-end optimization on BarCamp Riga 2009

all.css

Page 14: Front-end optimization on BarCamp Riga 2009

HTTP requests are expensive

Page 15: Front-end optimization on BarCamp Riga 2009

4 (6) simultaneous requests

Page 16: Front-end optimization on BarCamp Riga 2009

Sprites

Page 17: Front-end optimization on BarCamp Riga 2009

Encoding

Page 18: Front-end optimization on BarCamp Riga 2009

gzip, deflate

Page 19: Front-end optimization on BarCamp Riga 2009

all.css.gzall.js.gz

Page 20: Front-end optimization on BarCamp Riga 2009

Do all browsers support encoding?

Page 21: Front-end optimization on BarCamp Riga 2009

HTTP

Page 22: Front-end optimization on BarCamp Riga 2009

HTTP headers

Accept-Encoding: gzip, deflate

Content-Encoding: gzip, defla e

Page 23: Front-end optimization on BarCamp Riga 2009

Caching

Page 24: Front-end optimization on BarCamp Riga 2009

HTTP headers

Last modified: 1234567890Expires: 1234567890

Page 25: Front-end optimization on BarCamp Riga 2009

sokolov.cc/css/main/1234567890

Page 26: Front-end optimization on BarCamp Riga 2009

sokolov.cc/css/main/

302 – Found

Page 27: Front-end optimization on BarCamp Riga 2009

sokolov.cc/css/main/100

301 – Permanent redirect

Page 28: Front-end optimization on BarCamp Riga 2009

sokolov.cc/css/main/9876543210

307 – Temporary redirect

Page 29: Front-end optimization on BarCamp Riga 2009

sokolov.cc/css/main/1234567890

200 – OK

Page 30: Front-end optimization on BarCamp Riga 2009

@media screen{html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{padding:0;margin:0}h1,h2,h3,h4,h5,h6{font-weight:normal}a img{border:0}ul{list-style-type:none}}#header .coverImage{text-align:center;margin:0;padding:0}#header .coverImage p.photo{width:312px;margin:0 auto}#middle,#webDeveloper{clear:both}#noscriptMessage{width:100%;margin:0 auto}#noscriptMessage p{max-width:30em;margin:0 auto}#content{margin-left:auto;margin-right:auto} #content>li{float:left;width:30em;padding:0 1em;margin-top:2em}#content>li p{margin:0 auto}.smallWidth #content>li{width:auto} #footer,#signature{clear:both;margin-top:3em;padding-top:3em;margin-bottom:5e...

Page 31: Front-end optimization on BarCamp Riga 2009

MinificationGluing

EncodingCaching