Quando viaggio, mi capita spesso di incontrare connessioni Internet scadenti e questo, in quanto web designer, mi fa pensare ai principi di progettazione per risolvere il problema della velocità del web anche con una connessione scadente.
La pratica mi ha insegnato alcuni trucchi utili:
Ad esempio, la pagina di accesso al CMS è spesso molto semplice. Un semplice modulo ha davvero bisogno di scaricare l'intero Bootstrap e altri framework CSS/JS? Vale la pena ottimizzare le pagine importanti e scrivere codice nativo.
Una volta che la pagina è stata completamente renderizzata, abbiamo alcuni secondi in cui l'utente compila i suoi dati e possiamo scaricare e memorizzare nella cache gli stili rimanenti nel browser in background. Quando l'utente accede, probabilmente avrà già scaricato Bootstrap (e se è su Edge, non lo farà...).
Davvero! Le emoji hanno molti vantaggi pratici:
A volte inserisco gli stili CSS importanti che definiscono il layout della pagina e il layout di base direttamente nell'HTML. Ho posto un limite di 1 KB, che cerco di inserire il più possibile. Lo svantaggio di questo approccio è che gli stili devono essere trasferiti in ogni richiesta e non possono essere memorizzati nella cache; d'altra parte, si scaricano in modo incomparabilmente più veloce di un'immagine.
Non sono un esperto di velocità di caricamento, Martin Michalek saprebbe dirvi di più.
Uso sempre ajax per recuperare contenuti poco importanti o lenti. Aggiunge un po' ai requisiti tecnologici dell'applicazione, ma posso permettermelo.
Un esempio di buon utilizzo di ajax è quasi tutto ciò che riguarda l'amministrazione. Molto spesso ci sono molti dati da recuperare, ma l'utente non è interessato a tutto. Quando l'utente ha solo un client javascript scaricato e tutti i dati vengono recuperati tramite Vue e json, viene scaricata solo la quantità minima di dati e le risposte sono istantanee.
Come fare in Vue: https://vue.baraja.cz/api-a-ajax-ve-vue-js
Nel backend, utilizzo la libreria per Nette: https://github.com/baraja-core/structured-api
Per la distribuzione di contenuti statici, consiglio di utilizzare un CDN per tutti i tipi di siti. Se non sapete come impostare un CDN, utilizzate almeno Cloudflare in modalità proxy. Il contenuto statico viene memorizzato automaticamente nella cache in base alle intestazioni HTTP. Non tutti i provider di hosting hanno impostato bene Pops e per i percorsi lunghi questo vi farà risparmiare centinaia di millisecondi per ogni richiesta.
Uno dei miei junior ha recentemente inserito un'immagine PNG nella pagina principale del sito, che conteneva una foto e occupava 3 MB. Ha detto che era tutto a posto perché la pagina si caricava velocemente sulla sua connessione (lo fa anche con l'ottica di casa sua, non è vero...), inoltre ha detto che oggigiorno trasferiamo molti dati, come i video.
Sono all'antica e ottimizzo quello che posso.
Foto in JPG o meglio in WEBP. Ma salvare un'immagine in JPG non significa nulla, è necessario passarla attraverso un servizio di ottimizzazione: https://tinyjpg.com
Se avete immagini in Git, questo strumento può comprimerle automaticamente e inviare una richiesta di pull: https://imgbot.net. Quando viene aggiunta una nuova immagine, viene inviata nuovamente la PR.
Se è necessario comprimere migliaia di immagini (come un'intera galleria di prodotti su un sito), utilizzo un'applicazione desktop per Mac: https://imageoptim.com/mac.
La compressione delle immagini in modo appropriato di solito consente di risparmiare la maggior parte dei dati. A volte anche il 50%.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | it