The Lightning Component framework is a component-based framework.
1)As building blocks of an app, components encapsulate HTML, JavaScript, and CSS, while interacting via events. Lightning components are client-side centric, making them more dynamic and mobile friendly.
2)Contrastingly, Visualforce components are page-centric and relies heavily on server calls. Visualforce facilitates delivering of template-driven web pages and email messages, making it suitable for developers who wish to maintain greater control over the lifecycle of the request.
- As building blocks of an app, components encapsulate HTML, JavaScript, and CSS, while interacting via events. Lightning components are client-side centric, making them more dynamic and mobile friendly.
- Contrastingly, Visualforce components are page-centric and rely heavily on server calls. Visualforce facilitates the delivery of template-driven web pages and email messages, making it suitable for developers who wish to maintain greater control over the life cycle of the request.
So, in NUTshella nutshell, you will use lightning for building apps that are compatible across multiple device and it enforcesdevices. It forces you to follow event driven-driven patterns and the component based-based approach so that, in the future, it allowswill allow the consumer of a component to focus on building their app, while the component author can innovate and make changes without breaking consumers.