Wow who would have thought I would be writing about Visualforce in 2020. My first experience with it was seven years ago when I first entered the Salesforce ecosystem. I remember watching some of the academy videos when Leah McGowen-Hare (now, VP of Trailblazer Community & Trailhead Evangelism at Salesforce) would explain the very fundamentals of this tagging language.
Let me explain further what I mean when I say tagging language…
Ultimately, Visualforce is a framework, it’s there to help develop custom user interfaces that can be hosted natively on the Lightning platform. The Visualforce framework includes a tag-based markup language, similar to HTML, and a set of server-side “standard controllers” that make basic database operations such as query and save.
In the markup language each Visualforce tag is a user interface component, such as a section of a page, a related list, or a field.
The behavior of these components can either be controlled by the same logic that is used in standard Salesforce pages, or developers can instead associate their own logic with a controller class written in Apex.
Visualforce is available for desktop browsers and in the Salesforce mobile app. For desktop browsers, it’s available in both Lightning Experience and Salesforce Classic.
Before Lightning
Before Lightning Experience, Visualforce was the way one you could have more complex pages that extended beyond what you could do out of the box for the user interface:
- beyond the standard pages
- let’s not forget about the custom dashboard components
- you can add a Visualforce Tab in your navigation
- open a VF page from the App Launcher
- or even add a component in a Lightning page
- as a quick action
- to override standard buttons and links
… you name it!
Look at this, mind blowing what I still have around in my developer edition! I’d created this Visualforce page in 2015 to embed a flow:
In the post Lightning world
Visualforce is still around, and you may find it in Salesforce orgs that you come across, think of it as Page-centric with all backend processing being done with Apex Code on the Server-Side whilst Lightning is App-centric with the components themselves that can either have the logic process on the Client-Side (using JavaScript code) or on the Server-Side (using Apex Code) depending on what the component is designed to do.
It’s good to know about Visualforce and also good to understand where we come from to get where we are all going! If you’re new to Salesforce invest your time to learn Lightning over Visualforce. Why? Because the Lightning Component Framework grows in richness (and beyond) of what VisualForce can do after all, it’s been around since 2006.
More information
Wanna have a play with it? Of course you do! Here’s a Trailhead here to help you on your Visualforce way:
Link: https://trailhead.salesforce.com/en/content/learn/modules/visualforce_fundamentals
Also in the Salesforce Developer Guide you have a quick start: https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start.htm