What is Component-Driven?
To achieve great user experience, modern applications needs to be highly interactive, fast, and accessible from hundreds of different devices with different resolutions. This moves a lot of responsibility to the user interface. Every portion of the screen can appear in a lot of different states and depend on other parts of the application. As the product evolves, the complexity of the user interface increases. And with it, our responsibility as UI developers.
Component-driven development approach is based on the idea of composing complex user interfaces from small components, and minimizing custom styles in favor of primitive component composition.
With the component-driven approach applications are designed & built from bottom to top, instead of top to bottom.
Additionally, component-driven approach encourages design and development of components independently from the application's code. This leads to a better software architecture and can speed up the development process significantly due to a much shorter feedback loop. It encourages developers write reusable, modular components, and document them before even using in the application.