Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Construindo um framework CSS - A Teoria
Search
Diego Eis
April 22, 2013
Programming
4
300
Construindo um framework CSS - A Teoria
Entenda a teoria e o conceito de construção de um framework CSS.
Diego Eis
April 22, 2013
Tweet
Share
More Decks by Diego Eis
See All by Diego Eis
Como a IA redefine a construção e gestão de produtos
diegoeis
1
23
Carreira de Product Manager em 18 minutos
diegoeis
1
1.6k
O que é o Product Oversee
diegoeis
0
4.6k
Gestão Moderna de Produtos/Serviços Digitais
diegoeis
4
21k
Métricas, Indicadores e Comportamento do Usuário
diegoeis
2
4.9k
Service Dominant Logic - S-D Logic em Produtos Digitais
diegoeis
0
1.4k
Métricas para times Ágeis usando Estatística Básica
diegoeis
0
520
O básico sobre Web Semântica, JSON-LD e Linked Data
diegoeis
2
230
A falácia do Dev Full Stack e organização de quipes
diegoeis
0
270
Other Decks in Programming
See All in Programming
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
180
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
330
FluorTracer / RayTracingCamp11
kugimasa
0
250
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
Python札幌 LT資料
t3tra
6
1k
認証・認可の基本を学ぼう前編
kouyuume
0
260
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
160
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
940
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Done Done
chrislema
186
16k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
210
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Thoughts on Productivity
jonyablonski
73
5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Balancing Empowerment & Direction
lara
5
810
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
79
Raft: Consensus for Rubyists
vanstee
141
7.2k
Transcript
FRAMEWORK CSS Iniciando a construção de um framework A TEORIA
Diego Eis @diegoeis @tableless
None
Por que criar um framework?
Prototipação A equipe precisa criar protótipos funcionais rápidos com a
estruturação parecida com a final.
Padronização Padronização de estrutura, elementos, código, comportamentos, experiências etc etc
etc.
Produtividade Menos tempo desenhando ou codificando cenários já conhecidos.
Manutenção Facilitar a manutenção diminuindo o tempo de retrabalho.
Por que NÃO criar um framework?
Layouts muito diferentes Layouts ou elementos com a estrutura e
visual diferentes.
O código não para de crescer O código vai ficar
cada vez maior, cada vez mais pesado, com possibilidade de conflitos.
Tempo Você vai precisar dedicar sua equipe integralmente para cuidar
do framework. Pelo menos no início do projeto.
Por que já existem outros no mercado Os que existem
podem te ajudar melhor, além de contar com documentação e manual prontos.
Locaweb Style
Precisávamos resolver alguns problemas
O processo Processos incompletos prejudicam a qualidade do código, do
produto e da entrega.
Excesso de projetos São diversos projetos ao mesmo tempo, com
equipes trabalhando paralelamente.
Liberar gargalos Os times de design e de front-end eram
gargalos constantes. Precisávamos agilizar o processo.
Conversamos com o pessoal de UX O processo se inicia
lá. São eles que pensarão nos comportamentos, design etc.
Burocracia
Conversamos com o pessoal de Back-end Eles terão contato direto
com o código front-end e também poderão implementar algo sem depender de ninguém.
Escolhemos a base Iríamos usar Bootstrap e JQuery. Não iríamos
utilizar nenhum pré-processador como LESS ou SASS.
Customização de design e comportamentos Pegamos o layout criado por
UX e começamos a customizar ou criar elementos.
Padronização de código Iniciamos um trabalho de nomenclatura e padronização
de escrita de código.
Um exemplo: CSS incremental Incremente classes para ajudar na customização
de elementos.
.btn .btn .btn-large .btn .btn-large .btn-primary .btn .btn-large .btn-primary .ico-star
<a href=”#”>Um botão</a>
Outro exemplo: Javascript organizado Se o javascript não estiver bem
estruturado, ele vai puxar seu pé na cama.
$(window).load(function() { window.locastyle = new Locastyle(); locastyle.base.init($(document)); }); Aqui iniciamos
o objeto Locastyle, que vai carregar as funções do projeto. init.js
Locastyle = (function() { Locastyle.prototype.base = { init: function (dom_scope)
{ this.toggleTextOnClick(dom_scope); this.toggleTextOnHover(dom_scope); this.datePickerSetup(dom_scope, this.datePickerOptions); this.numbersOnly(dom_scope); this.activateCollapseOnShown(dom_scope); this.deactivateCollapseOnHide(dom_scope); this.htmlForceClass(dom_scope); this.disableClass(dom_scope); this.classParentLiMenu(dom_scope); this.modalAutoFocus(dom_scope); this.preventDefaultOnDisabled(dom_scope); this.openCollapsesWithError(dom_scope); this.autoOpenModal(dom_scope); this.pathWayStepCounter(dom_scope); this.setListDetailSeparator(); this.advancedSearchValueHandler(dom_scope); this.toggleChild(dom_scope); this.toggleChildValue(dom_scope); this.inputDataValue(dom_scope); this.carouselCounter(dom_scope); this.initCustomSelect(dom_scope); this.collapseSetAnchor(); this.notificationInfoSet(); this.notificationInfoHandler(); this.minShortcutsCookieSetter(); this.minShortcutsCookieHandler(); this.coverAllLink(dom_scope); this.linkPreventDefault(); this.popover(dom_scope); }, script.js Aqui chamamos e executamos todas as funções do projeto.
Cuidados
Escolha um bom framework para sua base Você não precisa
começar nada do zero. Mas sua base precisa ser firme para você crescer.
O designer é seu amigo Padrões visuais andam junto com
os padrões de código. Defina com o designer quais serão os padrões dos elementos básicos: GRID, botões, tipografia, espaços e medidas.
Nomenclatura bem definida Misturar nomes em inglês com portugues confunde.
Nomes grandes confundem. Vai usar traço, underline ou camelCase?
Faça código reutilizável desde o início Um framework é como
um quebra cabeças, onde você junta as peças para criar novas formas e estruturas.
Tenha uma documentação ou um manual Uma documentação ou um
manual com exemplos vai ajudar a adoção do framework em novos projetos.
Cresça com paciência Não coloque plugins que você ACHA que
vai usar. Não solucione problemas que você ACHA que vão surgir.
A exceção não é padrão Quando há muitas exceções, nenhum
padrão está sendo criado. Designers e devs front-end precisam usar elementos já criados para montar layouts.
Work in Progress Seu framework nunca estará pronto. Você sempre
vai criar, refazer ou modificar as features.
AMPLEXOS Diego Eis @diegoeis @tableless tableless.com.br