I trucchi del mestiere
Attraverso i processi produttivi e le scelte tecnologiche facciamo dell’ecosostenibilità un obiettivo fondamentale, adottando costantemente tecniche di ottimizzazioni che ci portano a risultati di alto livello.
Pattern a isole
Utilizziamo il pattern a isole per avere componenti leggeri, l’architettura del sito è costituita da servizi che si “accendono” solo quando necessari. In questo modo non sovraccarichiamo il sistema e la struttura rimane agile e snella. Ad esempio, in una pagina prodotto, carichiamo gli articoli correlati a fine pagina solo quando l’utente li visualizza nel browser.
Caching aggressivo
Spesso il contenuto è lo stesso per più chiamate, quindi perché non metterlo in cache? In questo modo abbattiamo tempi e costi per computare una sola volta il contenuto che migliaia di utenti visualizzeranno. Le cache possono essere applicate a tutti i livelli (database, server e browser) considerando e portando attenzione alle necessità di aggiornamento del dato. Una sfida importante che però porta a vantaggi enormi.
Codice snello e ottimizzato
Scriviamo solo il codice necessario e lo ottimizziamo progressivamente. Valutiamo con attenzione se introdurre nuove librerie e misuriamo sempre l’impatto prestazionale di ogni pezzo di codice. Per esperienza, le librerie che fanno troppe cose sono da evitare in favore di soluzioni snelle e mirate. La programmazione asincrona ci permette di parallelizzare le attività e ridurre i tempi di attesa in cui il server deve elaborare informazioni.
Contenuto giusto nella dimensione giusta
Le immagini sono tra i contenuti a più alto impatto ambientale, per questo le ottimizziamo in formati ad alta compressione.
Se nella pagina c’è un’immagine di piccole dimensioni che potrebbe occupare pochi Kilobyte, elaboriamo automaticamente l’originale (che pesa magari qualche Megabyte) e alla prima richiesta la ottimizziamo per quello specifico contesto.
Bundling e miniaturizzazione
Sono ancora tanti i siti che travolgono il browser con decine e decine di piccoli file quando è decisamente più efficiente impacchettare tutti i file in una sola chiamata con la tecnica del bundling. È un po’ come andare in posta dieci volte per ritirare altrettanti pacchi, non si fa prima a fare la coda allo sportello una volta sola? In questo modo si evita di raggiungere il limite di chiamate concorrenti e rallentare la pagina. Una volta che abbiamo recuperato il pacchetto, è possibile diminuirne il peso con la miniaturizzazione del codice, rimuovendo tutto ciò che rende il codice leggibile a un umano ma che è totalmente inutile per una macchina (spazi, a capi, nomi lunghi di variabile, commenti, ecc.).
Poiché nel mondo del digitale i tempi di obsolescenza sono molto brevi e le tecniche sono in continuo mutamento, attuiamo una progressiva ottimizzazione dell’architettura, controllando i nostri progetti con strumenti dedicati come Lighthouse, Chrome DevTools, Karma Metrix e Website Carbon in modo da poterne monitorare i livelli di consumo ed emissioni di CO2.