John Holdun

Building Frontends

A collection of principles I think are important when building things that live in a browser. Getting more organized all the time.

If you're working on the backend, I also have a lot of ideas about The Elements of APIs.

The Goal

We are building a website or a web application. We want it to work well and achieve the goals of our stakeholders, or company, or project. It should be stable and efficient. Our users' experience should be pleasant if not delightful. Our experience, and the experience of our fellow developers, should also be pleasant. Maintenance and the addition of new features over time should be straightforward and unsurprising.

Toil, like updating dependencies and migrating frameworks, should be minimal. We should be able to step away from the project for some reasonable period of time without anything breaking, and we should be able to come back after some reasonable period of time to resume work and not have to spend much time remembering how everything works. Additional developers should be able to join us in working on our web thing without having to learn many new technologies or ideas.

Approach

[^1]: This is my spiciest opinion, and even if you disagree with this point, the other parts of this guide apply to Jamstack applications too. But please, take some time to think about this one.

HTML and CSS

Javascript

Data and Props