SlideShare a Scribd company logo
1 of 19
To build custom Web Pages on Salesforce
Visualforce
• Framework to build custom user interfaces on salesforce
• Hosted on force.com
• Build streamlined UX
• Create internal and public facing pages
• Customize for different devices – Responsive
• Leverage other web technologies
What is Visualforce?
Visualforce and MVC Pattern
Model
Controller
View
User Actions
Selects a new view if
required by user action
Controller updates
model as per user actions
View Queries
model for state
Model triggers
View update
Visualforce and MVC Pattern
Your Data
Your Logic
View
User Actions
Selects a new view if
required by user action
Controller updates
model as per user actions
View Queries
model for state
Model triggers
View update
Visualforce and MVC Pattern
Standard and
Custom Objects
Standard
Controllers
and
Apex
View/Pages
User Actions
Selects a new view if
required by user action
Controller updates
model as per user actions
View Queries
model for state
Model triggers
View update
MVC Example in Salesforce
MVC Pattern
Visualforce Pages
Visualforce Components
Standard Controllers
Apex Controllers
Custom UI
Custom Logic
Standard Objects
Custom Objects
• Visualforce tags
– 80+ standard components
– Custom components
• Works with all standard web technologies
including:
– CSS
– Javascript
– HTML
– Flash
– Any other Web-Enabled Code
Visualforce Markup
• Anything inside of {! } is evaluated as an expression
– Dynamic variables: {!Contact.Phone} or {!myApexVariable}
– Logic: {!IF(Opportunity.Stage == ‘Closed/Won’, val_if_true, val_if_false)}
– Functions: {!URLENCODE(Account.website__c)}
• $ provides access to global variables (User, Page, RemoteAction,
Resource, …)
– {!$User.FirstName} {!$User.LastName}
– {!$Resource.jquery}
– {!URLFOR($Resource.assets, ‘img/logo.png’)}
Expression Language
< apex:outputField value = “{!Restaurant__c.Address__c}” >
Standard apex components of visualforce
apex: or chatter:
prefix
Component
name (tables,
repeats, forms,
etc)
Attributes to
define
components
Data binding to
objects and class
variables
Reference field
using dot
notation
Merge field to define
attribute (can also be
a string literal in
some cases)
• Provides access to data
• Logic for handling UI interaction
• Standard Controllers
– Same functionality as standard pages
– Save, delete, field access etc.
• Custom controllers
– Written in Apex
– Override standard behavior
– Controller Extensions
Visualforce controllers
• Developer Console
• Development mode (browser plugin)
• Force.com IDE
Customizing Visualforce
Developer Console
• Embeds a Visualforce page editor in your browser
– see code and preview the page at the same time.
• Also adds Apex editor for editing controllers and extensions.
• To activate: Setup > My personal information > Personal information
Visualforce development mode
Visualforce development mode
Salesforce also made using Visualforce
Possibilities with Visualforce
Email Templates Embedded in Page Layouts Generate PDFs
Custom Tabs
Mobile Interfaces
Page Overrides
• Google charts
• AngularJS and Jquery
• Cookie sessions
• Document uploads
Visualforce integration
• http://developer.force.com/sitesgallery
– Cisco - certification and communities
– Ricoh Australia
– DeVry University
– VMWare – Partner Locator portal
– Force.com appexchange
Over 20,000 websites built on Force.com

More Related Content

What's hot

Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppRavi Teja
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introductionBhagath Gopinath
 
Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010Rishu Mehra
 
PowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application DeploymentPowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application Deploymentzulmach .
 
Angular patterns
Angular patternsAngular patterns
Angular patternsPremkumar M
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)drupalconf
 
Mogadala Printing Pdf
Mogadala Printing PdfMogadala Printing Pdf
Mogadala Printing Pdfmmogadala
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)Hatem Hamad
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africamagnificsmile
 
Rails Engines
Rails EnginesRails Engines
Rails Enginessean_todd
 
SharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapSharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapRoy Kim
 

What's hot (20)

Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside App
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010
 
PowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application DeploymentPowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application Deployment
 
Mvc
MvcMvc
Mvc
 
Class 10
Class 10Class 10
Class 10
 
Angular patterns
Angular patternsAngular patterns
Angular patterns
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)
 
App deployment
App deploymentApp deployment
App deployment
 
Mvc3 crash
Mvc3 crashMvc3 crash
Mvc3 crash
 
Mogadala Printing Pdf
Mogadala Printing PdfMogadala Printing Pdf
Mogadala Printing Pdf
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
 
Intuit Mobile Custom Views
Intuit Mobile Custom ViewsIntuit Mobile Custom Views
Intuit Mobile Custom Views
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online training
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
 
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JSJavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
 
Rails Engines
Rails EnginesRails Engines
Rails Engines
 
SharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapSharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and Bootstrap
 
Profile summary
Profile summaryProfile summary
Profile summary
 
Salesforce online training -GoLogica
Salesforce online training -GoLogicaSalesforce online training -GoLogica
Salesforce online training -GoLogica
 

Viewers also liked

Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce PresentationChetna Purohit
 
Coding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User InterfaceCoding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User InterfaceKeir Bowden
 
Coding the Salesforce User Interface with Visualforce Pages
Coding the Salesforce User Interface with Visualforce PagesCoding the Salesforce User Interface with Visualforce Pages
Coding the Salesforce User Interface with Visualforce PagesChristopher Lewis
 
Yelp Dataset Challenge 2015
Yelp Dataset Challenge 2015Yelp Dataset Challenge 2015
Yelp Dataset Challenge 2015Milind Gokhale
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginnershrakhra
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleJoshua Hoskins
 
Salesforce Intro
Salesforce IntroSalesforce Intro
Salesforce IntroRich Helton
 
Web Development on Web Project Presentation
Web Development on Web Project PresentationWeb Development on Web Project Presentation
Web Development on Web Project PresentationMilind Gokhale
 
Introduction to apex code
Introduction to apex codeIntroduction to apex code
Introduction to apex codeEdwinOstos
 
Salesforce CRM 7 domains of Success
Salesforce CRM 7 domains of SuccessSalesforce CRM 7 domains of Success
Salesforce CRM 7 domains of SuccessKevin Sherman
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best PracticesVivek Chawla
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemMilind Gokhale
 
Recommendation system
Recommendation system Recommendation system
Recommendation system Vikrant Arya
 

Viewers also liked (18)

Indian it industry
Indian it industryIndian it industry
Indian it industry
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 
Coding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User InterfaceCoding the Salesforce1 Platform User Interface
Coding the Salesforce1 Platform User Interface
 
Coding the Salesforce User Interface with Visualforce Pages
Coding the Salesforce User Interface with Visualforce PagesCoding the Salesforce User Interface with Visualforce Pages
Coding the Salesforce User Interface with Visualforce Pages
 
Internet marketing
Internet marketingInternet marketing
Internet marketing
 
Vf ppt (1)
Vf ppt (1)Vf ppt (1)
Vf ppt (1)
 
Yelp Dataset Challenge 2015
Yelp Dataset Challenge 2015Yelp Dataset Challenge 2015
Yelp Dataset Challenge 2015
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginners
 
One sample runs test
One sample runs testOne sample runs test
One sample runs test
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
 
Salesforce Intro
Salesforce IntroSalesforce Intro
Salesforce Intro
 
Web Development on Web Project Presentation
Web Development on Web Project PresentationWeb Development on Web Project Presentation
Web Development on Web Project Presentation
 
Introduction to apex code
Introduction to apex codeIntroduction to apex code
Introduction to apex code
 
Salesforce CRM
Salesforce CRMSalesforce CRM
Salesforce CRM
 
Salesforce CRM 7 domains of Success
Salesforce CRM 7 domains of SuccessSalesforce CRM 7 domains of Success
Salesforce CRM 7 domains of Success
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation System
 
Recommendation system
Recommendation system Recommendation system
Recommendation system
 

Similar to Visualforce

SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to VisualforceSujit Kumar
 
Visualforce for the Salesforce1 Platform
Visualforce for the Salesforce1 PlatformVisualforce for the Salesforce1 Platform
Visualforce for the Salesforce1 Platformsg8002
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5Daniel Fisher
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook ApplicationsWO Community
 
Webinar: Salesforce Customization using Visualforce and Lightning Component F...
Webinar: Salesforce Customization using Visualforce and Lightning Component F...Webinar: Salesforce Customization using Visualforce and Lightning Component F...
Webinar: Salesforce Customization using Visualforce and Lightning Component F...APPSeCONNECT
 
PLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfPLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfAlfresco Software
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSujit Kumar
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationMark Gu
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...SPTechCon
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFLuc Bors
 
"Umbraco MVC - a journey of discovery" - Lotte Pitcher
"Umbraco MVC - a journey of discovery" - Lotte Pitcher"Umbraco MVC - a journey of discovery" - Lotte Pitcher
"Umbraco MVC - a journey of discovery" - Lotte Pitcherlottepitcher
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8Thomas Robbins
 

Similar to Visualforce (20)

SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to Visualforce
 
Introducing Visualforce
Introducing VisualforceIntroducing Visualforce
Introducing Visualforce
 
Introduction to Visualforce
Introduction to VisualforceIntroduction to Visualforce
Introduction to Visualforce
 
Visualforce for the Salesforce1 Platform
Visualforce for the Salesforce1 PlatformVisualforce for the Salesforce1 Platform
Visualforce for the Salesforce1 Platform
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Creation&imitation
Creation&imitationCreation&imitation
Creation&imitation
 
Introduction to Visualforce Webinar
Introduction to Visualforce WebinarIntroduction to Visualforce Webinar
Introduction to Visualforce Webinar
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook Applications
 
Resume
ResumeResume
Resume
 
Webinar: Salesforce Customization using Visualforce and Lightning Component F...
Webinar: Salesforce Customization using Visualforce and Lightning Component F...Webinar: Salesforce Customization using Visualforce and Lightning Component F...
Webinar: Salesforce Customization using Visualforce and Lightning Component F...
 
PLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfPLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring Surf
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced Visualforce
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
 
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADFDont Reinvent the Wheel: Tips and Tricks for reuse in ADF
Dont Reinvent the Wheel: Tips and Tricks for reuse in ADF
 
Don't Reinvent the Wheel - Tips and tricks for rease in Oracle ADF - Luc Bors
Don't Reinvent the Wheel - Tips and tricks for rease in Oracle ADF - Luc BorsDon't Reinvent the Wheel - Tips and tricks for rease in Oracle ADF - Luc Bors
Don't Reinvent the Wheel - Tips and tricks for rease in Oracle ADF - Luc Bors
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
 
"Umbraco MVC - a journey of discovery" - Lotte Pitcher
"Umbraco MVC - a journey of discovery" - Lotte Pitcher"Umbraco MVC - a journey of discovery" - Lotte Pitcher
"Umbraco MVC - a journey of discovery" - Lotte Pitcher
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 

More from Milind Gokhale

Technology Survey and Design
Technology Survey and DesignTechnology Survey and Design
Technology Survey and DesignMilind Gokhale
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User StoriesMilind Gokhale
 
Aloha Social Networking Portal - SRS
Aloha Social Networking Portal - SRSAloha Social Networking Portal - SRS
Aloha Social Networking Portal - SRSMilind Gokhale
 
Aloha Social Networking Portal - Design Document
Aloha Social Networking Portal - Design DocumentAloha Social Networking Portal - Design Document
Aloha Social Networking Portal - Design DocumentMilind Gokhale
 
Android games analysis final presentation
Android games analysis final presentationAndroid games analysis final presentation
Android games analysis final presentationMilind Gokhale
 
Android gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalAndroid gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalMilind Gokhale
 
Buffer Trees - Utility and Applications for External Memory Data Processing
Buffer Trees - Utility and Applications for External Memory Data ProcessingBuffer Trees - Utility and Applications for External Memory Data Processing
Buffer Trees - Utility and Applications for External Memory Data ProcessingMilind Gokhale
 
Algorithms for External Memory Sorting
Algorithms for External Memory SortingAlgorithms for External Memory Sorting
Algorithms for External Memory SortingMilind Gokhale
 
Building effective teams in Amdocs-TECC - project report
Building effective teams in Amdocs-TECC - project reportBuilding effective teams in Amdocs-TECC - project report
Building effective teams in Amdocs-TECC - project reportMilind Gokhale
 
Building effective teams in Amdocs TECC - Presentation
Building effective teams in Amdocs TECC - PresentationBuilding effective teams in Amdocs TECC - Presentation
Building effective teams in Amdocs TECC - PresentationMilind Gokhale
 
Internet marketing report
Internet marketing reportInternet marketing report
Internet marketing reportMilind Gokhale
 
Change: to be or not to be
Change: to be or not to beChange: to be or not to be
Change: to be or not to beMilind Gokhale
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree LearningMilind Gokhale
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project ReportMilind Gokhale
 

More from Milind Gokhale (19)

Sprint Plan1
Sprint Plan1Sprint Plan1
Sprint Plan1
 
Technology Survey and Design
Technology Survey and DesignTechnology Survey and Design
Technology Survey and Design
 
Market Survey Report
Market Survey ReportMarket Survey Report
Market Survey Report
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
Aloha Social Networking Portal - SRS
Aloha Social Networking Portal - SRSAloha Social Networking Portal - SRS
Aloha Social Networking Portal - SRS
 
Aloha Social Networking Portal - Design Document
Aloha Social Networking Portal - Design DocumentAloha Social Networking Portal - Design Document
Aloha Social Networking Portal - Design Document
 
Wsd final paper
Wsd final paperWsd final paper
Wsd final paper
 
Android games analysis final presentation
Android games analysis final presentationAndroid games analysis final presentation
Android games analysis final presentation
 
Android gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalAndroid gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinal
 
Buffer Trees - Utility and Applications for External Memory Data Processing
Buffer Trees - Utility and Applications for External Memory Data ProcessingBuffer Trees - Utility and Applications for External Memory Data Processing
Buffer Trees - Utility and Applications for External Memory Data Processing
 
Algorithms for External Memory Sorting
Algorithms for External Memory SortingAlgorithms for External Memory Sorting
Algorithms for External Memory Sorting
 
Building effective teams in Amdocs-TECC - project report
Building effective teams in Amdocs-TECC - project reportBuilding effective teams in Amdocs-TECC - project report
Building effective teams in Amdocs-TECC - project report
 
Building effective teams in Amdocs TECC - Presentation
Building effective teams in Amdocs TECC - PresentationBuilding effective teams in Amdocs TECC - Presentation
Building effective teams in Amdocs TECC - Presentation
 
Internet marketing report
Internet marketing reportInternet marketing report
Internet marketing report
 
Change: to be or not to be
Change: to be or not to beChange: to be or not to be
Change: to be or not to be
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree Learning
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project Report
 
iGifts project_report
iGifts project_reportiGifts project_report
iGifts project_report
 
I gifts manual
I gifts manualI gifts manual
I gifts manual
 

Visualforce

  • 1. To build custom Web Pages on Salesforce Visualforce
  • 2. • Framework to build custom user interfaces on salesforce • Hosted on force.com • Build streamlined UX • Create internal and public facing pages • Customize for different devices – Responsive • Leverage other web technologies What is Visualforce?
  • 3. Visualforce and MVC Pattern Model Controller View User Actions Selects a new view if required by user action Controller updates model as per user actions View Queries model for state Model triggers View update
  • 4. Visualforce and MVC Pattern Your Data Your Logic View User Actions Selects a new view if required by user action Controller updates model as per user actions View Queries model for state Model triggers View update
  • 5. Visualforce and MVC Pattern Standard and Custom Objects Standard Controllers and Apex View/Pages User Actions Selects a new view if required by user action Controller updates model as per user actions View Queries model for state Model triggers View update
  • 6. MVC Example in Salesforce
  • 7. MVC Pattern Visualforce Pages Visualforce Components Standard Controllers Apex Controllers Custom UI Custom Logic Standard Objects Custom Objects
  • 8. • Visualforce tags – 80+ standard components – Custom components • Works with all standard web technologies including: – CSS – Javascript – HTML – Flash – Any other Web-Enabled Code Visualforce Markup
  • 9. • Anything inside of {! } is evaluated as an expression – Dynamic variables: {!Contact.Phone} or {!myApexVariable} – Logic: {!IF(Opportunity.Stage == ‘Closed/Won’, val_if_true, val_if_false)} – Functions: {!URLENCODE(Account.website__c)} • $ provides access to global variables (User, Page, RemoteAction, Resource, …) – {!$User.FirstName} {!$User.LastName} – {!$Resource.jquery} – {!URLFOR($Resource.assets, ‘img/logo.png’)} Expression Language
  • 10. < apex:outputField value = “{!Restaurant__c.Address__c}” > Standard apex components of visualforce apex: or chatter: prefix Component name (tables, repeats, forms, etc) Attributes to define components Data binding to objects and class variables Reference field using dot notation Merge field to define attribute (can also be a string literal in some cases)
  • 11. • Provides access to data • Logic for handling UI interaction • Standard Controllers – Same functionality as standard pages – Save, delete, field access etc. • Custom controllers – Written in Apex – Override standard behavior – Controller Extensions Visualforce controllers
  • 12. • Developer Console • Development mode (browser plugin) • Force.com IDE Customizing Visualforce
  • 14. • Embeds a Visualforce page editor in your browser – see code and preview the page at the same time. • Also adds Apex editor for editing controllers and extensions. • To activate: Setup > My personal information > Personal information Visualforce development mode
  • 16. Salesforce also made using Visualforce
  • 17. Possibilities with Visualforce Email Templates Embedded in Page Layouts Generate PDFs Custom Tabs Mobile Interfaces Page Overrides
  • 18. • Google charts • AngularJS and Jquery • Cookie sessions • Document uploads Visualforce integration
  • 19. • http://developer.force.com/sitesgallery – Cisco - certification and communities – Ricoh Australia – DeVry University – VMWare – Partner Locator portal – Force.com appexchange Over 20,000 websites built on Force.com