Now that Lightning is here, what’s the future of Visualforce? (in short – Visualforce vs Lightning)

As a developer, just curious to know what’s the future of Visualforce (pages, components, email templates, etc..) ??

I believe for sure there will be backward compatibility so that the existing ones will still run.

But what’s gonna happen next (say after couple of releases when lightning becomes GA & goes mainstream). ??

  • will Salesforce stop customers from using VF for new development ?

  • will VF & L work together (like embed one in another or call one from

  • is it possible to migrate / upgrade existing VF to L without
    rewriting ?

Just a few questions i can think of now.. but in general if any of you know more details on these, please share with us..



Some of your questions are addressed in the Lightning FAQ.

Q: What happens to my existing Visualforce Pages?
A: They’ll continue to be supported in the current UI.

Q: Will Lightning Components be replacing Visualforce?
A: No

Q: Does Lightning work with Visualforce?
A: Yep. See Add Lightning Components to Visualforce Pages in the Lightning Components Developer’s Guide for details. Using Lightning-out you can even deploy your lightning components outside of Salesforce Servers.

The most useful:

(Update:Lightning components are GA as of Winter’16 release)

Q: After Lightning Components are GA, when would it still be appropriate to use Visualforce?
A: Visualforce provides the facility for delivering template-driven web pages and email messages. In addition, developers wishing to simply utilize a basic container and maintain more control over the lifecycle of the request may choose Visualforce pages. Finally, organizations that can’t use Apex code can’t use Lightning Components, but they can use Visualforce.

Some more thoughts:
There is not automatic VF page/controller to Lightning component conversion. There will be some level of re-write necessary, but the amount depends on the structure of your current VF page.

If, for example, you handle page to controller communication through static @RemoteActions in an Apex Controller using JSON, your own value objects, or sObjects to carry the payload, you might be able to get a decent amount of reuse by changing @RemoteAction to @AuraEnabled and then plugging in calls to it in your component helper.

It would be ideal if there was Lightning on the desktop to replace the current UI, but I don’t know of it, personally. I’m sure it would be a bit before that would be ready, though.

Source : Link , Question Author : Vamsi Krishna Gosu , Answer Author : Mahmood

Leave a Comment