The Frameworks Paradox

Published on April 2, 2020 (↻ October 3, 2023), filed under (RSS feed for all categories).

The more complex a website, the bigger the need for a framework, the less effective an external framework.

This is not new, and not even a paradox because an internal—homemade—HTML/CSS framework is always an option. However, it’s an often missed fact that external frameworks, no matter their short-term advantages, come with many problems down the road.

You know best the needs for your projects, and from a certain complexity on, an external framework inevitably means lower quality at a higher cost compared to an internal framework.

At its core, the situation has not changed since 2015, when The Little Book of HTML/CSS Frameworks was released (cf. the updated German edition from 2019). Yet I wonder how much time we have until web developers don’t even write their own style sheets anymore—let alone frameworks.

Update (April 22, 2020)

As I’ve said elsewhere, the frameworks paradox is exactly why at Google we developed Go and Maia (the internal, not well-known HTML/CSS frameworks), why Twitter created Bootstrap, why Facebook developed React, &c. pp.

At a certain complexity you need your own solution—a solution tailored to your needs.

In an ironic twist (or, as this post wants, paradoxically), internal frameworks that were made available externally have blurred the understanding of what frameworks are, what they’re there for, and when they’re needed and not needed. This may not implicate you—but it definitely implicates our field.

Was this useful or interesting? Share (toot) this post, or maybe treat me to a coffee. Thanks!

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens (long: Jens Oliver Meiert), and I’m a frontend engineering leader and tech author/publisher. I’ve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on I share some of my views and experiences.

If you want to do me a favor, interpret charitably (I speak three languages, and they can collide), yet be critical and give feedback for me to learn and improve. Thank you!