apoio
Otimizando Frontend



apoio
Otimizando Frontend
        Ruby on Rails




apoio
PERFORMANCE?!
80% a 90%
80% a 90%
no front-end
YSLOW   PAGESPEED
Full-Stack Web
 Framework
•   Page Cache
•   Action Cache
•   Fragment Cache
•   Cache de consultas do AR
•   Memoize
•   Page Cache
      •
              EN D
          Action Cache



    AC
      •
       K  Fragment Cache


B     •
      •
          Cache de consultas do AR
          Memoize
14
regras para frontend



                       *22
RESOLVENDO
  1º FAÇA MENOS REQUISIÇÕES
     Css sprites http://urele.com/yj6
         Unificar JS e CSS

    8º CSS e JS EXTERNOS

     10º MINIMIZE JS E CSS

12º REMOVA SCRIPTS DUPLICADOS
DEMO
ASSET PACKAGER
ASSET PACKAGER
DEMO
RESOLVENDO

  5º CSS NO TOPO

6º SCRIPTS NO FINAL
DEMO
RESOLVENDO

3º CACHE OTIMIZADO

 4º COMPACTAÇÃO
DEMO
RESOLVENDO

2º CDN
  • Amazon CloudFront
  • Akamai, LimeLight, Mirror Image, etc
  • SubDomínios ou outros Hosts
DEMO
RESOLVENDO

  13º E-TAGS
DEMO
O QUE FIZEMOS ?
1.    FAÇA MENOS REQUISIÇÕES
2.    REDE DE DISTRIBUIÇÃO DE CONTEÚDO (CDN)
3.    CACHE OTIMIZADO
4.    COMPACTAÇÃO
5.    CSS NO TOPO
6.    SCRIPTS NO FINAL
7.    EVITE EXPRESSÕES CSS
8.    CSS E JS EXTERNOS
9.    REDUZA PESQUISAS DNS
10.   MINIZE JAVASCRIPT
11.   EVITE REDIRECIONAMENTOS
12.   REMOVA SCRIPTS DUPLICADOS
13.   CONFIGURE E-TAGS
14.   AJAX CACHE
FALTARAM
• REDUZA PESQUISAS DNS
 Menos hosts e KeepAlive (default)

• EVITE REDIRECIONAMENTOS
• AJAX CACHE
 Max-age e cache-control

 URL GET com ID ou identifcador único
GRADE A
CONSIDERAÇÕES

•   Exemplo com Jammit no meu github

•   Capistrano e Jammit

•   Capistrano com CDN

•   RackCache

•   AutoSprite
• twitter.com/danielvlopes
• danielvlopes@areacriacoes.com.br
• areacriacoes.com.br
• cifrascash.com
• pomodo.areacriacoes.com.br
• github.com/danielvlopes
• egenial.com.br/cursorails
APOIO

Frontend (RailsMG)