Yes, We Still Do Need HTML & CSS

In case some of you haven't heard of it, there’s a debate going on between developers, more specifically, front-end developers over the use of HTML&CSS vs a JS-only approach. Branded as the HTML-CSS-JS vs JS-JS-JS wars, lots of people took to Twitter to argue about which approach is the best.

Normally, there shouldn’t even be a divide between whether CSS or JS is better, as they serve different roles but with the explosive growth of so many Javascript frameworks, some people started underestimating the value of writing semantic HTML&CSS and began to solve every layout problem using Javascript. Mandy Michael made an excellent point on this issue in her article: Is there any value in people who cannot write JavaScript?”:

When every new website on the internet has perfect, semantic, accessible HTML and exceptionally executed, accessible CSS that works on every device and browser, then you can tell me that these languages are not valuable on their own. Until then we need to stop devaluing CSS and HTML.

CSS and HTML are underappreciated, and the code is suffering as a result. I learned web development coming from a design position, and like so many people I was introduced to web development through HTML&CSS. There’s a mountain of difference between the quality of websites with jumbled up gobbledegook code written vs the ones with artisanal clear HTML-CSS-JS code. People think that CSS and HTML just don’t matter, they don’t need optimizing or maintainability.

Currently, there are two kinds of people entering the web development field:
- People who started by fiddling with HTML and CSS and learned Javascript.
- People who started out as full-stack engineers armed with Bootstrap.

I’m a coding bootcamp student myself and as in all bootcamps, the focus is on Ruby, Rails and React. However, I’m glad my entry point to the industry was HTML&CSS. It taught me about the layout, cross-browser compatibility, usability, user experience. By trying to get rid of HTML and CSS, they‘re not only ignoring the most important building blocks of the web but making it harder for people to enter the profession.

What’s making it worse is, developers with a programming focus dismiss it because JavaScript is more lucrative, leaving the CSS and HTML to be written purely by non-programmers such as designers or front-end designers, inevitably resulting in less maintainable code, and less focus on code principles, reusability, optimization and other important tenants of programming. As programmers and developers, we shouldn’t only be focusing on what’s going on behind the curtains.

It’s easy to write off CSS and HTML as ‘not a real language’, and it seems too many people treat it as such. This means that so little focus is given to properly laying out the document, and the markup suffers as a result. Websites become clunky and over-reliant on JavaScript or even dependent on it and the usability of some websites turns into an absolute nightmare. Maintainability is utterly devoid at times, and adding additional content into layouts can completely break them as the layout was not properly structured to be able to adapt and respond to its context.

We need to have much more respect for HTML and CSS and start seeing them as important languages in their own right. We need to treat those who write it as developers and instill the (already existing and readily available) principles in our projects. In short, we need to become less obsessed and focused purely on Javascript.

Sure, Javascript can solve many problems and it is getting better at solving problems but that doesn’t mean it’s the best or only solution for every problem. A lot of times, Javascript is necessary, but sometimes — if the document can be more meaningfully structured in the first place — by using Javascript we are simply putting metal plates over potholes.

UX Developer, Writer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store