Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Optimización JS y CSS

Lucas Cepeda
March 15, 2012

Optimización JS y CSS

Presentación para la Webcat sobre cómo optimizar JavaScript y CSS en nuestros proyectos. (Barcelona, 14/03/2012)

Lucas Cepeda

March 15, 2012
Tweet

More Decks by Lucas Cepeda

Other Decks in Design

Transcript

  1. Optimizaciones muy distintas @lucascepeda WebcatBCN, 14/03/2012 • CSS: Optimización para

    el desarrollador* • JavaScript: Optimización para el usuario*
  2. CSS: Lo que ya debes saber @lucascepeda WebcatBCN, 14/03/2012 •

    Código inline, caca • @import, caca • Debe ir en el <head> • Usar shorthand
  3. CSS: Combinar @lucascepeda WebcatBCN, 14/03/2012 <head> <link rel="stylesheet" type="text/css" href="styles/yellow.css">

    <link rel="stylesheet" type="text/css" href="styles/blue.css"> <link rel="stylesheet" type="text/css" href="styles/big.css"> <link rel="stylesheet" type="text/css" href="styles/bold.css"> </head>
  4. CSS: Minimizar @lucascepeda WebcatBCN, 14/03/2012 /***** Multi-line comment before a

    new class name *****/ .classname { /* comment in declaration block */ font-weight: normal; }
  5. CSS: Lo que quizá no sepas @lucascepeda WebcatBCN, 14/03/2012 •

    25K • RTL • CSS antes que JS en el <head> #footer .column ul li a { color: #FAFAFA }
  6. CSS: Problemas conocidos @lucascepeda WebcatBCN, 14/03/2012 • :hover en elementos

    distintos que <a> • border-radius en IE9 • Expresiones en IE
  7. JS: Lo que ya debes saber @lucascepeda WebcatBCN, 14/03/2012 •

    Bloques <script> al final • Evitar document.write • eval es evil
  8. JS: Lo que quizá no sepas @lucascepeda WebcatBCN, 14/03/2012 •

    Smart Event Handler • Mantener la estructura de los objetos • Selectores
  9. JS: Mantener estructura en objetos @lucascepeda WebcatBCN, 14/03/2012 var universe

    = { answer: 42 }; // do something else universe.panic = false;
  10. JS: Mantener estructura en objetos @lucascepeda WebcatBCN, 14/03/2012 var universe

    = { answer: 42, panic: true }; // do something else universe.panic = false;
  11. JS: ?????? @lucascepeda WebcatBCN, 14/03/2012 Array(2).concat(b, c)[String(a).match(/(t)|(f)/).join().split(',,').push(1)] [0, 1, 2,

    3, b, c][String(a).length] ({ 'true': b, 'false': c })[a] switch(a) { case true: return b case false: return c }