Classic Visualforce VS Lightning Components

by Kristina Alexandra


Classic Visualforce Lightning Components
UI Generation Server-side Client-side (JavaScript)
Data and Business Logic Apex standard or custom controller Lightning Data Services, Apex controller
Workflow User requests a page The user requests an application or a component
The server executes the page’s underlying code and sends the resulting HTML to the browser The application or component bundle is returned to the client
The browser displays the HTML The browser loads the bundle
When the user interacts with the page, return to step one The JavaScript application generates the UI
When the user interacts with the page, the JavaScript application modifies the user interface as needed (return to previous step)
Pros Tried and true model Enables highly interactive and immersive user experiences
Easy to implement for greater productivity Aligns with Salesforce user interface strategy
Naturally splits large applications into small, manageable pages Built on metadata from the foundation, accelerating development
Has built-in metadata integration The Developer Console supports Lightning components, so there’s an integrated developer experience
Caveats Limited interactivity (aside from added JavaScript functionality) Higher learning curve compared to Visualforce
Higher latency, which degrades mobile performance Higher complexity than Visualforce—you’re building an application, not a page
Since Lightning components are new, there are still some features that aren’t supported
There are a limited number of out-of-the-box components