Construindo uma biblioteca de componentes usando o Figma

Publicados: 2022-03-10
Resumo rápido ↬ O Figma tornou-se uma ferramenta muito popular para web designers e designers de produtos, principalmente devido ao seu foco em equipes de design e bibliotecas de equipes. Este artigo visa ajudá-lo a evitar erros e ajudá-lo na construção de sua própria biblioteca de componentes Figma.

Venho trabalhando na criação e manutenção da biblioteca principal do nosso sistema de design, Lexicon. Usamos o aplicativo Sketch no primeiro ano e depois mudamos para o Figma, onde o gerenciamento da biblioteca era diferente em alguns aspectos, tornando a mudança bastante desafiadora para nós.

Para ser honesto, como em qualquer construção de biblioteca, requer tempo, esforço e planejamento, mas vale a pena o esforço porque ajudará a fornecer componentes detalhados para sua equipe. Também ajudará a aumentar a consistência geral do projeto e facilitará a manutenção a longo prazo. Espero que as dicas que fornecerei neste artigo tornem o processo mais fácil para você também.

Este artigo descreverá as etapas necessárias para criar uma biblioteca de componentes com o Figma, usando estilos e um componente mestre. (Um componente mestre permitirá que você aplique várias alterações de uma só vez.) Também abordarei em detalhes a organização dos componentes e fornecerei uma solução possível se você tiver um grande número de ícones na biblioteca.

Observação: para facilitar o uso, a atualização e a manutenção, descobrimos que é melhor usar um arquivo Figma separado para a biblioteca e publicá-lo como uma 'biblioteca' de equipe em vez de publicar os componentes individualmente.

Mais depois do salto! Continue lendo abaixo ↓

Começando

Este guia foi criado a partir da perspectiva de um designer e, se você tiver pelo menos algum conhecimento básico do Figma (ou Sketch), deve ajudá-lo a começar a criar, organizar e manter uma biblioteca de componentes para sua equipe de design.

Se você é novo no Figma, verifique os seguintes tutoriais antes de prosseguir com o artigo:

  • Práticas recomendadas: componentes, estilos e bibliotecas compartilhadas
  • Introdução ao Figma: Guia para iniciantes no básico do Figma (vídeo)
  • Figma para iniciantes
  • Figma 101

Requisitos

Antes de começar, existem alguns requisitos que precisamos cobrir para definir os estilos da biblioteca.

Escala de tipografia

O primeiro passo a fazer é definir a escala tipográfica; ajuda a focar em como o tamanho do texto e a altura da linha crescem em seu sistema, permitindo que você defina a hierarquia visual de seus textos.

uma escala de texto em tamanhos diferentes, de pequeno a grande
As escalas tipográficas são úteis para melhorar a hierarquia dos elementos, pois gerenciar os tamanhos e pesos das fontes pode realmente guiar o usuário pelo conteúdo. (Visualização grande)

O tipo de escala depende do que você está projetando. É comum usar uma proporção maior para designs de sites e uma proporção menor ao projetar produtos digitais.

A razão para isso está por trás do objetivo do design – um site geralmente é projetado para se comunicar e converter, de modo que oferece uma ou duas ações diretas. Nesse contexto, é mais fácil ter 36px para um título principal, 24px para um título secundário e 16px para um texto de descrição.

Recurso relacionado: “8-Point Grid: Typography On The Web” por Elliot Dahl.

Por outro lado, produtos ou serviços digitais são projetados para fornecer uma solução para um problema específico, geralmente com múltiplas ações e fluxos possíveis. Significa mais informação, mais conteúdo e mais componentes, tudo no mesmo espaço.

Para este caso, pessoalmente acho raro usar mais de 24px para textos. É mais comum usar tamanhos pequenos para componentes — geralmente de 12 a 18 pixels, dependendo da importância do texto.

Se você estiver projetando um produto digital, é útil conversar primeiro com os desenvolvedores. É mais fácil manter uma escala tipográfica baseada em EM/REM mais do que em pixels reais. A criação de uma regra para converter pixels em múltiplos EM/REM é sempre recomendada.

Recurso relacionado: “Definindo uma escala de tipo modular para interface do usuário da Web” por Kelly Dern.

Esquema de cores

Em segundo lugar, precisamos definir o esquema de cores. Acho melhor você dividir essa tarefa em duas partes.

  1. Primeiro, você precisa definir as cores principais do sistema . Eu recomendo mantê-lo simples e usar no máximo quatro ou cinco cores (incluindo cores de validação) porque quanto mais cores você incluir aqui, mais coisas você terá que manter no futuro.
  2. Em seguida, gere mais valores de cores usando as funções Sass como “Lighten” e “Darken” – isso funciona muito bem para interfaces de usuário. O principal benefício dessa técnica é usar o mesmo matiz para as diferentes variantes e obter uma regra matemática que pode ser automatizada no código. Você não pode fazer isso diretamente com o Figma, mas qualquer gerador de cores Sass funcionará bem - por exemplo, SassMe de Jim Nielsen. Eu gosto de aumentar as funções em 1% para ter mais seleção de cores.
2 conjuntos diferentes de cores com tons diferentes
Depois de ter suas cores principais (no nosso caso, azul e cinza), você pode gerar gradientes usando as funções de clarear e escurecer. (Visualização grande)

Dica : Para poder aplicar alterações futuras sem precisar renomear as variáveis, evite usar a cor como parte do nome da cor. Por exemplo, em vez de $blue , use $primary .

Leitura recomendada : “O que você nomeia variáveis ​​de cor?” por Chris Coyier

Estilos Figma

Uma vez que tenhamos a escala tipográfica e o esquema de cores definidos, podemos usá-los para definir os estilos da Biblioteca.

Este é o primeiro passo real para a criação da biblioteca. Esse recurso permite usar um único conjunto de propriedades em vários elementos .

2 formas mostrando uma paleta de cores e um texto para representar os estilos possíveis
Estilos são a maneira de controlar todos os detalhes básicos em sua biblioteca. (Visualização grande)

Exemplo concreto

Digamos que você defina a cor da sua marca como um estilo, é um azul suave e você o aplica originalmente a 500 elementos diferentes. Se depois for decidido que você precisa alterá-lo para um azul mais escuro com mais contraste, graças aos estilos, você pode atualizar todos os 500 elementos de estilo de uma só vez, para não precisar fazer isso manualmente, elemento por elemento.

Podemos definir estilos para o seguinte:

  • Texto
  • Cores
  • Efeitos
  • Grades

Se você tiver variações do mesmo estilo, para facilitar a localização mais tarde, você pode nomear os estilos únicos e organizá-los dentro do painel como grupos. Para isso, basta usar esta fórmula:

Nome do grupo/nome do estilo

Incluí uma sugestão de como nomear textos e estilos de cores abaixo.

Estilos de texto

Propriedades que você pode definir em um estilo de texto:

  • Tamanho da fonte
  • Espessura da fonte
  • Altura da linha
  • Espaçamento entre letras

Dica : O Figma reduz drasticamente o número de estilos que precisamos definir na biblioteca, pois alinhamentos e cores são independentes do estilo. Você pode combinar um estilo de texto com um estilo de cor no mesmo elemento de texto.

4 formas com texto dentro usadas como exemplos de diferentes estilos de texto
Você pode aplicar toda a escala de tipografia que vimos antes como estilos de texto. (Visualização grande)

Nomeação de estilos de texto

Eu recomendo usar uma regra de nomenclatura como “Tamanho/Peso”
(por exemplo: 16/Regular, 16/SemiNegrito, 16/Negrito).

O Figma permite apenas um nível de recuo, se você precisar incluir a fonte, sempre poderá adicionar um prefixo antes do tamanho:
Tamanho/peso da família da fonte ou tamanho/peso do FF
*(por exemplo: SourceSansPro 16/Regular ou SSP 16/Regular ).*

Estilos de cores

O estilo de cor usa seu valor hexadecimal ( #FFF ) e a opacidade como propriedades.

Dica : O Figma permite definir um estilo de cor para o preenchimento e outro para a borda dentro do mesmo elemento, tornando-os independentes um do outro.

4 formas com cores dentro, usadas como exemplos de diferentes estilos de cores
Você pode aplicar estilos de cores a preenchimentos, bordas, planos de fundo e textos. (Visualização grande)

Nomeação de estilos de cores

Para uma melhor organização recomendo usar esta regra “Cor/Variante”. Nomeamos nossos estilos de cores usando “Primário/Padrão” para a cor inicial, “Primário/L1”, “Primário/L2” para variantes mais claras e “Primário/D1”, “Primário/D2” para variantes mais escuras.

Efeitos

Ao projetar uma interface, você também pode precisar criar elementos que usem alguns efeitos, como sombras projetadas (o arrastar e soltar pode ser um exemplo de padrão que usa efeitos de sombras projetadas). Para ter controle sobre esses detalhes gráficos, você pode incluir estilos de efeito como sombras ou desfoques de camada na biblioteca e também dividi-los por grupos, se necessário.

2 formas semelhantes a papel, uma acima da outra para mostrar o efeito de sombra
Defina sombras e desfoques para gerenciar efeitos especiais de interação, como arrastar e soltar. (Visualização grande)

Grades

Para fornecer algo muito útil para sua equipe, inclua os estilos de grade. Você pode definir a grade de 8px, grade de 12 colunas, grades flexíveis para que sua equipe não precise recriá-las.

12 colunas para representar os estilos de grade
Não há mais necessidade de memorizar os tamanhos de grade. (Visualização grande)

Dica : Aproveitando esse recurso, você pode fornecer todos os diferentes pontos de interrupção como 'estilos de grade'.

Componente principal

O Figma permite gerar várias instâncias do mesmo componente e atualizá-las por meio de um único componente mestre. É mais fácil do que você imagina, você pode começar com alguns pequenos elementos e usá-los para evoluir sua biblioteca.

um único grupo de três formas que mostra como você pode obter sete resultados diferentes ocultando algumas das formas
Um componente mestre para governar todos eles! (Visualização grande)

Para explicar melhor esse fluxo de trabalho, usarei um dos componentes básicos que todas as bibliotecas possuem: os botões.

Botões!

Cada sistema possui diferentes tipos de botões para representar a importância das ações. Você pode começar a ter botões primários e secundários com apenas textos e tamanho único, mas a realidade é que você provavelmente acabará tendo que manter algo assim:

  • 2 tipos de cores ( Primário | Secundário )
  • 2 tamanhos de botões ( Regular | Pequeno )
  • 4 tipos de conteúdo ( Somente texto | Somente ícone | Texto + ícone à direita | Ícone à esquerda + Texto )
  • 5 estados ( Padrão | Passe o mouse | Ativo | Desativado | Foco )

Isso nos daria até 88 componentes diferentes para manter apenas com o conjunto de botões mencionados acima!

uma captura de tela com um total de 88 componentes de botão diferentes
Graças à forma como o Figma é construído, você pode gerenciar facilmente várias instâncias de botão de uma só vez. (Visualização grande)

Vamos começar passo a passo

O primeiro passo é incluir todas as variações juntas no mesmo lugar. Para os botões vamos usar:

  • Uma única forma para o fundo do botão para que possamos então colocar os estilos de cores para o preenchimento e a borda;
  • O texto único que terá estilos de texto e cor;
  • Três componentes de ícone (posicionados à direita, centro e esquerda) preenchidos com o estilo de cor (você poderá trocar facilmente os ícones).
um grupo de elementos divididos: uma forma de retângulo, um texto de botão e 3 ícones
Uma forma, um texto e um ícone entram em uma barra Figma... (Visualização grande)

A segunda etapa é criar o componente mestre (use o atalho Cmd + Alt + K no Mac ou Ctrl + Alt + K no Windows) com todas as variações como instâncias. Sugiro usar um estilo diferente e neutro para os elementos dentro do componente mestre e usar os estilos reais nos subcomponentes, esse truque ajudará a equipe a usar apenas subcomponentes.

Você pode ver a diferença visual entre um componente mestre e um subcomponente na próxima etapa:

Um grupo de elementos centrados no mesmo espaço, um sobre o outro
Quanto mais elementos, mais instâncias você pode controlar. (Visualização grande)

Na terceira etapa, você precisa duplicar o componente mestre para gerar uma instância, agora você pode usar essa instância para criar um subcomponente e, a partir de agora, todas as alterações feitas no componente mestre também alterarão o subcomponente que você eu criei.

Agora você pode começar a aplicar os diferentes estilos que vimos antes aos elementos dentro do subcomponente e, claro, você pode ocultar os elementos que não precisa nesse subcomponente.

Um exemplo mostrando como 8 botões diferentes podem ser gerados a partir de 1 único componente
Graças aos estilos de cores, você pode gerar diferentes componentes usando a mesma forma. Neste exemplo, os estilos primário e secundário são gerados a partir do mesmo componente mestre. (Visualização grande)

Alinhamento de texto

Como mostrei nos estilos, os alinhamentos são independentes do estilo. Então, se você quiser alterar o alinhamento do texto, basta selecioná-lo pressionando Cmd / Ctrl e alterando-o. Esquerda, centro ou direita: tudo funcionará e você pode definir diferentes subcomponentes como eu fiz com os botões.

Dica : Para ajudá-lo a trabalhar mais rápido sem precisar encontrar a camada exata do elemento, se você excluir um elemento dentro da instância, ele ocultará o elemento em vez de excluí-lo.

Organização de componentes

Se você vem do Sketch, pode estar tendo problemas com a organização dos componentes no Figma, pois existem algumas diferenças importantes entre essas duas ferramentas. Este é um breve guia para ajudá-lo a organizar bem os componentes para que o menu de instâncias não afete negativamente a eficácia de sua equipe.

mostrando o menu de instância aberto com submenus mais desordenados
Como você pode ver aqui, nossa biblioteca tinha tantos submenus que, como resultado, a navegação estava saindo da tela nos MacBooks, o que era um grande problema para nossa biblioteca. Conseguimos encontrar uma solução alternativa para esse problema. (Visualização grande)
mostrando as melhorias no menu de instância aberto com submenus ordenados
Esse foi o resultado após melhorar a ordem da biblioteca seguindo as regras de páginas e frames, agora está bem mais aproveitável e organizado para nossas equipes. (Visualização grande)

Todos nós já estivemos lá, a solução é mais fácil do que você pensa!

Aqui está o que eu aprendi sobre como organizar os componentes.

Nomeação Figma

Enquanto no Sketch toda a organização depende apenas do nome do componente único, no Figma depende do nome da página , do nome do quadro e do nome do componente único - exatamente nessa ordem.

Para fornecer uma biblioteca bem organizada, você precisa pensar nela como uma organização visual. Contanto que você respeite a ordem, você pode personalizar a nomenclatura para atender às suas necessidades.

Veja como eu dividi:

  • Nome do Arquivo = Nome da Biblioteca (por exemplo, Lexicon);
  • Nome da Página = Grupo de Componentes (por exemplo, Cartões);
  • Nome do quadro = Tipo de componente (por exemplo, cartão de imagem, cartão de usuário, cartão de pasta etc.);
  • Nome do Componente = Estado do Componente (por exemplo, Default, Hover, Active, Selected, etc).
Mostrando a página principal chamada 'Cartões', o quadro chamado 'Image Card' e a camada chamada 'Card Hover'
Essa estrutura é equivalente à nomenclatura do Sketch de 'Cards/Image Card/Card Hover'. (Visualização grande)

Adicionando níveis de recuo

Ao criar a biblioteca Lexicon, descobri que realmente precisava de mais de três níveis de recuo para alguns dos componentes, como os botões que vimos antes.

Para esses casos, você pode estender a nomenclatura usando o mesmo método do Sketch para símbolos aninhados (usando as barras no nome do componente, por exemplo, “Component/Sub-Component”), sob a condição de que você faça isso somente após o terceiro nível de recuo, respeitando a ordem estrutural dos três primeiros níveis, conforme explicado no ponto anterior.

Foi assim que organizei nossos botões:

  • Nome da página = Grupo de componentes (por exemplo, botões);
  • Nome do quadro = Tamanho do componente (por exemplo, Regular ou Pequeno);
  • Nome do componente = Estilo/Tipo/Estado (por exemplo, Primário/Texto/Passar o mouse).
Mostrando a página principal chamada 'Buttons', o frame chamado 'Buttons Regular' e a camada chamada 'Primary/Text/Button Hover' como exemplo das estruturas possíveis.
Essa estrutura é equivalente à nomenclatura do Sketch de '*Buttons/Buttons Regular/Primary/Text/Button Hover*'. (Visualização grande)

Dica : Você pode incluir o nome do componente (ou um prefixo do nome) no último nível, isso ajudará sua equipe a identificar melhor as camadas ao importar os componentes da biblioteca.

Organização de ícones

Organizar os ícones no Figma pode ser um desafio ao incluir um grande número de ícones.

Ao contrário do Sketch, que usa uma funcionalidade de rolagem, o Figma usa os submenus para dividir os componentes. O problema é que, se você tiver um grande número de ícones agrupados em submenus, em algum momento eles podem sair da tela (minha experiência com o Figma em um MacBook Pro).

Mostrando o menu de instância para os ícones com um único submenu rolável.
Um exemplo de como os componentes são organizados dentro de um único submenu rolável. (Visualização grande)
Mostrando o menu de instância para os ícones com mais de 10 submenus e cobrem toda a tela.
Como você pode ver, usando um Macbook Pro o resultado foram os menus saindo da tela. (Visualização grande)

Aqui estão duas soluções possíveis:

  • Solução 1
    Crie uma página chamada “Ícones” e, em seguida, um quadro para cada letra do alfabeto, em seguida, coloque cada ícone no quadro com base no nome do ícone. Por exemplo, se você tiver um ícone chamado “Plus”, ele ficará no quadro “P”.
  • Solução 2
    Crie uma página chamada “Ícones” e divida por quadros com base nas categorias de ícones. Por exemplo, se você tem ícones que representam um barco, um carro e uma motocicleta, você pode colocá-los dentro de um quadro chamado “veículos”.
O menu de instâncias está aberto, mostrando a ordem alfabética dos ícones no Figma.
Eu, pessoalmente, apliquei a solução 1. Como você pode ver neste exemplo, tínhamos um grande número de ícones, então esse foi o melhor ajuste. (Visualização grande)

Conclusão

Agora que você sabe exatamente o que está por trás da construção da biblioteca de uma equipe no Figma, você pode começar a construir uma! O Figma possui um plano de assinatura gratuito que o ajudará a começar e experimentar essa metodologia em um único arquivo (no entanto, se você quiser compartilhar uma biblioteca de equipe, precisará se inscrever na opção “Profissional”).

Experimente, crie e organize alguns componentes avançados e, em seguida, apresente a biblioteca aos membros de sua equipe para que você possa surpreendê-los - ou possivelmente convencê-los a adicionar o Figma ao seu conjunto de ferramentas.

Finalmente, deixe-me mencionar que aqui no Liferay, nós adoramos projetos de código aberto e por isso estamos compartilhando uma cópia de nossa biblioteca Lexicon junto com alguns outros recursos. Você pode usar os componentes da biblioteca Lexicon e os outros recursos gratuitamente, e seu feedback é sempre bem-vindo (inclusive como comentários do Figma, se preferir).

  • Baixe a biblioteca 'Lexicon'
O logotipo da Lexicon é semelhante a um hexágono e uma impressão digital juntos.
Lexicon é a linguagem de design do Liferay, usada para fornecer um Design System e uma Biblioteca Figma para as diferentes equipes de produto. (Visualização grande)

Se você tiver dúvidas ou precisar de ajuda com sua primeira biblioteca de componentes no Figma, pergunte nos comentários abaixo ou me escreva no Twitter.

Recursos adicionais

  • “Grade de 8 Pontos: Tipografia na Web”, Elliot Dahl, freeCodeCamp
  • Definindo uma escala de tipo modular para a interface do usuário da Web”, Kelly Dern, Medium
  • “Paletas de cores relativas com atrevimento”, Ethan Muller, Sparkbox
  • SassMe (ferramenta criada por Jim Nielsen que permite visualizar as funções de cores Sass HSL em tempo real)
  • “O que você nomeia variáveis ​​de cor?”, Chris Coyier, CSS-Tricks
  • “Melhores práticas: componentes, estilos e bibliotecas compartilhadas”, Thomas Lowry, Figma
  • Canal do Figma no YouTube
  • Artigos de ajuda do Figma