arquitetura e práticas de css, por glauber dutra

44
Arquitetura e práticas de CSS Glauber Ramos

Upload: thoughtworks

Post on 12-Jun-2015

1.284 views

Category:

Technology


5 download

DESCRIPTION

Palestra apresentada no frontinpoa 2013 (http://frontinpoa.com.br/) e the developers conference 2013 (http://www.thedevelopersconference.com.br/tdc/2013/portoalegre/trilha-ux-front-end#programacao) Com o avanço das tecnologias web e principalmente das folhas de estilo (CSS), diversas novidades apareceram: animações, pré-processadores, variáveis, novos frameworks e o que antes eram apenas possível ser feito com imagens agora é suportado direto no browser. Dessa maneira novos desafios apareceram, folhas de estilo começaram a se tornar muito grandes e uma organização é necessária. Separar os arquivos de acordo com a sua responsabilidade, pensar em componentes reutilizáveis e guia de estilos é muito importante. Práticas já utilizadas em linguagens de programação agora também são utilizadas nas folhas de estilo

TRANSCRIPT

Page 1: Arquitetura e práticas de CSS, por Glauber Dutra

Arquitetura e práticas de CSSGlauber Ramos

Page 2: Arquitetura e práticas de CSS, por Glauber Dutra
Page 3: Arquitetura e práticas de CSS, por Glauber Dutra
Page 4: Arquitetura e práticas de CSS, por Glauber Dutra
Page 5: Arquitetura e práticas de CSS, por Glauber Dutra
Page 6: Arquitetura e práticas de CSS, por Glauber Dutra

Problemas com CSS

Normalmente é uma bagunçaÉ dificil de manterÉ dificil de modificarNão tem organizaçãoCódigo muito especificoCódigo não reusávelCódigo não testável

·······

Page 7: Arquitetura e práticas de CSS, por Glauber Dutra
Page 8: Arquitetura e práticas de CSS, por Glauber Dutra
Page 9: Arquitetura e práticas de CSS, por Glauber Dutra

SassVariáveis

$textColor: #123AD3;

.button { color: $textColor; }

SASS

Page 10: Arquitetura e práticas de CSS, por Glauber Dutra

SassVariáveis

$textColor: #123AD3;

.button { color: $textColor; }

SASS

.button { color: #123AD3; }

CSS

Page 11: Arquitetura e práticas de CSS, por Glauber Dutra

SassNesting

.button { font-size: 1em;

.icon { color: blue; } }

SASS

Page 12: Arquitetura e práticas de CSS, por Glauber Dutra

SassNesting

.button { font-size: 1em;

.icon { color: blue; } }

SASS

.button { font-size: 1em; }

.button .icon { color: blue; }

CSS

Page 13: Arquitetura e práticas de CSS, por Glauber Dutra

SassExtend

.button { font-size: 1em; }

.button_primary { @extend .button; width: 300px; }

SASS

Page 14: Arquitetura e práticas de CSS, por Glauber Dutra

SassExtend

.button { font-size: 1em; }

.button_primary { @extend .button; width: 300px; }

SASS

.button, .button_primary { font-size: 1em; }

.button_primary { width: 300px; }

CSS

Page 15: Arquitetura e práticas de CSS, por Glauber Dutra

SassMixins

@mixin button { font-size: 1em; }

.button { @include button; }

SASS

Page 16: Arquitetura e práticas de CSS, por Glauber Dutra

SassMixins

@mixin button { font-size: 1em; }

.button { @include button; }

SASS

.button { font-size: 1em; }

CSS

Page 17: Arquitetura e práticas de CSS, por Glauber Dutra

CSS3 MixinsTypography MixinsUtilities MixinsManeira fácil de criar sprites

····

Page 18: Arquitetura e práticas de CSS, por Glauber Dutra
Page 19: Arquitetura e práticas de CSS, por Glauber Dutra
Page 20: Arquitetura e práticas de CSS, por Glauber Dutra
Page 21: Arquitetura e práticas de CSS, por Glauber Dutra
Page 22: Arquitetura e práticas de CSS, por Glauber Dutra

Base

body { font-family: Arial, sans-serif; max-width: 1000px; background: #333; font-size: 16px; }

table { margin: 0 auto; }

ul { margin: 0; }

h1, h2, h3 { margin: 1em; }

SASS

Page 23: Arquitetura e práticas de CSS, por Glauber Dutra
Page 24: Arquitetura e práticas de CSS, por Glauber Dutra
Page 25: Arquitetura e práticas de CSS, por Glauber Dutra
Page 26: Arquitetura e práticas de CSS, por Glauber Dutra
Page 27: Arquitetura e práticas de CSS, por Glauber Dutra
Page 28: Arquitetura e práticas de CSS, por Glauber Dutra
Page 29: Arquitetura e práticas de CSS, por Glauber Dutra

Estrutura

|-- stylesheets/ | |-- modules/ | |-- _base.scss | |-- _buttons.scss | |-- _search.scss | |-- _media.scss | |-- _header.scss | |-- _footer.scss | |-- _variables.scss | |-- _framework.scss

FILE SYSTEM

Page 30: Arquitetura e práticas de CSS, por Glauber Dutra

_framework.scss

// base @import "variables" @import "base"

// layout @import "header" @import "footer"

// modules @import "buttons" @import "search" @import "media"

SASS

Page 31: Arquitetura e práticas de CSS, por Glauber Dutra
Page 32: Arquitetura e práticas de CSS, por Glauber Dutra
Page 33: Arquitetura e práticas de CSS, por Glauber Dutra
Page 34: Arquitetura e práticas de CSS, por Glauber Dutra
Page 35: Arquitetura e práticas de CSS, por Glauber Dutra
Page 36: Arquitetura e práticas de CSS, por Glauber Dutra
Page 37: Arquitetura e práticas de CSS, por Glauber Dutra
Page 38: Arquitetura e práticas de CSS, por Glauber Dutra

Live Style Guide

Documentação de interfaceMantém sua interface consistenteAcelera o desenvolvimentoFerramenta de teste para sua interface

····

Page 39: Arquitetura e práticas de CSS, por Glauber Dutra
Page 40: Arquitetura e práticas de CSS, por Glauber Dutra
Page 41: Arquitetura e práticas de CSS, por Glauber Dutra

CSS Critic

Testes automatizadosBaseados em screenshotsUsa phantom jsFácil de integrar com ferramentas de build (jenkins, bamboo,cruise control, etc...)Ainda estado alpha

····

·

Page 42: Arquitetura e práticas de CSS, por Glauber Dutra
Page 43: Arquitetura e práticas de CSS, por Glauber Dutra
Page 44: Arquitetura e práticas de CSS, por Glauber Dutra