Imagine que fazemos parte da empresa fictícia Alfabit que tem um projeto no Figma e enviou esse Figma para nós.
A Alfabit atua na área de consultoria de software, fornecendo soluções sob medida para outras empresas. No Figma, podemos observar a landing page (página inicial do site), com o título "Alfabit, soluções sob medida para o mundo tech!", elementos como um botão de login no topo e uma seção central que destaca as soluções personalizadas oferecidas. O design da página é bonito e segue um padrão clássico.
Padronização visual no design da Alfabit
Durante a análise da landing page, identificamos várias padronizações no design. A paleta de cores, predominantemente branca e azul, mantém-se consistente, assim como o espaçamento, o tamanho das fontes e os estilos dos botões. Esses elementos já estão estruturados de forma a permitir a reutilização em outros projetos, como a criação de um site para venda de cursos.
Se fossemos codificar essa página, já pensaríamos em como reutilizar esses estilos. Poderíamos fazer isso utilizando componentes, como os componentes do Angular, por exemplo.
Mas, imagine que a Alfabit queira trabalhar em outros projetos também. Digamos que ela queira criar outro site para vender cursos, por exemplo. O importante é que nesses outros sites, a Alfabit quer manter esse mesmo padrão visual, essa mesma identidade visual e esse mesmo padrão de cores, espaçamentos e todos esses detalhes de estilos.
Como serão projetos diferentes, simples componentes não serão suficientes para reaproveitar todos esses estilos.
Além disso, se a equipe de design da Alfabit não tiver todos esses estilos padronizados ao criar esses novos projetos, certamente haverá inconsistências ao longo desses projetos. Um botão que deveria seguir um padrão de estilos, por exemplo, poderia ter um espaçamento diferente em outro projeto, ou uma cor ligeiramente diferente. Portanto, seria muito útil se pudéssemos padronizar todos esses estilos .
É por isso que a Alfabit decidiu adotar uma solução que chamamos de design system (sistema de design). Essa solução consiste justamente nessa padronização que estamos discutindo.
No projeto do Figma, podemos acessar o que a equipe de design fez até agora. Temos uma seção chamada "moléculas", que é uma das páginas desse Figma. Nessa seção, temos vários componentes. Temos muitas variantes do componente de botão, checkboxes, radio buttons, switch, inputs, modals, notices, blocos de texto e muitos outros componentes padronizados.
Também temos um calendário e os links que a Alfabit está utilizando naquele projeto. Isso que estamos acessando na seção "Moléculas" do Figma é um design system. É um sistema de design muito bem organizado e padronizado.
Vamos falar um pouco mais sobre essa terminologia de páginas que são divididas em:
- átomos;
- moléculas;
- organismos.
Átomos e moléculas
Começando pelos átomos, nesta seção temos os elementos mais básicos do nosso design system que compõem todos os outros. Temos todas as cores que são utilizadas no design system, todas as padronizações de tipografia para títulos H1, H2, H3, etc. Temos também padronizações de espaçamento, sombras, cantos arredondados, divisores, caixas e até um sistema de grid.
Chamamos isso de "átomos" porque, assim como na vida real, os átomos, quando juntamos, compõem moléculas.
É exatamente por isso que, na página de moléculas, temos todos os elementos que são formados por aqueles elementos iniciais, cores, fontes e espaçamentos. A partir deles, conseguimos formar as moléculas, que são os botões, os inputs, etc.
Organismos
Depois de moléculas, temos os organismos, que são formados pelas moléculas. Se clicarmos na seção "Organismos", temos dois exemplos, basicamente. Temos o header, que é composto por botões, com algumas variantes específicas, alguns textos e uma imagem do Alfabit. E também temos o footer, que é composto por algumas caixas e, principalmente, alguns textos, links e imagens.
Esse é o conceito que chamamos de Atomic Design. É um conceito que a equipe de design pode adotar ou não, é uma decisão de cada empresa. Quando adotado, fica bem organizado. Vamos segui-lo para implementar o design system.
Vantagens
- Reutilização de componentes;
- Facilita a manutenção e escalabilidade;
- Documentação e padronização;
- Reforça a identidade visual da empresa.
O Google, por exemplo, adota o design system porque reaproveita muitos componentes visuais em diversos sites diferentes, tanto no site principal, quanto no Meet, quanto no calendário. Existem muitos componentes que são reaproveitados ao longo de vários serviços do Google, por exemplo.
Essa é uma das vantagens de ter um design system. Como temos componentes reaproveitáveis, nem a equipe de design, nem a equipe de desenvolvimento, precisam criá-los do zero. É só reaproveitar o que já estava lá antes.
Outra coisa é que um design system facilita a manutenção e a escalabilidade dos projetos, porque como já está tudo padronizado e reaproveitável, basta mudar apenas o único local se quisermos realizar alguma alteração ou melhoria em algum componente.
Além disso, design system funciona como uma documentação, tanto para a equipe de design, quanto para a equipe de desenvolvimento. Se já utilizou o Figma para codificar projetos antes, sabe que quando temos uma padronização bem documentada, isso facilita muito a nossa vida na hora de desenvolver os projetos.
Por fim, como já mencionamos antes, um design system reforça a identidade visual de uma empresa ao longo de todos os seus produtos, se assim ela desejar.
Mas é importante dizer que nem toda empresa precisa de um design system. Essa solução é mais adequada para empresas que têm principalmente muitos projetos e querem manter essa padronização e identidade visual ao longo desses projetos. Se esse não for o caso da sua empresa, talvez não seja interessante aplicar essa solução.
Além disso, implementar um design system também requer investimento de tempo e de recursos, tanto da equipe de design, quanto da equipe de desenvolvimento. Portanto, a empresa precisa ter os recursos necessários para conseguir implementar essa solução.
Próximo passo
Qual é o nosso papel, como pessoas desenvolvedoras, nessa implementação do design system?
Como dissemos, ele já está feito no Figma, mas falta traduzir isso para o código. Vale lembrar também que, neste curso, não vamos fazer aquele projeto que mostramos no início do vídeo, que é o projeto da Alfabit. O foco será implementar o design system em si, que é isso que mostramos, de átomos, moléculas e organismos. Queremos traduzir isso para código.
Mas como vamos fazer isso e fazer com que esse design system seja consumido para vários projetos diferentes, para várias aplicações diferentes?
Vamos estudar isso a partir do próximo vídeo!