Hmmm, this sounds weird as a blog post title. Let’s go for it! Of course I’m talking about the perspective of the backend programmer (you filthy pig), and my confession is this:
I like frontend stuff.
Well, not all of it, obviously (npm-dependencies *cough* left-pad *cough* ansi-styles), but the juicy low-level bits.
- I get excited about native HTML tags: <dialog>, color pickers, calendars, <details>, <progress>
- I get irritated (or excited?) when the default gadget colors change.
- I pee my pants a little at the prospect of nested CSS rules without a preprocessor. Like… cas-ca-ding styles! In a sheet! Soon…
- It is a rewarding exercise to figure out stuff like this, again and again:
- What’s the CSS spell to prevent an element from outgrowing its parent?
- How do I make an unordered list that can adapt its number of columns?
- Quick, does the border width get added to the overall size or not?
- What’s the format of data URLs, and how small can I crush this PNG?
- Is the raw pixel format of image buffers ARGB or RGBA?
- The holy grail: How do I center an element?
- You can change the effing mouse cursor with a CSS declaration!
- Oh yeah, JavaScript has /regex/ literals, keep forgetting that one.
- It’s fast! You can emulate an Amiga in the browser! *
I guess I should point out: I’m not being sarcastic here. I know many backend developers seem to frown upon frontend stuff. That’s understable – work is work, and then there’s the whole npm/react/bloat hell. But pausing my backend work and turning to the browser is just… refreshing. Even better when I have a little side project where frontend and backend work hand in hand. Full control! Data! Pixels!
There’s enough horrible frontend stuff to be grumpy about, for sure. Horrible, ugly abominations of bloat and insanity. But coming from the age of Internet Explorer 4, table-based layouts, and the gentle beginnings of DHTML: You’re doing okay, frontend!
Oh, and enjoy the little mouse pointer some more, it gave me the impulse to write this post. :)
*) I know, I know, that’s not really new. Still awesome!