Over the past several years, Salesforce has created a comprehensive
platform for building on-demand applications. Like other sophisticated application development
platforms, the Lightning platform offers separate tools for defining:
- The structure of the data—that is, the data model
- The rules that detail how that data can be manipulated—that is, the
business logic
- The layouts that specify how that data should be displayed—that is, the
user interface
While the tools for building the data model and business logic for
applications are powerful solutions that run natively on Lightning platform servers, the
existing tools for defining user interfaces have had certain limitations:
-
Page layouts, the point-and-click tool that allows application developers to
organize fields, buttons, and related lists on record detail pages, do not provide much
flexibility in how sets of information are displayed. Fields must always appear above
related lists, buttons must always appear above fields, and s-controls and custom links
can only be placed in particular areas.
-
S-controls, the tool that allows application developers to display custom HTML in
a detail page or custom tab, provide more flexibility than page layouts, but:
- Execute from within a browser, causing poor performance if displaying or updating
values from more than a few records at a time
- Do not provide an easy way to give custom user interface elements the same
look-and-feel as standard Salesforce pages
- Require developers to enforce field uniqueness and other metadata dependencies on
their own
For these reasons, Salesforce has introduced Visualforce, the
next-generation solution for building sophisticated custom user interfaces on the Lightning
platform.
Visualforce is available for desktop browsers and in the Salesforce mobile app. For desktop
browsers, it is available in both Lightning Experience and Salesforce Classic. Visualforce pages and custom iframes aren’t supported in Lightning
Experience on iPad Safari.