Rendering asincrono dei CSS

Far convergere le esigenze di sviluppo web con le indicazioni di Google PageSpeed Insights è una vera sfida, soprattutto se si ha a che fare con piattaforme di gestione contenuti o ecommerce preconfezionati da customizzare. La condotta da adottare nell'integrare script o css dovrebbe rispettare le seguenti regole: Evitare collegamenti a file esterni, perchè ogni blocco esterno rallenta la velocità di caricamento Trovare un metodo per renderizzare subito i fogli di stile o gli script relativi alla zona della pagina above the fold, contemporaneamente al caricamento della stessa Caricare in modo asincrono css e script relativi alla zona non above the fold Per gli script lato client, il problema è superabile aggiungendo async o defer come attributo al tag <script>. Mentre per i CSS il problema si complica: Spesso si ha a che fare con piattaforme che aggiungono css dentro la sezione <head> con il tag <link rel="stylesheet" href="path/fogliodistile.css" /> Riuscire ad individuare il codice lato server che si preoccupa di fare questa aggiunta, è già un lavoraccio. Individuato il punto, si pongono i problemi di ottimizzazione: come spostare il caricamento del css in fondo alla pagina? renderlo asincrono e contemporaneamente evitare una chiamata di blocco HTML esterno? Ho pensato…

Un cyberspazio imperfetto, ma funzionale

Dopo anni di esperienza e approfondimenti sul tema, sono giunto a conclusione che la ricerca della perfezione nella stesura di codice per il web è un miraggio. La complessità dei problemi e le varie sfaccettature presenti in qualunque progetto, rendono impossibile trovare un giusto equilibrio nel prodotto finale, e così come accade per un abito stretto che quando viene tirato da una parte inevitabilmente lascia scoperte altre parti del corpo, cosi accade in informatica e nello specifico, nel Web development . Mi accorsi di questo problema quando in una chiaccherata su un famoso blog di web design, venne fuori l'argomento del rapporto tra captcha e accesso ai disabili e ancora ero un "neofita" del settore. Non essendoci una soluzione valida a riguardo, tuttora quel dibattito che girava intorno ad una domanda, attende risposta : "Viene prima la sicurezza o l'accessibilità?" Ho individuato 5 aree specialistiche che si contendono, di volta in volta, la priorità nello sviluppo web. Tutti sono ingredienti necessari, ma solo uno è indispensabile (il primo). Il contenuto informativo e le funzionalità di servizio. Questo è l'unico ingrediente indispensabile. Lo scopo per cui nasce un sito è quello di fornire un servizio e tale servizio deve funzionare anche…