DEV Community

Jim Burbridge
Jim Burbridge

Posted on • Updated on

A(nother) Todo List

I've been working on the web since 2001, when I first got in to HTML, CSS, and Javascript. The internet of 2001 is not the same internet that we have today, and that is in no small part to the updates of all three of the web's technologies. However, with this growth has come some changes in how people actually develop for the web: frameworks.

When I started there was nothing fancy-- If you wanted to do things in Javascript you needed to learn how to use Javascript and the Document Object Model (DOM). This was ... well quite honestly it was awful, and honestly it's still not great -- but it is doable.

Normally, I don't tend to think about this anymore. I trust that the teams responsible for the frameworks I use put much more time in caring how they deal with the DOM on a webpage than I ever will. However, I am active in places like StackOverflow and Quora. Recently, on Quora I saw a question that I've seen many times, and that I've ignored just as many times:

Why should I learn (React / Angular / Vue / another framework or library)?

The other day when I read the first thing I said internally was "because most people don't want to have to deal with the DOM themselves." While that statement might be broadly correct, it occurs to me that I know plenty of people who can work in React or Vue or Angular, but who would absolutely have no idea how to build the same functionality in a framework-less world.

I had started writing a response when an idea hit me: "Instead of just telling them about how dealing with the DOM is annoying, just make a quick app that doesn't use anything outside of pure JS."

So, I did. I call the project "Vanilla Todo" and in it I have attempted to imagine myself as someone who is a recent entry into the world of web development, and that they are somehow unaware of the many frameworks and libraries that now live on the front end.

Each branch of Vanilla Todo will progress through stages that I myself can remember hitting when I was new to the web. The first branch is "version 1" or "I put this together in a craze and it works!". Each branch from there will modify the repository, both in code structure and in implementation, until such time that I (hope) a new user will understand why people have flocked to front-end frameworks.

The repository is still in it's earlier stages, with two branches being overall done, and I am working on others as we speak.

The link for the repository is

I will be making posts to talk about each branch in a bit more detail, and possible things that people could do to try out different ways of dealing with the DOM.

Top comments (1)

tekiegirl profile image
Jacqui Read

A really nice idea. Don't tell them, show them 😁