divmagic Make design
SimpleNowLiveFunMatterSimple
Come GitHub ha migliorato le prestazioni inviando più CSS – e come puoi farlo anche tu
Blogs›CSS›Come GitHub ha migliorato le prestazioni inviando più CSS – e come puoi farlo anche tu
CSS

Come GitHub ha migliorato le prestazioni inviando più CSS – e come puoi farlo anche tu

DivMagic
DivMagic TeamOctober 7, 2026
9 min read

Come GitHub ha migliorato le prestazioni spedendo più CSS – e come puoi farlo anche tu

Con una mossa ingegneristica audace, GitHub ha recentemente descritto in dettaglio la loro migrazione completa da CSS-in-JS a CSS semplice scritto a mano e ben strutturato. Il risultato? Un balzo drammatico nella velocità del sito e nell'esperienza utente. Non si tratta di una regressione a metodi vecchio stile; è una strategia attentamente calcolata che dimostra che spedire più CSS può effettivamente rendere il tuo sito più veloce. In questo approfondimento, analizzeremo il percorso di GitHub, le motivazioni tecniche alla base, i guadagni di prestazioni e come strumenti come DivMagic stanno rendendo questo approccio accessibile a ogni sviluppatore frontend.

34%
improvement in Largest Contentful Paint

CSS-in-JS ha rivoluzionato il modo in cui pensiamo agli stili con ambito e all'architettura basata su componenti, ma ha comportato costi nascosti. L'iniezione di stili a runtime, l'aumento dei bundle JavaScript e tempi di parsing più lenti hanno spinto molti siti ad alto traffico a riesaminare le loro strategie di styling. GitHub, una delle piattaforme per sviluppatori più visitate al mondo, ha deciso di ribaltare la situazione: rimuovere il livello di astrazione e fornire file CSS statici e snelli fin dall'inizio.

Il paradosso delle prestazioni di CSS‑in‑JS

Per anni, i team hanno adottato librerie CSS‑in‑JS come styled‑components o Emotion per i loro vantaggi in termini di esperienza sviluppatore: CSS critico automatico, scoping, stili dinamici e co‑localizzazione. Ma man mano che le applicazioni scalano, questi benefici spesso hanno un costo.

ApproachInitial RenderBundle ImpactMaintenance
CSS‑in‑JSJS must parse style objects firstAdds runtime + CSS in JS bundleTight coupling, harder to refactor
Plain CSS (GitHub)Browser parses CSS immediatelySmaller JS, CSS loaded separatelyClass naming conventions, reusable
DivMagicExtract exact UI from any siteZero runtime, clean CSS outputInstant copy, then customize

La tabella sopra mostra un netto contrasto. L'analisi di GitHub ha rivelato che la dimensione del bundle JavaScript era gonfiata dal codice runtime di CSS‑in‑JS e dalle definizioni di stile che avrebbero potuto essere statiche. Peggio ancora, quegli stili dovevano essere analizzati e iniettati da JavaScript prima che il browser potesse dipingere, ritardando il First Contentful Paint (FCP) e il Largest Contentful Paint (LCP).

25%
faster Time to Interactive on github.com

Spostando tutti gli stili in file CSS autonomi, GitHub ha eliminato il sovraccarico runtime. Il browser poteva recuperare e analizzare il CSS in parallelo con l'HTML, sbloccando il rendering. I Core Web Vitals del sito sono migliorati su tutta la linea, un fattore critico sia per l'esperienza utente che per la SEO.

La migrazione: più CSS, ma CSS più intelligenti

Il team di ingegneria di GitHub – Josh Black e Marie Lucca – ha descritto il loro processo in un dettagliato post sul blog. Invece di una riscrittura totale, hanno adottato una strategia componente per componente, convertendo ogni pezzo di UI da CSS‑in‑JS a CSS puro mantenendo zero downtime.

man, computer, monitor, desk, lamp, office, wall, notes, posters, home office, web, development, man, office, home office, home office, home office, home office, home office, web, web, web

40%
reduction in CSS payload size

Questo potrebbe sembrare controintuitivo: come puoi spedire più CSS eppure ridurre il carico? La risposta sta nell'eliminazione del codice morto e nella suddivisione del CSS critico. Nel mondo CSS‑in‑JS, molti stili venivano generati dinamicamente, spesso includendo regole irraggiungibili o selettori eccessivamente specifici. Effettuando un audit della superficie UI effettiva, GitHub ha eliminato gli stili inutilizzati e ha usato strumenti come PurgeCSS per rimuovere tutto ciò che non veniva renderizzato nella pagina corrente.

Performance Metrics Comparison: CSS-in-JS vs Plain CSS

Il team ha anche investito pesantemente in una solida pipeline di build che potesse fare tree‑shaking del CSS proprio come JavaScript. Hanno introdotto un passaggio di “critical CSS inline” che estrae gli stili necessari per il contenuto above‑the‑fold e li incorpora nel <head>, mentre il resto viene caricato in modo asincrono. Questo pattern – noto come “caricamento progressivo del CSS” – ha garantito che la pagina diventasse interattiva più velocemente senza un flash di contenuto non stilizzato.

Metriche di prestazioni che dicono molto

La migrazione di GitHub non ha migliorato solo i benchmark sintetici; i dati di monitoraggio degli utenti reali (RUM) hanno raccontato la stessa storia. Diamo un'occhiata ad alcuni numeri chiave:

100%
of github.com migrated to plain CSS
  • Largest Contentful Paintè migliorato del 34%, passando da “necessita miglioramento” alla soglia “buono” nei Core Web Vitals di Google. -Time to Interactiveè diventato più veloce del 25%, il che significa che gli utenti potevano interagire con la pagina prima. -La dimensione del carico CSSè diminuita del 40% nonostante il passaggio da stili generati da JS a file statici. -First Input Delayè quasi scomparso per la maggior parte delle sessioni, poiché il thread principale era meno affollato di calcoli di stile.

Questi guadagni non sono state solo vittorie tecniche; si sono tradotti direttamente in un migliore coinvolgimento e tassi di rimbalzo più bassi su github.com.

“Siamo rimasti sorpresi di quanto il semplice atto di rimuovere l'astrazione CSS‑in‑JS abbia migliorato la nostra pipeline di rendering. Il browser sa come gestire il CSS in modo efficiente – dovevamo solo lasciargli fare il suo lavoro.” – Team di ingegneria di GitHub

Perché questo è importante per ogni sviluppatore frontend

Potresti pensare: “Non gestisco una piattaforma delle dimensioni di GitHub, quindi perché dovrebbe interessarmi?” La risposta è che gli stessi principi si applicano a qualsiasi scala. CSS‑in‑JS introduce una dipendenza che può rallentare il tuo sito di centinaia di millisecondi – e nelle prestazioni web, ogni millisecondo conta.

I browser moderni sono incredibilmente ottimizzati per analizzare il CSS semplice. Possono creare il CSSOM (CSS Object Model) in un thread separato, memorizzarlo nella cache in modo efficiente e applicarlo al DOM senza interrompere l'esecuzione di JavaScript. Quando generi stili tramite JavaScript, interrompi quella pipeline e costringi il browser ad attendere.

Come DivMagic si inserisce in un flusso di lavoro CSS semplice

Ricreare gli stili esatti di un componente UI complesso può essere un processo noioso e soggetto a errori. È qui cheDivMagicdiventa un punto di svolta. Come estensione del browser, DivMagic ti permette di copiare qualsiasi elemento UI da qualsiasi sito web e ottenere immediatamente CSS e HTML puliti e riutilizzabili. Invece di ispezionare elementi e mettere insieme gli stili, puoicopiare l'intero aspetto con un clic.

technology, computer, code, javascript, developer, programming, programmer, jquery, css, html, website, technology, technology, computer, code, code, code, code, code, javascript, javascript, javascript, developer, programming, programming, programming, programming, programmer, html, website, website, website

Immagina di scoprire un componente card splendidamente realizzato sul sito di un concorrente. Con DivMagic, selezioni l'elemento e l'estensione estrae le regole CSS precise – niente JavaScript, niente runtime, solo gli stili di cui hai bisogno. Puoi quindi incollarlo nel foglio di stile del tuo progetto, personalizzare i nomi delle classi e aderire al tuo sistema di design.

GitHub's Page Load Time Improvement During Migration

Questo si allinea perfettamente con la filosofia di GitHub di fornire più CSS (quello buono) senza sovraccarico. DivMagic genera CSS pronto per la produzione che è statico, tree‑shakeable e completamente sotto il tuo controllo. Evita la necessità di middleware CSS‑in‑JS, permettendoti di costruire interfacce veloci e leggere.

Oltre la copia: costruire una libreria di componenti

Molti sviluppatori usano DivMagic come strumento di ricerca. Raccolgono pattern UI da prodotti di alto livello, studiano le architetture CSS e le adattano nelle proprie librerie di componenti. Poiché l'output è CSS semplice, si integra perfettamente con qualsiasi framework – React, Vue, Svelte o HTML vanilla.

TaskTraditional MethodDivMagic Method
Extract a button styleInspect element, copy dozens of CSS rules, test1‑click copy, get clean CSS
Build a design systemWrite from scratch or import bloated libraryCollect real‑world examples, refine
Performance optimizationProfile, strip unused styles manuallyCopy only the styles you use, no runtime

Lezioni dalla migrazione di GitHub

Se stai considerando una mossa simile lontano da CSS‑in‑JS, ecco alcuni insegnamenti pratici:1. Controlla i tuoi stili esistenti– Esegui strumenti come PurgeCSS o rivedi manualmente quali regole sono effettivamente utilizzate in produzione. Spesso scoprirai che il 30-50% dei CSS non viene utilizzato. 2.Adotta un approccio CSS critico– Inserisci in linea gli stili minimi necessari per il primo rendering e rimanda il resto. Strumenti come Critical o plugin Webpack personalizzati possono automatizzare questo processo. 3.Sfrutta le proprietà personalizzate CSS– Riducono la ripetizione e rendono la tematizzazione banale. Il nuovo sistema di token di design di GitHub è un grande esempio. 4.Usa BEM o CSS funzionale– Scegli una convenzione di denominazione che prevenga collisioni senza isolamento a runtime. 5.Testa progressivamente – Migra un componente alla volta e monitora le prestazioni con Real User Monitoring.

"La più grande rivelazione è stata che il CSS semplice, quando ben organizzato, scala molto meglio di quanto avessimo mai immaginato – anche su un sito complesso come GitHub."

Abbraccia la semplicità

La storia di successo di GitHub è un potente promemoria che a volte il miglior strumento è quello che i browser già comprendono perfettamente. Inviando più CSS – meticolosamente realizzati, ripuliti e suddivisi – hanno offerto ai loro utenti un'esperienza più veloce e fluida, semplificando al contempo il loro stack di sviluppo.

website, web design, development, code, programming, marketing, office, business, agency, website, website, web design, web design, web design, web design, web design, agency

Con DivMagic, quella semplicità è ora alla portata di ogni progetto. Puoi saltare l'attrito di CSS-in-JS, estrarre qualsiasi UI che ammiri e concentrarti sulla creazione di grandi esperienze. La prossima volta che stai per import styled from 'styled-components', chiediti: il CSS semplice potrebbe farlo meglio? La risposta potrebbe essere sì.

Inizia a costruire con DivMagic oggi stesso

Unisciti a oltre 10.000 sviluppatori, designer e imprenditori per copiare il codice da qualsiasi sito web e utilizzarlo nei propri progetti.

Get DivMagic for 42% off

Limited time deal for 22:45