As a markup language, Visualforce provides the following benefits:
- User-friendly development
- Developers can edit their Visualforce markup in the same window that displays the resulting page. Consequently,
developers can instantly verify the result of an edit just by saving
their code. The Visualforce editor pane also includes auto-completion and syntax highlighting.
-
Visualforce also supports “quick fixes” that allow developers
to create supporting components on the fly. For example, a developer
can define a new Visualforce page simply by logging in to Salesforce and
then entering the name of the new page in a URL. Much like a wiki,
if the page does not yet exist, the platform creates it for you.
- Integration with other Web-based user interface technologies
- Because Visualforce markup is ultimately rendered into HTML, designers can use Visualforce tags alongside standard HTML, JavaScript, Flash, or any other code
that can execute within an HTML page on the platform, including Force.com platform merge fields and expressions.
- Model-View-Controller (MVC) style development
-
Visualforce conforms to the Model-View-Controller (MVC) development pattern
by providing a clear division between the view of an
application (the user interface, defined by Visualforce markup), and the controller that determines how the
application works (the business logic, defined by a Visualforce controller written in Apex). With this architecture, designers and developers can easily
split up the work that goes with building a new application—designers
can focus on the look and feel of the user interface, while developers
can work on the business logic that drives the app.
- Concise syntax
-
Visualforce pages can implement the same functionality as s-controls but
with approximately 90% fewer lines of code.
- Data-driven defaults
-
Visualforce components are rendered intelligently by the platform. For example,
rather than forcing page designers to use different component tags
for different types of editable fields (such as email addresses or
calendar dates), designers can simply use a generic <apex:inputField> tag for all
fields. The Visualforce renderer displays the appropriate edit interface for each field.
- Hosted platform
-
Visualforce pages are compiled and rendered entirely by the Force.com platform. Because they are so tightly integrated, they display the
same performance as standard Salesforce pages,
regardless of the amount of data being displayed or edited.
- Automatically upgradeable
-
Visualforce pages do not need to be rewritten when other parts of the Force.com platform are upgraded. Because the pages are stored as metadata,
they are automatically upgraded with the rest of the system.