Excerpted from Medium.com
And when we finally wrap our heads around the module mess, we’re still left with a variety of definitions for “component”, which is where the confusion begins to get opinionated.
Way back in 2011, the Web Hypertext Application Technology Working Group (WHATWG) defined the Component Model to complement its work on the all-important Document Object Model (DOM).
To quote from the WHATWG wiki: “The Component Model introduces comprehensive support for creating DOM elements.” And it goes on to explain that “the Component Model formalizes the concept of loosely coupled, coherent units of behavior in the Web platform.”
This was at a time in history when you could explain it this way — to the delight of everyone: “Examples include layout managers, combinations of Dojo and jQuery widgets, isolated widgets, such as Like/+1 buttons, and built-in HTML elements themselves.”