Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Construindo um framework CSS - A Teoria
Search
Diego Eis
April 22, 2013
Programming
310
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Construindo um framework CSS - A Teoria
Entenda a teoria e o conceito de construção de um framework CSS.
Diego Eis
April 22, 2013
More Decks by Diego Eis
See All by Diego Eis
Como a IA redefine a construção e gestão de produtos
diegoeis
1
56
Carreira de Product Manager em 18 minutos
diegoeis
1
1.7k
O que é o Product Oversee
diegoeis
0
4.8k
Gestão Moderna de Produtos/Serviços Digitais
diegoeis
4
22k
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
700
O básico sobre Web Semântica, JSON-LD e Linked Data
diegoeis
2
260
A falácia do Dev Full Stack e organização de quipes
diegoeis
0
290
Other Decks in Programming
See All in Programming
AHC070解法紹介
eijirou
0
110
Java 27新機能 / Java 27 new features
kishida
2
120
A2UI for Android: Safely Rendering AI-Generated UI with Jetpack Compose - DroidKaigi 2026
itsmedreamwalker
0
120
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.1k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
990
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
業務時間外もAIに働いてもらう話
colorful12
3
10k
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
iOSDC2026登壇資料.pdf
riofujimon
0
150
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
160
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Fireside Chat
paigeccino
43
4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
460
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
Building Applications with DynamoDB
mza
96
7.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
For a Future-Friendly Web
brad_frost
183
10k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
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