In April 2021, Jeremy Keith gave the opening presentation at An Event Apart Spring Summit 2021. In true Jeremy-style this talk starts off with space and the early days of the web, to eventually bring us to the present day.
Watch this talk (or read the transcript). And then watch it again. It’s packed with good advice.
Browsers have increased in complexity so that we can build without complexity. We can use the built-in power of modern HTML, CSS, and JavaScript to make web browsers do the work. If we work with the grain of the web, we can accomplish more and more with less and less code.
But that isn’t what happened. Instead developers have recreated form controls like dropdowns and datepickers from scratch using divs and lashings and lashings of JavaScript.
[…]
Let’s step back. Get some perspective. Instead of assuming that a single page app architecture is needed, ask what users need to accomplish. Instead of assuming you need a CSS framework or a JavaScript library, see what you can do in browsers today with native CSS and vanilla JavaScript. Don’t include a bunch of dependencies by default just in case you might need them.
Lean into what web browsers can accomplish today. If you find something missing, that’s the time to reach for a library … but treat it like a polyfill. Whereas web standards stick around, every library and framework comes with a limited lifespan. Treat them as cattle, not pets.
That last quoted paragraph resonates perfectly with this tweet I sent out earlier this year:
Someone asked me whether to start learning Tailwind or CSS.
I told them to learn CSS. That knowledge is relevant today, tomorrow, and still will be 10 years from now, when Tailwind is long gone.
— Bramus (@bramus) March 5, 2021
If you hit the Twitter thread, you can see that link to Pace Layers, something that Jeremy covered in his talks “The Layers Of The Web” and “Building” — also two talks worth your time.