Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Construindo um framework CSS - A Teoria
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
46
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
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
650
O básico sobre Web Semântica, JSON-LD e Linked Data
diegoeis
2
250
A falácia do Dev Full Stack e organização de quipes
diegoeis
0
290
Other Decks in Programming
See All in Programming
Creating Composable Callables in Contemporary C++
rollbear
0
200
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
3.2k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
190
フィードバックで育てるAI開発
kotaminato
1
110
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
130
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
420
act1-costs.pdf
sumedhbala
0
190
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
130
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
290
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
250
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Ethics towards AI in product and experience design
skipperchong
2
320
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
210
Optimizing for Happiness
mojombo
378
71k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.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