Costruire una libreria di componenti usando Figma

Pubblicato: 2022-03-10
Riassunto veloce ↬ Figma è diventato uno strumento molto popolare per i web designer e i product designer, principalmente per la sua attenzione ai team di progettazione e alle librerie dei team. Questo articolo mira ad aiutarti a evitare errori e ad assisterti nella creazione della tua libreria di componenti Figma.

Ho lavorato alla creazione e al mantenimento della libreria principale del nostro sistema di progettazione, Lexicon. Abbiamo usato l'app Sketch per il primo anno e poi ci siamo trasferiti a Figma dove la gestione della biblioteca era diversa per alcuni aspetti, rendendo il cambiamento piuttosto impegnativo per noi.

Ad essere onesti, come per qualsiasi costruzione di librerie, richiede tempo, impegno e pianificazione, ma ne vale la pena perché ti aiuterà a fornire componenti dettagliati per il tuo team. Aiuterà anche ad aumentare la coerenza complessiva del progetto e semplificherà la manutenzione a lungo termine. Spero che i suggerimenti che fornirò in questo articolo renderanno il processo più agevole anche per te.

Questo articolo illustrerà i passaggi necessari per creare una libreria di componenti con Figma, utilizzando stili e un componente principale. (Un componente principale ti consentirà di applicare più modifiche contemporaneamente.) Tratterò anche in dettaglio l'organizzazione dei componenti e ti darò una possibile soluzione se hai un numero elevato di icone nella libreria.

Nota: per semplificare l'utilizzo, l'aggiornamento e la manutenzione, abbiamo scoperto che è meglio utilizzare un file Figma separato per la libreria e quindi pubblicarlo come "libreria" del team invece di pubblicare i componenti singolarmente.

Altro dopo il salto! Continua a leggere sotto ↓

Iniziare

Questa guida è stata creata dal punto di vista di un designer e, se hai almeno una conoscenza di base di Figma (o Sketch), dovrebbe aiutarti a iniziare a creare, organizzare e mantenere una libreria di componenti per il tuo team di progettazione.

Se non conosci Figma, controlla i seguenti tutorial prima di procedere con l'articolo:

  • Migliori pratiche: componenti, stili e librerie condivise
  • Introduzione a Figma: Guida per principianti alle basi di Figma (video)
  • Figma per principianti
  • Figma 101

Requisiti

Prima di iniziare, ci sono alcuni requisiti che dobbiamo coprire per definire gli stili per la libreria.

Scala tipografica

Il primo passo da fare è definire la scala tipografica; aiuta a concentrarsi su come la dimensione del testo e l'altezza della linea crescono nel tuo sistema, permettendoti di definire la gerarchia visiva dei tuoi testi.

una scala di testo di diverse dimensioni, da piccola a grande
Le scale tipografiche sono utili per migliorare la gerarchia degli elementi, poiché la gestione delle dimensioni e dei pesi dei caratteri può davvero guidare l'utente attraverso il contenuto. (Grande anteprima)

Il tipo di scala dipende da cosa stai progettando. È comune utilizzare un rapporto maggiore per i progetti di siti Web e un rapporto più piccolo durante la progettazione di prodotti digitali.

La ragione di ciò è dietro l'obiettivo del design: un sito Web è solitamente progettato per comunicare e convertire, quindi ti offre una o due azioni dirette. È più facile in questo contesto avere 36px per un titolo principale, 24px per un titolo secondario e 16px per un testo descrittivo.

Risorsa correlata: "Griglia a 8 punti: tipografia sul Web" di Elliot Dahl.

D'altra parte, i prodotti o servizi digitali sono progettati per fornire una soluzione a un problema specifico, solitamente con molteplici azioni e possibili flussi. Significa più informazioni, più contenuti e più componenti, tutto nello stesso spazio.

In questo caso, personalmente trovo raro usare più di 24px per i testi. È più comune utilizzare dimensioni ridotte per i componenti, in genere da 12 a 18 pixel a seconda dell'importanza del testo.

Se stai progettando un prodotto digitale, è utile parlare prima con gli sviluppatori. È più facile mantenere una scala tipografica basata su EM/REM più che sui pixel effettivi. È sempre consigliata la creazione di una regola per convertire i pixel in multipli EM/REM.

Risorsa correlata: "Definizione di una scala di tipo modulare per l'interfaccia utente Web" di Kelly Dern.

Combinazione di colori

In secondo luogo, dobbiamo definire la combinazione di colori. Penso che sia meglio dividere questo compito in due parti.

  1. Innanzitutto, è necessario definire i colori principali del sistema . Raccomando di mantenerlo semplice e di utilizzare un massimo di quattro o cinque colori (inclusi i colori di convalida) perché più colori includi qui, più elementi dovrai mantenere in futuro.
  2. Successivamente, genera più valori di colore utilizzando le funzioni Sass come "Più chiaro" e "Più scuro": questo funziona davvero bene per le interfacce utente. Il vantaggio principale di questa tecnica consiste nell'utilizzare la stessa tonalità per le diverse varianti e ottenere una regola matematica che può essere automatizzata nel codice. Non puoi farlo direttamente con Figma, ma qualsiasi generatore di colori Sass funzionerà perfettamente, ad esempio SassMe di Jim Nielsen. Mi piace aumentare le funzioni dell'1% per avere una maggiore selezione dei colori.
2 diversi set di colori con diverse tonalità
Una volta che hai i tuoi colori principali (nel nostro caso, blu e grigio), puoi generare gradienti usando le funzioni schiarisci e scurisci. (Grande anteprima)

Suggerimento : per poter applicare modifiche future senza dover rinominare le variabili, evita di utilizzare il colore come parte del nome del colore. Ad esempio, invece di $blue , usa $primary .

Lettura consigliata : "Come si chiamano le variabili di colore?" di Chris Coyier

Stili Figma

Una volta che abbiamo impostato la scala tipografica e la combinazione di colori, possiamo usarli per definire gli stili della Libreria.

Questo è il primo passo vero e proprio nella creazione della libreria. Questa funzione consente di utilizzare un unico insieme di proprietà in più elementi .

2 forme che mostrano una tavolozza di colori e un testo per rappresentare gli stili possibili
Gli stili sono il modo per controllare tutti i dettagli di base nella tua libreria. (Grande anteprima)

Esempio concreto

Supponiamo che tu definisca il colore del tuo marchio come uno stile, è un blu tenue e lo applichi originariamente a 500 elementi diversi. Se in seguito viene deciso che devi cambiarlo in un blu più scuro con più contrasto, grazie agli stili puoi aggiornare tutti i 500 elementi di stile contemporaneamente, quindi non dovrai farlo manualmente, elemento per elemento.

Possiamo definire stili per quanto segue:

  • Testo
  • Colori
  • Effetti
  • Griglie

Se hai varianti dello stesso stile, per trovarle più facilmente in un secondo momento, puoi nominare i singoli stili e disporli all'interno del pannello come gruppi. Per farlo basta usare questa formula:

Nome gruppo/Nome stile

Di seguito ho incluso un suggerimento su come assegnare un nome ai testi e agli stili di colore.

Stili di testo

Proprietà che puoi definire all'interno di uno stile di testo:

  • Dimensione del font
  • Peso del carattere
  • Altezza della linea
  • Spaziatura del carattere

Suggerimento : Figma riduce drasticamente il numero di stili che dobbiamo definire nella libreria, poiché gli allineamenti e i colori sono indipendenti dallo stile. Puoi combinare uno stile di testo con uno stile di colore nello stesso elemento di testo.

4 forme con testo all'interno utilizzate come esempi di diversi stili di testo
Puoi applicare tutte le scale tipografiche che abbiamo visto prima come stili di testo. (Grande anteprima)

Denominazione degli stili di testo

Raccomando di utilizzare una regola di denominazione come "Taglia/Peso"
(es: 16/Normale, 16/Semigrassetto, 16/Grassetto).

Figma consente solo un livello di indentazione, se devi includere il font puoi sempre aggiungere un prefisso prima della dimensione:
Dimensione/peso FontFamily o Dimensione/peso FF
*(es: SourceSansPro 16/Regular o SSP 16/Regular ).*

Stili di colore

Lo stile colore usa il suo valore esadecimale ( #FFF ) e l'opacità come proprietà.

Suggerimento : Figma consente di impostare uno stile colore per il riempimento e uno diverso per il bordo all'interno dello stesso elemento, rendendoli indipendenti l'uno dall'altro.

4 forme con colori all'interno, utilizzate come esempi di diversi stili di colore
Puoi applicare stili colore a riempimenti, bordi, sfondi e testi. (Grande anteprima)

Denominazione degli stili di colore

Per una migliore organizzazione consiglio di utilizzare questa regola “Colore/Variante”. Abbiamo denominato i nostri stili di colore utilizzando "Primary/Default" per il colore iniziale, "Primary/L1", "Primary/L2" per le varianti più chiare e "Primary/D1", "Primary/D2" per le varianti più scure.

Effetti

Quando si progetta un'interfaccia potrebbe anche essere necessario creare elementi che utilizzino alcuni effetti come le ombre discendenti (il drag&drop potrebbe essere un esempio di pattern che usa gli effetti di ombre discendenti). Per avere il controllo su questi dettagli grafici, puoi includere stili di effetto come ombre o sfocature di livello nella libreria e anche dividerli per gruppi, se necessario.

2 forme simili alla carta, una sopra l'altra per mostrare l'effetto ombra
Definisci ombre e sfocature per gestire effetti speciali di interazione come il trascinamento della selezione. (Grande anteprima)

Griglie

Per fornire qualcosa di molto utile per la tua squadra, includi gli stili della griglia. Puoi definire la griglia di 8px, la griglia di 12 colonne, le griglie flessibili in modo che il tuo team non abbia bisogno di ricrearle.

12 colonne per rappresentare gli stili della griglia
Non è più necessario memorizzare le dimensioni della griglia. (Grande anteprima)

Suggerimento : sfruttando questa funzione, puoi fornire tutti i diversi punti di interruzione come "stili di griglia".

Componente principale

Figma ti consente di generare più istanze dello stesso componente e aggiornarle tramite un unico componente principale. È più facile di quanto potresti pensare, puoi iniziare con alcuni piccoli elementi e poi usarli per far evolvere la tua libreria.

un unico gruppo di tre forme che mostra come ottenere sette risultati diversi nascondendo alcune delle forme
Un componente principale per dominarli tutti! (Grande anteprima)

Per spiegare meglio questo flusso di lavoro, utilizzerò uno dei componenti di base di tutte le librerie: i pulsanti.

Bottoni!

Ogni sistema ha diversi tipi di pulsanti per rappresentare l'importanza delle azioni. Puoi iniziare ad avere pulsanti sia primari che secondari con solo testi e una dimensione, ma la realtà è che probabilmente finirai per dover mantenere qualcosa del genere:

  • 2 tipi di colore ( primario | secondario )
  • 2 misure di bottoni ( normale | piccolo )
  • 4 tipi di contenuto ( Solo testo | Solo icona | Testo + icona a destra | Icona a sinistra + testo )
  • 5 stati ( Predefinito | Passa il mouse | Attivo | Disabilitato | Focus )

Questo ci darebbe fino a 88 diversi componenti da mantenere solo con il set di pulsanti sopra menzionato!

uno screenshot con un totale di 88 diversi componenti del pulsante
Grazie a come è costruito Figma, puoi gestire facilmente molte istanze di pulsanti tutte in una volta. (Grande anteprima)

Iniziamo passo dopo passo

Il primo passo è includere tutte le variazioni nello stesso posto. Per i pulsanti che useremo:

  • Un'unica forma per lo sfondo del pulsante in modo da poter poi posizionare gli stili colore per il riempimento e il bordo;
  • Il testo unico che avrà sia gli stili di testo che di colore;
  • Tre componenti dell'icona (posizionati a destra, al centro e a sinistra) riempiti con lo stile del colore (sarai in grado di scambiare facilmente le icone).
un gruppo di elementi divisi: una forma rettangolare, un testo pulsante e 3 icone
Una forma, un testo e un'icona entrano in una barra di Figma... (Anteprima grande)

Il secondo passaggio consiste nel creare il componente principale (usa la scorciatoia Cmd + Alt + K su Mac o Ctrl + Alt + K su Windows) con tutte le variazioni come istanze. Suggerisco di utilizzare uno stile diverso e neutro per gli elementi all'interno del componente principale e di utilizzare gli stili reali sui sottocomponenti, questo trucco aiuterà il team a utilizzare solo i sottocomponenti.

Puoi vedere la differenza visiva tra un componente principale e un sottocomponente nel passaggio successivo:

Un gruppo di elementi centrati nello stesso spazio, uno sopra l'altro
Più elementi, più istanze puoi controllare. (Grande anteprima)

Nel terzo passaggio devi duplicare il componente principale per generare un'istanza, ora puoi utilizzare quell'istanza per creare un sottocomponente e d'ora in poi ogni modifica che apporti al componente principale cambierà anche il sottocomponente che ' ho creato.

Ora puoi iniziare ad applicare i diversi stili che abbiamo visto prima agli elementi all'interno del sottocomponente e, naturalmente, puoi nascondere gli elementi che non ti servono in quel sottocomponente.

Un esempio che mostra come 8 pulsanti diversi possono essere generati da 1 singolo componente
Grazie agli stili di colore puoi generare diversi componenti utilizzando la stessa forma. In questo esempio, gli stili primari e secondari vengono generati dallo stesso componente principale. (Grande anteprima)

Allineamento del testo

Come ti ho mostrato negli stili, gli allineamenti sono indipendenti dallo stile. Quindi, se vuoi modificare l'allineamento del testo, selezionalo semplicemente premendo Cmd / Ctrl e modificandolo. A sinistra, al centro o a destra: funzionerà tutto e puoi definire diversi sottocomponenti come ho fatto con i pulsanti.

Suggerimento : per aiutarti a lavorare più velocemente senza dover trovare l'esatto livello dell'elemento, se elimini un elemento all'interno dell'istanza, l'elemento verrà nascosto invece di eliminarlo effettivamente.

Organizzazione dei componenti

Se provieni da Sketch, potresti avere problemi con l'organizzazione dei componenti in Figma poiché ci sono alcune differenze chiave tra questi due strumenti. Questa è una breve guida per aiutarti a organizzare bene i componenti in modo che il menu dell'istanza non influisca negativamente sull'efficacia del tuo team.

mostrando il menu dell'istanza aperto con più sottomenu non ordinati
Come puoi vedere qui, la nostra libreria aveva così tanti sottomenu che di conseguenza la navigazione usciva dallo schermo sui MacBook, questo è stato un grosso problema per la nostra libreria. Siamo stati in grado di trovare una soluzione per questo problema. (Grande anteprima)
mostrando i miglioramenti sul menu dell'istanza aperto con i sottomenu ordinati
Questo è stato il risultato dopo aver migliorato l'ordine della libreria seguendo le regole per pagine e frame, ora è molto più fruibile e organizzata per i nostri team. (Grande anteprima)

Ci siamo passati tutti, la soluzione è più facile di quanto pensi!

Ecco cosa ho imparato su come organizzare i componenti.

Denominazione Figma

Mentre in Sketch tutta l'organizzazione dipende solo dal nome del singolo componente, in Figma dipende dal nome della pagina , dal nome del frame e dal nome del singolo componente , esattamente in quell'ordine.

Per fornire una libreria ben organizzata, devi pensarla come un'organizzazione visiva. Finché rispetti l'ordine, puoi personalizzare la denominazione in base alle tue esigenze.

Ecco come l'ho diviso:

  • Nome file = Nome libreria (es. Lexicon);
  • Nome pagina = Gruppo di componenti (ad es. Carte);
  • Nome frame = Tipo di componente (ad es. Scheda immagine, Scheda utente, Scheda cartella, ecc.);
  • Nome componente = Stato componente (ad es. Predefinito, Al passaggio del mouse, Attivo, Selezionato, ecc.).
Mostra la pagina principale denominata "Cards", il frame denominato "Image Card" e il livello denominato "Card Hover"
Questa struttura è equivalente alla denominazione di Sketch di "Cards/Image Card/Card Hover". (Grande anteprima)

Aggiunta di livelli di rientro

Durante la creazione della libreria Lexicon, ho scoperto che avevo effettivamente bisogno di più di tre livelli di indentazione per alcuni componenti, come i pulsanti che abbiamo visto prima.

In questi casi è possibile estendere la denominazione utilizzando lo stesso metodo di Sketch per i simboli nidificati (usando le barre nel nome del componente, ad es. “Componente/Sotto-Componente”), a condizione che lo si faccia solo dopo il terzo livello di rientranza, rispettando l'ordine strutturale dei primi tre livelli come spiegato al punto precedente.

Ecco come ho organizzato i nostri pulsanti:

  • Nome pagina = Gruppo di componenti (es. Pulsanti);
  • Nome telaio = Dimensione componente (es. Normale o Piccola);
  • Nome componente = Stile/Tipo/Stato (ad es. Primario/Testo/Hover).
Mostrando la pagina principale denominata 'Buttons', il frame denominato 'Buttons Regular' e il livello denominato 'Primary/Text/Button Hover' come esempio delle possibili strutture.
Questa struttura è equivalente alla denominazione di Sketch di '*Buttons/Buttons Regular/Primary/Text/Button Hover*'. (Grande anteprima)

Suggerimento : puoi includere il nome del componente (o un prefisso del nome) nell'ultimo livello, questo aiuterà il tuo team a identificare meglio i livelli quando importano i componenti dalla libreria.

Organizzazione delle icone

Organizzare le icone in Figma può essere difficile quando si include un gran numero di icone.

A differenza di Sketch che utilizza una funzionalità di scorrimento, Figma utilizza i sottomenu per dividere i componenti. Il problema è che se hai un gran numero di icone raggruppate in sottomenu, a un certo punto potrebbero andare fuori schermo (la mia esperienza con Figma su un MacBook Pro).

Mostra il menu di istanza per le icone con un unico sottomenu a scorrimento.
Un esempio di come sono organizzati i componenti all'interno di un unico sottomenu a scorrimento. (Grande anteprima)
Mostra il menu di istanza per le icone con più di 10 sottomenu e copre tutto lo schermo.
Come puoi vedere, utilizzando un Macbook Pro il risultato sono stati i menu che uscivano dallo schermo. (Grande anteprima)

Ecco due possibili soluzioni:

  • Soluzione 1
    Crea una pagina denominata "Icone" e quindi una cornice per ogni lettera dell'alfabeto, quindi posiziona ciascuna icona nella cornice in base al nome dell'icona. Ad esempio, se hai un'icona denominata "Più", andrà nel riquadro "P".
  • Soluzione 2
    Crea una pagina denominata "Icone" e quindi dividi per frame in base alle categorie di icone. Ad esempio, se hai icone che rappresentano una barca, un'auto e una moto, puoi posizionarle all'interno di una cornice denominata "veicoli".
Si apre il menu dell'istanza, che mostra l'ordine alfabetico delle icone in Figma.
Personalmente, ho applicato la soluzione 1. Come puoi vedere in questo esempio, avevamo un numero enorme di icone, quindi questa era la soluzione migliore. (Grande anteprima)

Conclusione

Ora che sai cosa c'è esattamente dietro la costruzione della biblioteca di una squadra a Figma, puoi iniziare a costruirne una tu stesso! Figma ha un piano di abbonamento gratuito che ti aiuterà a iniziare e sperimentare questa metodologia in un unico file (tuttavia, se vuoi condividere una libreria del team, dovrai iscriverti all'opzione "Professionista").

Provalo, crea e organizza alcuni componenti avanzati, quindi presenta la libreria ai membri del tuo team in modo da poterli stupire o eventualmente convincerli ad aggiungere Figma al loro set di strumenti.

Infine, lasciatemi ricordare che qui in Liferay amiamo i progetti open source e quindi condividiamo una copia della nostra libreria Lexicon insieme ad altre risorse. Puoi utilizzare gratuitamente i componenti della libreria Lexicon e le altre risorse e il tuo feedback è sempre il benvenuto (anche come commenti Figma, se preferisci).

  • Scarica la libreria 'Lexicon'
Il logo Lexicon è simile a un esagono e un'impronta digitale insieme.
Lexicon è il linguaggio di progettazione di Liferay, utilizzato per fornire un sistema di progettazione e una libreria Figma per i diversi team di prodotto. (Grande anteprima)

Se hai domande o hai bisogno di aiuto con la tua prima libreria di componenti in Figma, chiedimelo nei commenti qui sotto o scrivimi su Twitter.

Ulteriori risorse

  • "Griglia a 8 punti: tipografia sul Web", Elliot Dahl, freeCodeCamp
  • Definizione di una scala di tipo modulare per l'interfaccia utente Web", Kelly Dern, Medium
  • "Tavolozze di colori relative con Sass", Ethan Muller, Sparkbox
  • SassMe (strumento creato da Jim Nielsen che consente di visualizzare le funzioni colore Sass HSL in tempo reale)
  • "Come si chiamano le variabili di colore?" Chris Coyier, CSS-Tricks
  • "Migliori pratiche: componenti, stili e librerie condivise", Thomas Lowry, Figma
  • Canale YouTube Figma
  • Articoli di aiuto Figma