Nella carriera di un programmatore informatico ci sono tanti aspetti da dover curare e su cui dover riflettere. È una carriera ambiziosa, ma con tante sfaccettature, specialmente se ci si specializza come web developer.
Per imparare a programmare applicazioni web non è necessaria soltanto la conoscenza del linguaggio JavaScript, del linguaggio CSS, del linguaggio HTML, o del linguaggio PHP e via discorrendo…ma anche avere cura nei dettagli della gestione delle risorse che si impiegano per i propri progetti.
Un aspetto spesso trascurato è l’ottimizzazione delle performance lato front-end.
Cos’è il front-end?
Lo sviluppo web front-end è lo sviluppo dell'interfaccia grafica di un sito Web, attraverso l'uso di linguaggi di markup, linguaggi di stile e linguaggi di programmazione come HTML, CSS e JavaScript, in modo che gli utenti possano visualizzare e interagire con il sito web. Uno sviluppatore web può specializzarsi nello sviluppo front end, nel back-end o padroneggiare entrambi diventando un full stack developer.
L’ottimizzazione del front-end dipende da diversi fattori che implementiamo in fase di stesura del codice e evoluzione della nostra app web, riducendo il numero di risorse da caricare. Vediamo 6 suggerimenti per poter risolvere questo problema ed avere un pagina web con un’alta usabilità e prestazioni elevate.
- Minimizzare le risorse: la minimizzazione delle risorse si riferisce al processo di rimozione di dati non necessari e ridondanti da HTML, CSS e JavaScript, che non devono essere caricati. Ciò include l'eliminazione di commenti e formattazioni del codice, spazi vuoti, codice inutilizzato, caratteri di nuova riga e così via. Questa pratica accelera i tempi di caricamento del front-end riducendo la quantità di codice richiesta dal server.
- Ridurre il numero di chiamate al server: In generale, più chiamate fa la tua interfaccia front-end al server, più tempo impiega per caricarsi. Questo perché l'invio di qualsiasi richiesta al server richiede una comunicazione completa prima che la pagina possa essere resa. Puoi seguire diverse tecniche per ridurre il numero di richieste del server necessarie per il caricamento della pagina. Come, ad esempio, ridurre i plug-in di terze parti che effettuano tante richieste oppure utilizzare i CSS Sprites, invece di caricare dieci singole immagini sul sito, sprite carica un singolo file di immagine utilizzando una raccolta di immagini. È possibile utilizzare le proprietà background-image e background-position nei CSS per visualizzare il segmento di immagine desiderato. In questo modo, riduci il numero di richieste del server richieste.
- Ottimizzare CSS e JavaScript: si agisce su script e file CSS, servendosi di strumenti online che permettono di ottenere il risultato sperato semplicemente copiando ed incollando il codice. Ad esempio, si possono utilizzare Wp-Rocket o WP Fastest Cache per ridurre il carico di dati richiesto da CSS e JS, impattando anche sul codice HTML. Occhio, però, ad eventuali problemi di funzionalità complessiva dell’applicazione web.
- Comprimere i file: maggiore è la dimensione del file, maggiore è il tempo necessario per il caricamento. I siti Web moderni hanno spesso pacchetti HTML, CSS e JavaScript di grandi dimensioni. Comprimendo i file utilizzando metodi e strumenti adatti, puoi facilmente ottenere un gran risparmio di tempo nel caricamento del tuo sito lato front-end. Due strumenti utili a questa pratica sono Gzip o Brotli.
- Caching: ogni volta che c'è una visita al sito web, dall'HTML al CSS al JavaScript, deve essere scaricato singolarmente. Ciò porta a tempi di caricamento dei dati più lenti. Il modo migliore per prevenire questo problema è utilizzare le opzioni di memorizzazione nella cache. Se opportunamente configurati, i browser memorizzeranno i file nella loro cache locale ed eviteranno di caricare gli stessi asset per le successive visite di pagina dal server. Questa operazione la si può gestire direttamente dalla cache browser.
- Applicare il Lazy Loading: il caricamento lento (Lazy Loading) aiuta a migliorare, ovviamente, i tempi di caricamento dei dati sul front-end. La pagina web carica prima solo il contenuto richiesto e quello rimanente solo quanto è strettamente richiesto dall’utente. Ad esempio, nei risultati delle immagini di Google, viene caricato per primo solo un piccolo set di immagini. Il sito carica immagini placeholder per il contenuto nascosto invece di quelle effettive riducendo il tempo di caricamento. Il contenuto effettivo verrà visualizzato se l'utente scorre la pagina verso il basso.
Sono semplici, ma efficaci accorgimenti, che tutti i front end developer dovrebbero conoscere. Spesso si sottovaluta l’impatto che questi tempi di caricamento hanno sull’esperienza complessiva dell’utente. Uno dei requisiti principali che il front-end di un sito web dovrebbe adottare, è quello di un’alta usabilità.
E tu, lo sapevi?