The term "component" is overloaded in frontend development. There are Web Components, Angular Components, Ember Components, and React Components. What makes them different? How do these all behave?
Examine the principles behind these various types of components and how they address the concepts of reusability, modularity, and encapsulation. Under the hood, these different approaches often solve the same problems, but there are tradeoffs.
You'll see a set of examples built with Web Components, Angular, Ember, and React that demonstrate how the different approaches work and expose some of the limitations they have.