# Come scegliere una libreria UI: cinque criteri misurati

Licenza, dipendenze, stati accessibili, manutenzione e costo di uscita: cinque criteri che puoi verificare oggi, con i comandi e i punti esatti da controllare.

> Pagina: https://ui.eneawork.it/blog/come-scegliere-una-libreria-ui
> Markdown: https://ui.eneawork.it/blog/come-scegliere-una-libreria-ui.md

*2026-11-01*

Una libreria UI si sceglie con cinque criteri verificabili: licenza, dipendenze, stati accessibili, manutenzione e costo di uscita. La popolarità non è uno di questi criteri.

Il catalogo EneUI misura 111.985 componenti da 1.472 librerie, più 1.556 blocchi e 12.808 icone, letti da /api/stats il 1 novembre 2026. La query «best react ui library 2026» compare nelle liste Google Autocomplete inglese e italiana registrate il 31 ottobre 2026 in docs/keyword-data.json. Il dataset non contiene una domanda Stack Overflow dedicata a questo intento: le 475.168 domande del tag react, lette lo stesso giorno, misurano il volume del tema e non la scelta.

## 1. Licenza: leggi il record, non la home page

La licenza decide se puoi spedire il componente in un prodotto chiuso. shadcn/ui, MUI, Mantine, Radix UI e Base UI dichiarano tutti MIT nel file LICENSE del repository. Verifica la licenza del singolo record, perché un catalogo può mescolare MIT, Apache-2.0 e licenze custom. Fonte: file LICENSE dei rispettivi repository, letti il 1 novembre 2026.

npm view @mui/material version license dist.unpackedSize

Il comando stampa versione, licenza e dimensione del pacchetto non compresso. Non è la dimensione nel bundle, ma è un primo filtro confrontabile tra candidati.

## 2. Dipendenze: quante cose installi per un bottone

Apri il package.json della libreria e conta le dipendenze dirette. Una primitiva headless con due dipendenze è più facile da sostituire di un framework con venti. Controlla anche i peer: un peer su una major di React non ancora supportata dal tuo progetto blocca l'aggiornamento prima ancora del codice.

## 3. Stati accessibili: la preview non basta

Prova da tastiera: Tab raggiunge il controllo, il focus è visibile, Invio attiva, Esc chiude. Poi cerca gli stati disabled, loading ed errore nel codice, non solo nella preview. La checklist in 12 punti è in componenti React accessibili.

## 4. Manutenzione: date, non stelle

Guarda l'ultima release, la data dell'ultimo commit e quante issue sono state chiuse negli ultimi 90 giorni. Le stelle misurano l'attenzione, non la manutenzione. Fonte: pagina Releases e cronologia del repository, letta il 1 novembre 2026.

## 5. Costo di uscita: il codice è tuo o resta nel pacchetto?

Una libreria npm resta una dipendenza: aggiorni con un comando, ma se cambia API devi adattarti. Un componente copiato da un registry vive nel tuo repository: lo modifichi, ma gli aggiornamenti diventano un diff manuale. Il confronto tra i due approcci è in copy-paste o headless.

## I cinque criteri in una tabella

## La limitazione del catalogo

EneUI conta i record, non la qualità. Una libreria con 5.000 componenti può avere focus ring assenti e nomi incoerenti; il catalogo non lo sa. Usa i numeri per restringere la lista, non per chiudere la decisione.

## Dove continuare

Per il vocabolario leggi UI kit, component library o design system; il confronto misurato è in librerie React 2026. Nel catalogo puoi partire dai 111.985 componenti, aprire un record come Keyline e confrontare una categoria come chart.

## FAQ

### Qual è il criterio più importante?

La licenza viene prima: se non puoi usare il codice in produzione, gli altri quattro criteri non contano. Subito dopo viene il costo di uscita, perché è l'unico che paghi quando la libreria cambia.

### Le stelle GitHub contano nella scelta?

No. Le stelle misurano l'attenzione, non la manutenzione. Guarda la data dell'ultima release e il ritmo di chiusura delle issue.

### Meglio componenti pronti o primitive headless?

Se devi spedire una schermata entro una settimana, i componenti pronti fanno risparmiare tempo. Se il design system è il prodotto, le primitive headless lasciano il controllo su markup e stile, ma richiedono più lavoro.

### Come verifico l'accessibilità in dieci minuti?

Naviga la pagina con Tab e Maiusc+Tab: il focus deve essere visibile e nell'ordine giusto. Poi apri il codice e cerca disabled, aria-invalid, role e gestione di Esc. Se manca uno di questi stati, la preview non basta.

### Una libreria con 10.000 componenti è migliore di una con 50?

No. Il numero misura la copertura del catalogo, non la coerenza. Una libreria piccola con API stabile e stati completi costa meno di una grande che devi ripulire.
