React a 120 FPS? Smettila di sognare. GSAP e ZProximity sono la dura realtà che ti serve.
ThinkPink Studio
12 maggio 2026

120 FPS: il feticcio degli sviluppatori e il salasso che nessuno ti racconta
Qui in ThinkPink, tra i server che sudano a Rosignano e i workaround che inventiamo a Kampala, ne abbiamo viste di ogni. Architetture che sembrano uscite da un libro di Kafka, micro-frontend che promettono la luna e poi si schiantano al primo deploy. Ma c'è un'unica, maledetta costante: la rincorsa a performance da capogiro sull'interfaccia. Ed è qui che il 90% delle app React va a gambe all'aria.
Ammettilo. Hai passato ore su un sito fighetto, hai sbavato su un'animazione di scroll, su un cursore magnetico perfetto. Poi hai provato a rifarlo. E ti sei ritrovato a bestemmiare in aramaico antico mentre il framerate crollava e il preventivo del cliente evaporava. Il punto non è l'animazione. È il costo implicito del farla da cani. Un'interazione che scatta, un lag di mezzo secondo, è un utente perso. Le statistiche dicono che la gente si stufa e chiude baracca dopo 3 secondi di attesa, e che un solo secondo di ritardo ti sega le conversioni del 7%. Non è questione di farciture estetiche, è aritmetica.
Perché GSAP è il Dobermann da guardia delle tue animazioni (e non un barboncino da salotto)
Le animazioni, oggi, non sono un optional. Sono il linguaggio non verbale della tua UI. Guidano, danno feedback, trasformano un'interazione sterile in qualcosa di vagamente umano. Ma se non vanno lisce come l'olio, l'effetto è quello di una Ferrari che gratta la seconda. Ed è qui che si para davanti GSAP (GreenSock Animation Platform).
GSAP non è un giocattolino per React. È lo standard de facto, usato da gente che i soldi li stampa davvero, tipo Google e Disney. Perché? Perché quando il gioco si fa duro, con 15 animazioni scroll-triggered e 60 elementi che svolazzano, le altre librerie iniziano a tossire. La nostra scelta in ThinkPink non è ideologica, è pragmatica: GSAP ci dà il controllo a livello del singolo fotogramma, ha una timeline API che è pura pornografia per un developer e ti garantisce i 60fps anche sul Nokia 3310 (ok, quasi).
Il trucco sta nel suo "ticker system". Invece di accodarsi al ciclo di rendering di React, che per le animazioni ad alta frequenza è efficiente come un'utilitaria in Formula 1, GSAP si aggancia direttamente al `requestAnimationFrame` del browser. Questo significa che le animazioni viaggiano su una corsia preferenziale, sincronizzate col refresh dello schermo, bypassando il collo di bottiglia del Virtual DOM. È un modo sporco, ma maledettamente efficace, di riprendersi il controllo.
ZProximity Engine: come abbiamo smesso di imprecare contro React e GSAP
Ovviamente, usare un motore V12 come GSAP dentro l'abitacolo di una Fiat Panda (React, in questa metafora) richiede qualche accortezza. A Rosignano abbiamo visto team interi impazzire dietro a frame drop, lag della UI e CPU al 100% perché animavano le proprietà sbagliate, rieseguivano il codice a ogni render o, peggio ancora, si dimenticavano di fare pulizia quando il componente veniva smontato. Un classico bagno di sangue.
È su questo campo di battaglia che un accrocchio intelligente come ZProximity Engine si è rivelato una boccata d'aria fresca. Questa libreria da 8.7KB non fa miracoli, applica solo con rigore le best practice che noi stessi abbiamo distillato dopo nottate di debug e caffè:
- Sfrutta il ticker di GSAP: La cosa più ovvia, ma che molti non fanno. ZProximity parla direttamente con il motore di GSAP, lasciando a React il solo compito di gestire lo stato. Risultato: 120+ FPS senza sudare.
- Pre-caching delle funzioni `quickTo`: Invece di andare a cercare le proprietà da animare a ogni frame, se le salva all'inizio. Meno lavoro per il processore, meno lag. A Kampala questa la chiamiamo "la mossa del bradipo furbo": lavorare meno per lavorare meglio.
- Spatial Hash Grid (150px): Per gli effetti di prossimità, non ha senso controllare ogni singolo elemento sulla pagina. Questa tecnica crea una griglia invisibile e controlla solo gli elementi nel tuo "vicinato". È come cercare le chiavi di casa solo nelle tue tasche, invece che in quelle di tutti i passeggeri del treno. Scalabilità garantita.
- Animare solo `transform` e `opacity`: Questa è la base. Se tocchi `top`, `left`, o `width`, il browser deve ricalcolare il layout di tutta la pagina. Se animi `transform`, la palla passa alla GPU, che è nata per fare questo.
- Pulizia con `useEffect` e `gsap.context`: ZProximity usa gli hook di React come si deve, incapsulando la logica di animazione e, soprattutto, assicurandosi di distruggere tutto quando il componente non serve più. Niente memory leak, niente animazioni fantasma.
Micro-interazioni: l'arma non tanto segreta della PMI che vuole sembrare la Apple (senza i suoi miliardi)
Le micro-interazioni – quel piccolo feedback visivo quando clicchi un pulsante, quel leggero tremolio che ti conferma un'azione – non sono più roba da colossi. Sono il minimo sindacale per non sembrare un prodotto del 2010. Per le PMI italiane che si affacciano al mercato globale, sono il modo più economico per alzare la percezione di qualità.
Non stiamo parlando di fuffa. Test A/B su questi dettagli possono portare a incrementi di conversione che vanno dal 10% a cifre imbarazzanti. Ogni click è un dialogo. Un'interfaccia che risponde bene è un'interfaccia che genera fiducia. Un pulsante che si anima al tap, un prodotto che scivola nel carrello, un form che ti guida con piccoli cenni visivi: sono queste le cose che, a parità di prezzo, fanno scegliere te e non il tuo competitor.
Per l'azienda di Rosignano che vende online, questo significa meno carrelli abbandonati e clienti meno frustrati. Per i nostri ragazzi a Kampala, che lavorano spesso su connessioni non proprio stellari, significa creare interfacce che sembrano reattive anche quando la rete non lo è. Con strumenti come ZProximity, questo livello di raffinatezza non è più un lusso per pochi, ma un'otimizzazione alla portata di chiunque abbia un po' di sale in zucca.
Il software di domani è fluido. Il tuo tra 12 mesi sarà un rottame.
Non è una gara a chi ha la tecnologia più alla moda. È una questione di sopravvivenza. Un'applicazione che oggi arranca, tra un anno sarà inutilizzabile. Ignorare il debito tecnico che si accumula con animazioni fatte male è come ignorare una perdita nel tetto. Prima o poi, ti crolla tutto in testa.
Integrare una libreria come ZProximity non è un upgrade, è una polizza assicurativa. È la decisione strategica di chi ha capito che un'esperienza utente fluida non è un costo, ma l'investimento più redditizio che si possa fare. In ThinkPink abbiamo visto un pattern chiaro: le aziende che curano la performance della loro interfaccia, usando le fondamenta giuste come GSAP e ottimizzazioni mirate, sono quelle che crescono. Le altre, prima o poi, le ritroviamo a chiederci un preventivo per rifare tutto da capo. E di solito, è troppo tardi.
Ultimo aggiornamento: