This article is about the secrets of component thinking to build scalable and maintainable projects.
Components are units of code that are nestable, reusable and decoupled. They help you to don't repeat yourself writing the same functionality or HTML tags multiple times. They ease the process of thinking because in a modern architecture everything is just a component. You don't need to figure out how to structure your project in logical parts. This makes your project also much more maintainable when you work in a team.
Most developers think about React, Vue.js or "Web Components" when they hear components. But you can apply this design pattern to every technology. It works especially well in frontend development.