SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Web Components para o seu
Design System!
Nicole Oliveira
Quem sou eu
● Engenheira de Software
● TOTVS
● Formada em Sistemas de Informação
● Joinville
● Casada com o João e mãe da Abigail
e do Jacó
O que é um Design System?
“Design System não é um
projeto, é um produto
servindo outros produtos.”
Nathan Curtis da Eightshapes
“Um ecossistema de bibliotecas
com componentes codados a partir
de semânticas de design e gestão
de estilo centralizada”
Meiuca
Design System Style Guide
Design tokens Base Components Components Templates
Cores
Espessura da borda
Raio da borda
Fonte
Button
Checkbox
Link
Modal
Input
Página composta
por modal e input
CARBON
Design System da IBM
Resumindo...
● é um produto
● tem que ter como produto final código-fonte (tecnologia)
● precisa de uma equipe multidisciplinar (designer, devs, PO, PM)
● Composta por: design tokens, base components, components e templates
Se o Design System tem como
produto final, componentes
desenvolvidos, qual é a tecnologia
indicada para isso?
Tecnologias Web hoje disponíveis no mercado
● Angular
● React
● Vue
● Ember
Web components
new
O que é um Web component?
<pods-button
label="Hello world">
</pods-button>
HTML
É só isso!
+ CSS + JS = Componente
Composto por 4 tecnologias principais
Web Components
Elementos
customizados
Shadow DOM Templates HTML ES Modules
Composto por 4 tecnologias principais
Web Components
Elementos
customizados
Shadow DOM Templates HTML ES Modules
Composto por 4 tecnologias principais
Web Components
Elementos
customizados
Shadow DOM Templates HTML ES Modules
Um conjunto de APIs JavaScript para incorporar uma árvore DOM "fantasma" encapsulada a um
elemento — que é renderizada separadamente do DOM do documento principal — e controlar a
funcionalidade associada.
Composto por 4 tecnologias principais
Web Components
Elementos
customizados
Shadow DOM Templates HTML ES Modules
Usar o elementos <template> e <slot> para reaproveitamento de conteúdo
Composto por 4 tecnologias principais
Web Components
Elementos
customizados
Shadow DOM Templates HTML ES Modules
Como está o mercado HOJE?
Por que escolhemos utilizar Web
Components?
Por que escolhemos utilizar Web Components?
● Flexibilidade para poder utilizar em qualquer
outro framework front-end.
● Interoperabilidade com projetos que estão em
produção atualmente.
● Menor tamanho de pacote final.
● Suporta a maioria dos navegadores, apenas
para IE precisa de polyfill
Desafios encontrados
● Algumas ferramentas de apoio ainda não
tem muita documentação para suporte.
Por exemplo: testes e storybook.
● Custom properties para IE11 não foi
possível, tivemos que utilizar fallback.
Falar é fácil! Eu quero ver é o código!
Referências
Design system na visão da Meiuca
Web Components - MDN
Web Components - ORG
https://github.com/nicoleoliveira/tdc-web-components
Obrigada!
LinkedIn: Nicole Oliveira
Medium: @nicoleoliveirasilva
Github: nicoleoliveira

Mais conteúdo relacionado

Semelhante a Web components para o seu design system

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorDaniel Brandão
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G Ofabio.thomaz
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTiago Matos
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Desvendando padrões para desenvolvimento web, base para o sucesso
Desvendando padrões para desenvolvimento web, base para o sucessoDesvendando padrões para desenvolvimento web, base para o sucesso
Desvendando padrões para desenvolvimento web, base para o sucessoUbiratan Z. do Nascimento
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Jackson Meires
 

Semelhante a Web components para o seu design system (20)

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Web components
Web componentsWeb components
Web components
 
Web components
Web componentsWeb components
Web components
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHP
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Apresentação ISFramework
Apresentação ISFrameworkApresentação ISFramework
Apresentação ISFramework
 
Desvendando padrões para desenvolvimento web, base para o sucesso
Desvendando padrões para desenvolvimento web, base para o sucessoDesvendando padrões para desenvolvimento web, base para o sucesso
Desvendando padrões para desenvolvimento web, base para o sucesso
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
 

Web components para o seu design system

  • 1. Web Components para o seu Design System! Nicole Oliveira
  • 2. Quem sou eu ● Engenheira de Software ● TOTVS ● Formada em Sistemas de Informação ● Joinville ● Casada com o João e mãe da Abigail e do Jacó
  • 3. O que é um Design System?
  • 4. “Design System não é um projeto, é um produto servindo outros produtos.” Nathan Curtis da Eightshapes
  • 5. “Um ecossistema de bibliotecas com componentes codados a partir de semânticas de design e gestão de estilo centralizada” Meiuca
  • 7. Design tokens Base Components Components Templates Cores Espessura da borda Raio da borda Fonte Button Checkbox Link Modal Input Página composta por modal e input
  • 9. Resumindo... ● é um produto ● tem que ter como produto final código-fonte (tecnologia) ● precisa de uma equipe multidisciplinar (designer, devs, PO, PM) ● Composta por: design tokens, base components, components e templates
  • 10. Se o Design System tem como produto final, componentes desenvolvidos, qual é a tecnologia indicada para isso?
  • 11. Tecnologias Web hoje disponíveis no mercado ● Angular ● React ● Vue ● Ember Web components new
  • 12. O que é um Web component?
  • 14. Composto por 4 tecnologias principais Web Components Elementos customizados Shadow DOM Templates HTML ES Modules
  • 15. Composto por 4 tecnologias principais Web Components Elementos customizados Shadow DOM Templates HTML ES Modules
  • 16. Composto por 4 tecnologias principais Web Components Elementos customizados Shadow DOM Templates HTML ES Modules Um conjunto de APIs JavaScript para incorporar uma árvore DOM "fantasma" encapsulada a um elemento — que é renderizada separadamente do DOM do documento principal — e controlar a funcionalidade associada.
  • 17. Composto por 4 tecnologias principais Web Components Elementos customizados Shadow DOM Templates HTML ES Modules Usar o elementos <template> e <slot> para reaproveitamento de conteúdo
  • 18. Composto por 4 tecnologias principais Web Components Elementos customizados Shadow DOM Templates HTML ES Modules
  • 19. Como está o mercado HOJE?
  • 20.
  • 21. Por que escolhemos utilizar Web Components?
  • 22. Por que escolhemos utilizar Web Components? ● Flexibilidade para poder utilizar em qualquer outro framework front-end. ● Interoperabilidade com projetos que estão em produção atualmente. ● Menor tamanho de pacote final. ● Suporta a maioria dos navegadores, apenas para IE precisa de polyfill
  • 23. Desafios encontrados ● Algumas ferramentas de apoio ainda não tem muita documentação para suporte. Por exemplo: testes e storybook. ● Custom properties para IE11 não foi possível, tivemos que utilizar fallback.
  • 24. Falar é fácil! Eu quero ver é o código!
  • 25.
  • 26. Referências Design system na visão da Meiuca Web Components - MDN Web Components - ORG https://github.com/nicoleoliveira/tdc-web-components
  • 27. Obrigada! LinkedIn: Nicole Oliveira Medium: @nicoleoliveirasilva Github: nicoleoliveira