Il Manifesto del Lean Web

Pixu

Emiliano Pisu

Sensei & Co-Host
@ Dev Dojo IT

pixu1980@linkedin linkedin.com/in/pixu1980
pixu1980@github github.com/pixu1980
pixu1980@codepen codepen.io/pixu1980
devdojo@linkedin linkedin.com/company/dev-dojo-it/
devdojo@youtube youtube.com/@devdojo_it
devdojo@twitch twitch.tv/devdojo_it
devdojo@telegram @devdojo_it

Cosa s'intende per Lean Web?

È un movimento, un approccio allo sviluppo web che enfatizza
la semplicità, l'efficienza e l'accessibilità

Riducendo al minimo il superfluo per creare prodotti digitali più leggeri, veloci e sostenibili

Si ispira ai principi del Lean Manufacturing e del Lean Software Development

Quante spesso ci ritroviamo a pensare frasi come...

E ora con il SEO?
Troppa roba per una cosa così semplice!
Tutto questo sbattimento... per una landing page?
Una libreria da 500kb per formattare una data?
Immagine di Holly Hutton che dribbla tutti

entra in campo...

Il Lean Web

Chi ha dato inizio al "movimento"?

? novembre 2017

Thomas Fuchs

Creator of script.aculo.us and zepto.js
Foto di Thomas Fuchs
Thomas Fuchs
Is there a conference for web developers that specifically caters to Lean Web (don’t use JS if not necessary etc.)? Or in other words, are there maintainable long-term apps and sites that don’t use the latest temporary hype ? I’d love to see talks about how to ditch frameworks, do stuff with just HTML, CSS & vanilla JS, server-side generation etc
Fonte: Twitt... ehm.. X

un semplice tweet... vero?

7 novembre 2017

Chris Ferdinandi

Author & Mentor @ gomakethings.com
Foto di Chris Ferdinandi
Chris Ferdinandi
Over the last couple of years, front end development has gotten a lot more complicated. Preprocessors, module loaders, package managers, ES6, command line tools, single page apps, CSS-in-JS, Angular, React, Vue, Cosmic (I made that last one up, but it sounds legit, right?). It’s exhausting. It makes building for the web harder. It makes the sites and apps we build slower and more fragile. It often makes the web worse.
Fonte: The Lean Web @ gomakethings.com
19 dicembre 2017

Philip Walton

Core Maintainer @ Web Vitals (Google)
Foto di Philip Walton
Philip Walton
You open a web page and click on something, but nothing happens! You click on something else, nope, nothing! You start clicking everywhere, just to get *some* feedback that your phone isn't broken... then suddenly a bunch of stuff all happens at the same time and now you're on a completely different page and you have no idea how you got there...
Fonte: Why web developers should care about interactivity
1 agosto 2018

Addy Osmani

Core Team Member @ Google Chrome
Foto di Addy Osmani
Addy Osmani
Building interactive sites can involve sending JavaScript to your users. Often, too much of it. Have you been on a mobile page that looked like it had loaded only to tap on a link or tried to scroll and nothing happens? Byte-for-byte, JavaScript is still the most expensive resource we send to devices, because it can delay interactivity in large ways.
Fonte: The Cost of JavaScript in 2018
30 agosto 2022

Chris Coiyer

Founder of css-tricks.com, Creator of codepen.io
Foto di Chris Coyier
Chris Coyier
There are quite a few things in the world of web design and development that have gotten… easy. It might be time to take a look at how you’re approaching some of the building blocks of your website because evolutions in browser technology and tooling have made many things easier and better.
Fonte: The Web Is Good Now, CascadiaJS 2022

e ancora...

Il termine è un derivato dei concetti del
Lean Production che nel 1988 è stato descritto da
John Krafcik nella sua tesi di laurea "Triumph of
the lean production system" al MIT.

Ma non è stata un'invenzione americana, fra il 1948 e il 1975, un giovane ingegnere giapponese Taiichi Ohno, definì questo sistema di produzione industriale, oggi conosciuto come TPS.

Il TPS, o Toyota Production System, è basato sui
principi della Lean Production o Produzione
Snella
, ed ha fatto la fortuna di Toyota
trasformando il marchio in uno dei maggiori
colossi dell'Automotive.

Il TPS è un sistema di produzione che si basa su due pilastri fondamentali:

#1 - Jidoka/Kaizen, approccio basato sul
miglioramento continuo e a piccoli passi,
finalizzato all'eliminazione del Muda - gli sprechi

#2 - Just-in-Time, approccio finalizzato a
produrre solo quello che serve quando serve,
organizzato in Kanban, con un continuo
e granulare monitoraggio del mercato

Ma cosa dici? JIT e Kanban? Automotive?

Immagine di Sora Lella che fa il gesto dell'ombrello dicendo 'Tiè'

Si è così JIT e Kanban non sono concetti che abbiamo inventato noi dell'industria informatica.

Questo sistema ha superato i limiti del sistema di produzione di massa "basato sull'offerta" in favore di un sistema "basato sulla domanda".

Il sistema di produzione di massa,
sviluppato da Henry Ford e Alfred Sloan, è
applicato ancora oggi dalla quasi totalità
delle aziende occidentali, contribuendo
ad una pesantissima carbon footprint.

Quindi cos'è il Lean Web?

È una proposta: un cambio di paradigma culturale nello sviluppo del web...

...o forse giusto un po' di consigli in merito.

Princìpi del Lean Web

  • Riduzione del peso dei prodotti digitali
  • Ottimizzazione delle performance
  • Accessibilità e inclusività
  • Sostenibilità digitale

Perché il Lean Web
è importante oggi?

Sulla mia macchina funziona!

Abbiamo tutta questa capacità di calcolo... che senso ha preoccuparsi delle performance?

Il mio smartphone potrebbe mandare l'Apollo 11 sulla Luna e nel frattempo risolvere equazioni differenziali per non annoiarsi

La crescente complessità delle applicazioni moderne e l’impatto ambientale dello sviluppo web sono fattori chiave.

Secondo uno studio della Royal Society di fine 2020 (fonte AGI.it) le tecnologie digitali contribuiscono ~6% delle emissioni globali

L'Impatto della Complessità

La complessità degli strumenti moderni spesso introduce costi nascosti.

Debugging infinito

Clip di Spongebob e Patrick che corrono urlando: 'Abbiamo un Bug!' (Spongebob Squarepants)

Manutenzione evolutiva

Clip di Leonard McCoy che dice: 'Sono un uomo di manutenzione, non un mago!' (Star Trek)

Curve di apprendimento

Clip del Maestro Yoda che dice a Luke Skywalker: 'Devi disimparare ciò che hai imparato!' (Il Ritorno dello Jedi)

Knowledge Transfer

Clip di Tormund che dice ad Orell: 'Dimmi quello che sai!' (Il Trono di Spade)'

Single Page Apps (SPA)

Le SPA cercano di migliorare le performance caricando tutto in una singola pagina HTML.

  • Solo il contenuto che necessita viene aggiornato.
  • Possibilità di transizioni fluide tra le pagine.
  • Minore ricaricamento delle risorse.

Ricreare il browser in JS?

Le SPA rompono molte funzionalità native del browser che vengono poi ricostruite in JS.

  • Gestione della navigazione e aggiornamento dell'URL.
  • Supporto ai pulsanti avanti/indietro.
  • Gestione del focus e del titolo del documento.

Fragilità

Il frontend moderno è fragile e dipende eccessivamente da JavaScript.

  • Il "white screen of death" quando JS fallisce.
  • CDN e connessioni instabili possono bloccare l'app.
  • Ad blocker e firewall possono interrompere il caricamento.

JavaScript è il punto debole

HTML e CSS sono "forgiving", JS invece no.

  • Un errore di battitura in HTML viene ignorato.
  • Un errore in CSS viene saltato.
  • Un errore in JS può rompere l'intera applicazione.

Il "mito" del Virtual DOM

Il Virtual DOM sicuramente rappresenta un'utile strategia per ottimizzare gli aggiornamenti dell'interfaccia in applicazioni complesse

In molti casi questo approccio introduce un overhead non necessario in contesti dove la manipolazione diretta del DOM è già sufficientemente performante

Se gli aggiornamenti sono minimi, se il sistema è configurato per un rendering diretto efficiente, affidarsi al Virtual DOM potrebbe risultare più pesante che vantaggioso.

Immagine di Harabe de Palo nel video di 'Depende'

Come sempre, la risposta è Dipende!

Tutto bello...

a questo punto direte:

Immagine di Renè Ferretti di Boris che incita ad andare al sodo

Le regole del Lean Web

#1 - Non parlate mai del Lean Web
#2 - Non DOVETE parlare mai del Lean Web
#3 - ...
Immagine di Tyler Durden che enuncia le regole del Fight Club

...scherzavo 🤣!

#1 - Minimalismo

Minimizzare l'uso di sovrastrutture
visive ed architetturali, seguendo sempre
il paradigma HTML 1st, CSS 2nd e JS 3rd

#1 - Minimalismo

See the Pen Untitled by pixu1980 ( @pixu1980 ) on CodePen.

#2 - Adozione della Piattaforma

Apprendere, combinare e sfruttare al meglio
API native e metodi delle core web technologies
è più semplice e performante rispetto
all'uso di framework e librerie esterne

#2 - Adozione della Piattaforma

See the Pen HTML + CSS accordion by pixu1980 (@pixu1980) on CodePen.

#3 - Inclusività (Il Web è di Tutti!)

Creare applicazioni inclusive significa
garantire un'esperienza fluida per tutti:
per chi ha disabilità, o una bassa
connessione, o un device poco performante

#3 - Inclusività (Il Web è di Tutti!)

See the Pen HTML + CSS accordion + JS for accessibility by pixu1980 (@pixu1980) on CodePen.

#4 - Sostenibilità e Performance

Ogni byte ha un costo ambientale!
Cerchiamo di ridurre il consumo energetico
di nostri prodotti ottimizzando risorse e
riducendo la complessità, è un dovere etico
e una necessità per il futuro del web

#5 - Iterazione Continua

Il miglioramento è un processo senza fine:
monitoriamo, raccogliamo feedback
e ottimizziamo continuamente per
offrire il meglio agli utenti, riducendo
iterativamente sprechi e inefficienze

Esempi di aziende che utilizzano il Lean Web?

GitHub

A fine 2018 ha rimosso vecchie dipendenze
(ad esempio jQuery e altri componenti
UI) in favore di soluzioni nativamente
integrate ha migliorato sensibilmente
performance e manutenibilità

Fonte: GitHub Engineering Blog

Netflix

Nel 2018, rimuovendo React dal caricamento
frontend iniziale e riscrivendo il suo core
in VanillaJS, ha semplificato l’architettura
e ridotto drasticamente i tempi di
caricamento e di gestione delle risorse

NOTA: Time-to-Interactive ridotto del 50%, anche se alcune parti sono ancora in React e caricate in modalità lazy Fonte: Addy Osmani @ medium.com

MeetSpace

MeetSpace ha sviluppato un'app di messaggistica
interamente in VanillaJS, evidenziando come
la semplicità possa agevolare l’innovazione

Fonte: Nick Gauthier (author of MeetSpace) @ smashingmagazine.com

Airbnb

Airbnb ha integrato i principi della lean
production per ottimizzare il processo di
prenotazione e gestione delle locazioni,
rendendo l'esperienza utente più fluida

Fonte: An Airbnb Case Study @ cobbleweb.co.uk

Uber

Uber ha implementato metodologie
lean per ottimizzare il matchmaking in
tempo reale tra passeggeri e conducenti,
migliorando efficienza e scalabilità

Fonte: Uber's Lean Disruption @ fastercapital.com

Spotify

Spotify utilizza un approccio lean per iterare
rapidamente sulle funzionalità e migliorare
costantemente l'esperienza degli utenti

Fonte: Spotify Agile Leadership Lean @ planet-lean.com

Google

Google adotta principi lean in molte delle sue
soluzioni web per garantire rapidità, efficienza
e una user experience sempre in evoluzione

Fonte: A lean modernization approach @ cloud.google.com/blog

Conclusioni

Il Lean Web è un viaggio,
non una destinazione!

Continuiamo ad esplorare e sperimentare
nuove tecniche e strumenti, allo scopo
di creare prodotti digitali sempre più
leggeri e performanti, per TUTTI!.

Slides Links

Slides
Slides
Slides Repo on Github
Slides Repo

Personal Links

Pixu.dev
pixu.dev
Pixu LinkedIn Profile
LinkedIn

DevDojo Links

devdojo.it
devdojo.it
devdojo @ linkedin
LinkedIn
© 1987-2025 - Warner Bros. Entertainment Inc.
Pixu

Grazie ❤️!

Dev Dojo IT Logo