SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
1
Arquitetura
Atômica
Automação com Atomic Design
Willian Ribeiro Angelo (movibe)
Arquiteto Mobile na Opah It
Clientes: Livelo, BS2, Grupo Eldora, Itau,
Carrefour, Banco GM, Belo, Grupo Revelação,
Bonde do Tigrão, Filme os Mercenários, Biografia
Rick Martin, Boopent, Inovamind
Design: Figma, Storybook, Sketch
Front: NextJS, Gatsby, WordPress
Linguagens: TypeScript, JS, Python, Ruby
Frameworks: React, Angular, jQuery
Mobile: React Native, Expo,
Backend: Hasura, NodeJS, PHP
Banco de dados: Postgress, MongoDB, MySQL
Automação: Appium, Cypress e Detox
2
Necessidade
O verdadeiro propósito
3
Necessidade
Para que a automação conseguisse ser mais consistente, precisávamos de
uma forma mais robusta para atingir maior produtividade com métodos mais
modernos.
Nossa meta foi de atingir excelência nos seguintes pontos:
● Organização
● Documentação
● Reutilização
● Simulação visual
● Automação
● Contratos (interfaces)
● Testes unitários
4
Atomic Design
Um conceito diferente
5
O que é?
O Atomic Design é uma metodologia desenvolvida por Brad Frost para a
criação utilizando conceitos químicos.
Esse conceito é composto por cinco estágios para criar interfaces de maneira
deliberada e hierárquica.
Os cinco estágios do Atomic Design são: átomos, moléculas, organismos,
modelos e páginas.
6
Não estamos projetando páginas,
estamos projetando sistemas de
componentes.
Stephen Hay - Desinger Holandês
7
8
Tokens
São a paleta de cores, fontes e
tamanhos, definidos e separados em
forma de temas.
9
Átomo
São os elementos de base para todo o projeto, por
exemplo: Texto, Imagem, Ícone, Botão
10
Molécula
São grupos de átomos e outras moléculas para
construção de componentes menos complexos.
11
Organismo
São grupos de átomos e moléculas, normalmente
usados em lista ou componentes mais complexos.
12
Template
São grupos de átomos, moléculas e organismos para
construção de uma tela de exemplo, com simulações de
quando ela está carregando, quando está completa e até
mesmo quando acontece um erro.
13
Página
É a tela do aplicativo com a aplicação do template e conexão em
serviços, fonte de dados e lógicas. Aqui é a aplicação dos
componentes atômicos em modo real de produção.
14
15
Ferramentas
16
17
18
Storybook8#
19
20
O Storybook é uma ferramenta de código aberto para o desenvolvimento de
componentes da interface do usuário isolados para React, Vue e Angular. Torna a
criação de UI organizada e eficiente.
21
22
O Appium é uma ferramenta de código aberto, multi-plataforma para automação
de testes de aplicações nativas, híbridas e com suporte a simuladores e execução
em aparelhos reais para plataformas iOS e Android.
Com ela é possível automatizar testes mobile independente da linguagem de
programação utilizada. Podemos implementar nossos scripts com Ruby, Java,
Node.js, PHP, C#, Clojure e Perl.
23
24
25
26
27
28
React Native Testing Library é uma biblioteca de testes para React Native que
não é executado em um ambiente de navegador, as consultas principais são
implementadas de forma independente, ao contrário de outras soluções para
teste.
29
30
Fluxo de trabalho
Para que o aplicativo consiga crescer constante, precisávamos de uma forma
mais robusta para atingir maior produtividade com métodos mais modernos.
Nossa meta era atingir excelência nos seguintes pontos:
31
Obrigado!
32

Mais conteúdo relacionado

Mais procurados

Mais procurados (9)

Palestra android
Palestra androidPalestra android
Palestra android
 
IBDESIGNABLE
IBDESIGNABLEIBDESIGNABLE
IBDESIGNABLE
 
Titanium
TitaniumTitanium
Titanium
 
Migração pra android
Migração pra androidMigração pra android
Migração pra android
 
Curso Android Profissional
Curso Android ProfissionalCurso Android Profissional
Curso Android Profissional
 
Mobileconf
MobileconfMobileconf
Mobileconf
 
Como desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftComo desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoft
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 

Semelhante a Atomic Design e automação com componentes

Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...William S. Rodriguez
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...minastestingconference
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Getúlio Strapazzon
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Pedro Edson Silva Barros
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesMotorola Mobility - MOTODEV
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
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
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...DevCamp Campinas
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAWilson Mendes
 

Semelhante a Atomic Design e automação com componentes (20)

Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testes
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Front7 React Native
Front7 React NativeFront7 React Native
Front7 React Native
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
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
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
 

Atomic Design e automação com componentes

  • 2. Willian Ribeiro Angelo (movibe) Arquiteto Mobile na Opah It Clientes: Livelo, BS2, Grupo Eldora, Itau, Carrefour, Banco GM, Belo, Grupo Revelação, Bonde do Tigrão, Filme os Mercenários, Biografia Rick Martin, Boopent, Inovamind Design: Figma, Storybook, Sketch Front: NextJS, Gatsby, WordPress Linguagens: TypeScript, JS, Python, Ruby Frameworks: React, Angular, jQuery Mobile: React Native, Expo, Backend: Hasura, NodeJS, PHP Banco de dados: Postgress, MongoDB, MySQL Automação: Appium, Cypress e Detox 2
  • 4. Necessidade Para que a automação conseguisse ser mais consistente, precisávamos de uma forma mais robusta para atingir maior produtividade com métodos mais modernos. Nossa meta foi de atingir excelência nos seguintes pontos: ● Organização ● Documentação ● Reutilização ● Simulação visual ● Automação ● Contratos (interfaces) ● Testes unitários 4
  • 6. O que é? O Atomic Design é uma metodologia desenvolvida por Brad Frost para a criação utilizando conceitos químicos. Esse conceito é composto por cinco estágios para criar interfaces de maneira deliberada e hierárquica. Os cinco estágios do Atomic Design são: átomos, moléculas, organismos, modelos e páginas. 6
  • 7. Não estamos projetando páginas, estamos projetando sistemas de componentes. Stephen Hay - Desinger Holandês 7
  • 8. 8
  • 9. Tokens São a paleta de cores, fontes e tamanhos, definidos e separados em forma de temas. 9
  • 10. Átomo São os elementos de base para todo o projeto, por exemplo: Texto, Imagem, Ícone, Botão 10
  • 11. Molécula São grupos de átomos e outras moléculas para construção de componentes menos complexos. 11
  • 12. Organismo São grupos de átomos e moléculas, normalmente usados em lista ou componentes mais complexos. 12
  • 13. Template São grupos de átomos, moléculas e organismos para construção de uma tela de exemplo, com simulações de quando ela está carregando, quando está completa e até mesmo quando acontece um erro. 13
  • 14. Página É a tela do aplicativo com a aplicação do template e conexão em serviços, fonte de dados e lógicas. Aqui é a aplicação dos componentes atômicos em modo real de produção. 14
  • 15. 15
  • 17. 17
  • 18. 18
  • 20. 20
  • 21. O Storybook é uma ferramenta de código aberto para o desenvolvimento de componentes da interface do usuário isolados para React, Vue e Angular. Torna a criação de UI organizada e eficiente. 21
  • 22. 22
  • 23. O Appium é uma ferramenta de código aberto, multi-plataforma para automação de testes de aplicações nativas, híbridas e com suporte a simuladores e execução em aparelhos reais para plataformas iOS e Android. Com ela é possível automatizar testes mobile independente da linguagem de programação utilizada. Podemos implementar nossos scripts com Ruby, Java, Node.js, PHP, C#, Clojure e Perl. 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. 27
  • 28. 28
  • 29. React Native Testing Library é uma biblioteca de testes para React Native que não é executado em um ambiente de navegador, as consultas principais são implementadas de forma independente, ao contrário de outras soluções para teste. 29
  • 30. 30
  • 31. Fluxo de trabalho Para que o aplicativo consiga crescer constante, precisávamos de uma forma mais robusta para atingir maior produtividade com métodos mais modernos. Nossa meta era atingir excelência nos seguintes pontos: 31