Editor's Pick
Importing a frontend Javascript library without a build system
I like writing Javascript without a build system and for the millionth time yesterday I ran into a problem where I needed to figure out how to import a Javascript library in my code without using a build system, and it took FOREVER to figure out how to import it because the library’s setup instructions assume that you’re using a build system.
Luckily at this point I’ve mostly learned how to navigate this situation and either successfully use the library or decide it’s too difficult and switch to a different library, so here’s the guide I wish I had to importing Javascript libraries years ago.
Accessibility
Alt Text: Don’t Just Describe Images
Write alt text that communicates an image's purpose without repeating page content. Focus on meaning rather than visual description.
What Makes a Font Accessible? A Designer's Guide
Discover the key characteristics of accessible fonts and learn best practices for selecting and combining typefaces that ensure readability for all users.
CSS
State of CSS 2024
Here are the results of the 2024 State of CSS survey which ran from August 17 to September 12 2024, and collected 9,704 responses.
From the conclusion:
"Over the past two years, CSS has evolved so much that keeping up with all the new features feels like a full-time job. This means there are many topics and ideas to explore and experiment with."
Make creative borders with background-clip border-area
For years, we’ve had the ability to create a border using border-image — where an image gets sliced up into nine pieces and reassembled to separately construct the corners and sides of a box. Now with background-clip: border-area, we can instead apply a background image to a border. It can simply fill the whole border in one piece.
Support for background-clip: border-area is available today in Safari Technology Preview and in Safari 18.2 beta.
You can see all of the demos in one place here.
HTML
State of HTML 2024
Here are the results of the 2024 State of HTML survey, which ran from September 12 to November 5, 2024, and collected 5,402 responses.
From the conclusion:
"To close, it's heartwarming that most respondents agree that, overall, interoperability is now much less of an issue than it used to be, with clear improvements being felt in recent years. And, with the increasing number of capabilities we're getting, building performant, accessible, and interactive HTML-first UIs is becoming easier all the time, making it possible to reduce JavaScript usage to where it truly matters, and letting web servers and browsers communicate how they were meant to: with HTML!"
JavaScript
JavaScript dos and donts
This is an old practice that has gotten lost in the ways with the manufacture of JavaScript industrial complex/ecosystems and frameworks. I hate to be the one to tell old tales but this is just another reminder that you can absolutely avoid dependency hell.
I am sad to see new comers to web developments being bombarded with what you “MUST KNOW” when those things are absolutely optional for web development. One should not need to have npm installed in the first two months of your web development bootcamp, despite what the industry perpetuates. I am disappointed that our once open and low barrier entry to web development was raised so unncessarily and arbitrarily high that we don’t even know exactly what we are serving to users.
You Can't Build Interactive Web Apps Except as Single Page Applications... And Other Myths
I often encounter discussions on Reddit and YCombinator where newer developers seek tech stack advice. Inevitably, someone claims it’s impossible to build a high-quality application without using a single-page application (SPA) framework like React or AngularJS. This strikes me as odd because, even before the SPA revolution, many popular multi-page web applications offered excellent user experiences.
Two years ago, I set out to build an observability platform and chose to experiment with a multi-page application (MPA) approach using HTMX. I wondered: Would a server-rendered MPA be inadequate for a data-heavy application, considering that most observability platforms are built on ReactJS?
What I discovered is that you can create outstanding server-rendered applications if you pay attention to certain details.
Importing a frontend Javascript library without a build system
I like writing Javascript without a build system and for the millionth time yesterday I ran into a problem where I needed to figure out how to import a Javascript library in my code without using a build system, and it took FOREVER to figure out how to import it because the library’s setup instructions assume that you’re using a build system.
Luckily at this point I’ve mostly learned how to navigate this situation and either successfully use the library or decide it’s too difficult and switch to a different library, so here’s the guide I wish I had to importing Javascript libraries years ago.
Meet Angular v19
In the past two years we doubled down on our investment in developer experience and performance — in every single release we’ve been consistently shipping improvements that multiply their impact when combined together. Seeing the positive community response and increased engagement in our developer events is validating that we’ve been moving in the right direction. Today’s release is bringing a series of improvements that will make it even easier for you to deliver fast web apps with confidence.
How to Set Up Next.js 15 for Production in 2024
I've worked on Next.js applications that scaled to over 100k monthly active users and landing pages with millions of monthly visitors. In this article, I'll share all the lessons I've learned through countless iterations.
Whether you're part of a small team of one, two, or three developers, or you work on a massive Next.js project with multiple teams on the same codebase, it's critical to get the foundation of your app right from the start. Even if you're working on an existing project, you will discover some hard-earned insights that you can apply to your app today.
Using localStorage in Modern Applications - A Comprehensive Guide
This guide explores localStorage in JavaScript web apps, detailing its usage, limitations, and alternatives like IndexedDB and AsyncStorage.
Handling Cookies is a Minefield
When I first discovered this in the real world, it was only through sheer luck that it wasn't a catastrophe. A manual tester was playing around with a third-party library update and had run into a strange set of errors on our testing site. Without bringing it to my attention, this update — doing something unlikely to be caught in automated testing — would have certainly been pushed to production. As a result, every future website visitor would have received a broken cookie and been locked out with an inscrutable error until the update was reverted and the cookies were cleared out.
And that's exactly the problem with this specification ambiguity — it's such an easy mistake to make that millions of websites and companies are only an intern away from a complete meltdown. And it doesn't only affect tiny websites on obscure frameworks, as major websites such as Facebook, Netflix, WhatsApp, and Apple are affected.
UX
Should destructive buttons be hard to find?
Why sharing your work and getting a second pair of eyes on it can be beneficial.
Miscellaneous
Will we care about frameworks in the future?
I'm of the belief that software development is entering a radical shift that is currently driven by agents like Replit's and there is a world where a person never actually has to manipulate code directly anymore. As I was making broad and sweeping changes to the functionality of the applications by throwing the Agent a couple of prompts here and there, the software didn't seem to care that there was repetition in the code across multiple views, it didn't care about shared logic, extensibility or inheritability of components... it just implemented what it needed to do and it did it as vanilla as it could. I was just left wondering if there will be a need for frameworks in the future? Do the architecture patterns we've learnt over the years matter? Will new patterns for software architecture appear that favour LLM management?
Is CS the New Art Degree?
The reality is, companies are still desperate for great talent. The problem is that the bar for "great talent" keeps rising, and not everyone can clear it. It’s not that CS has lost its value—it’s that the field has matured, and the days of coasting by are over.
Unlike art, where job markets are genuinely limited, CS has opportunities if you put in the work to stand out. Sure, not everyone will succeed. But that’s true in any competitive field. The difference is that CS still has a much higher ceiling for those who put in the effort.
Introducing our grid-aware websites project
Our mission at Green Web Foundation is working towards a fossil-free internet by 2030.
One of many solution areas we’ve been exploring for a while is carbon-aware. This is the practice of programming digital services to respond to the carbon intensity of electricity, and modify loading behaviour or content accordingly. Carbon intensity is a measure of the CO2 emissions associated with the fuel mix (the balance of renewable, low-carbon, and fossil fuel energy) used to generate the electricity of a particular region or activity.
Our overall goal is to provide a toolkit – code, documentation and case studies – to enable developers to make informed, environmentally conscious design decisions whilst maintaining the creative freedom to implement these changes in ways most appropriate to their specific websites and apps.
Ultimately we hope this project considerably reduces the barrier to entry for developers seeking to build grid-aware websites, and unleashes the creative potential of how the website industry can reduce its carbon footprint through contributing to the goals of electricity grid operators.