When I consider what contributed to the unravelling of J2EE, one thing that stands out is that it tried to do too much. The promise was that of infinite scalability based on tooling, which assumes that designing scalable systems is a general case problem. I now firmly believe that this is flawed reasoning. Frameworks don’t solve scalability problems, design solves scalability problems.
I picked up a word from Joe a few years back and find myself using it a lot: “friction.” When referring to framework and tooling, “friction” is a (subjective) measure of how much the tooling gets in your way when trying to solve a specific-case problem.
I’ve come to evaluate frameworks based on two rough metrics: how far the framework goes in solving the general case problem out of the box and how little friction the framework creates when you have to solve the specific-case problem yourself. When a framework finds a balance between these two areas, we call it “well designed.”
Thank you for reading my work.
Did you enjoy this post? You can find more like it in the sidebar. Please browse the archives,
there are lots of hidden gems. A Brief
History of Dangerous Ideas explains what I am up to at the moment.
Comments on “Ryan Tomayko on Friction and Frameworks”: Post a Comment