SlideShare a Scribd company logo
Lightning Design System and Components for Visualforce Developers
Forward-Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed
or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-
looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any
statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned,
or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality
for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results
and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated
with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history,
our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer
deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further
information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for
the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing
important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available
and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features
that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Go Social!
Salesforce Developers
Salesforce Developers
Salesforce Developers
The video will be posted to YouTube & the
webinar recap page (same URL as registration).This webinar is being recorded!
@salesforcedevs
Have Questions?
● Don’t wait until the end to ask your question!
● Technical support will answer questions starting now.
● Respect Q&A etiquette
● Please don’t repeat questions. The support team is working their
way down the queue.
● Stick around for live Q&A at the end
● Speakers will tackle more questions at the end, time-allowing
● Head to Developer Forums
● More questions? Visit developer.salesforce.com/forums
Agenda
● Visualforce Overview
● Lightning Experience Overview
● Adopt Visualforce in Lightning Experience
● Lightning Component Overview
● Lightning general guidelines
● Usage of Visualforce and Lightning Components
● UI framework to build custom pages for the Salesforce platform
● Tag-based markup language, similar to HTML, and a set of server-side “controllers” to
handle data and custom functionality.
● Content is rendered in server and displayed in browser.
● Ways of using Visualforce: Page or Component
● Usage of Visualforce:
● Override => Tabs, Standard Actions like New, View or Edit
● (Classic, LEX and Salesforce Mobile)
● Custom Tabs, Buttons and Links
● Inside page layout
Overview of Visualforce
● Metadata-driven tags
● Model-View-Controller pattern
● Data secured since it is hosted on Salesforce platform
● Dynamic rendering & synchronous data transfer
● Complex UI requirements can be addressed using JS frameworks
Benefits
● Limited Interactivity since server call needed to manage data
● Higher Latency especially on Mobile - not designed for mobile
● View state limited to 135kb
● Not built for Lightning Experience
Caveats
● Modern user experience from Salesforce
● LEX is a Single Page Application(SPA)
● Current view is rewritten dynamically based on User actions
● Page does not necessarily refresh
● Relies on Javascript for interactivity
● LEX’s one.app act as container where the UI components live
Overview of Lightning Experience(LEX)
● Comprises of entities which reflects core design principles to develop UI for Salesforce
Apps
● Similar to Twitter Bootstrap
● SLDS ships 4 resources which helps us to develop apps to matches Salesforce Look and
Feel
● CSS framework
● Icons
● Fonts
● Design Tokens
Salesforce Lightning Design System(SLDS)
● Build Visualforce using SLDS to match the Lightning platform look and feel
● For context aware UI, use lightningStylesheets option(beta)
● For better performance, we can use 3rd party MVC frameworks like AngularJS
● Build the whole functionality in Lightning Component
Moving to Lightning!:
● Lightning Design System helps to match the look and feel of the Salesforce app
● Set standardStylesheets="false"(Recommended)
● Use <apex:slds />
● Use appropriate class as mentioned in the SLDS website
Styling beyond lightningStyleSheets
● Deliver appropriate UI theme based on environment (Classic or LEX) use
● lightningStylesheets="true"(beta)
● May need some tweaks in the markup
● In Classic, Visualforce page will be rendered in standard classic styles
● In Lightning Experience, Visualforce components will automatically pickup the SLDS styles
Changing the UI theme
StandardStyleSheet In Classic
lightningStyleSheet In LEX
Demo
● UI framework for developing dynamic web apps for mobile and desktop devices
● First choice framework to develop UI in Lightning Experience
● Built on the open source Aura framework
● Tag based similar to HTML and Visualforce and uses Javascript to manage data
● Can leverage Apex or Lightning Data Service for data access
Overview of Lightning Component Framework
● Composing UI into potentially reusable units
● Supports OOP concepts like Inheritance, Interfaces,.. etc
● Event-driven mechanism to communicate with other components
● LockerService restricts unauthorised access to the component internals
Benefits
● Learning curve is high compared to Visualforce
● Unlike Visualforce page, identifying and composing Application into components needs to
follow best practices.
● Not all 3rd party libraries can be used
● No Advanced In-built features like renderAsPDF, charting,.. supported at the moment
Caveats
● Understand the architectural difference between Visualforce and Lightning Component
● Page-by-Page vs Single-Page Application
● Page vs Component Lifecycle
● Modifying the DOM
● Coding
● Understand Javascript nuances
● Debugging
● Browser developer tools
● Salesforce Lightning Inspector
● Salesforce CLI
Considerations moving to Lightning Component
● Identify the parts of the page which can be developed as a component
● The "part(s)" can be a specific feature or a group of features which solves a use-case
● Don’t overload a component by putting everything into it
● Don’t over complicate stuffs by creating everything as components
● Not all components are reusable, but it can be potentially reusable
● Custom table row (<tr />) component for a editable table component
Building Lightning Component
Working with Data
Visualforce Lightning Component
Standard Controller <apex:page
standardController=”” />
Lightning Data Service(LDS)
Eg: <force:recordData ../>
Custom Controller <apex:page controller=”” /> <aura:component controller=””
/>
Extension Controller <apex:page
standardController=””
extension=”” />
Combine LDS and custom
controller
Standard List Controller <apex:page
standardController=””
recordSetVar=”” />
In the road map
● No need to use custom controller
● Record is shared across all components on a page/view
● Promotes consistency
● Notifies component when the record changes
● Best way to do CRUD Operations when working with a single record
Lightning Data Service
Working with Data(Cont..)
● Available only in Lightning Experience and Salesforce app
● Lightning Components for Visualforce, Lightning Out, or Communities isn’t supported
● Supports only primitive DML operations - create, read, update, and delete of single record
● Doesn’t notify components if that record is changed on the server (in the road map)
Considerations of Lightning Data Service
Working with Data(Cont..)
● Custom Tab
● Inside Lightning Record Detail page, Lightning Communities and Lightning Pages
● Override Standard Actions - View, New, New Event, Edit, and Tab in Lightning Experience
and the Salesforce mobile app
● Custom Actions
● Integrate with Flow
Lightning Component : Usage in LEX
Lightning Component : Usage in LEX
Visualforce Lightning Component
Classic LEX Mobile Classic LEX Mobile
Record
Tab
n/a n/a
List n/a n/a n/a n/a
View n/a
Edit n/a
New n/a
Delete n/a
n/a - you cannot access the override
Demo
● Trailhead Module: Visualforce & Lightning Experience
● Trailhead Trail: Apply VF Skill in Lightning
● External Blog: Component should be FIRST
● Try the demo code yourself:
● github.com/SoftsquareSolutions/LightningWebinar
Learning Resource
Q & A
You can present too!
Join our Trailblazer community group:
bit.ly/webinarinapac
Survey
Your feedback is crucial to the success of our
webinar programs. Please fill out the survey at
the end of the webinar. Thank you!
Lightning Design System and Components for Visualforce Developers

More Related Content

What's hot (20)

PDF
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
PPTX
Lightning Updates: Summer, Winter & Beyond
Salesforce Developers
 
PPTX
Build Faster with Base Lightning Components
Salesforce Developers
 
PPTX
Best Practices for Lightning Apps
Mark Adcock
 
PPTX
Introduction to the Wave Platform API
Salesforce Developers
 
PPTX
Winter'18 Developer Preview Webinar
Salesforce Developers
 
PPTX
Building a Single Page App with Lightning Components
Salesforce Developers
 
PPTX
Secure Development on the Salesforce Platform - Part 2
Salesforce Developers
 
PPTX
Webinar: Build Apps Customers Love as a Salesforce Developer
Salesforce Developers
 
PDF
Introduction to MuleSoft
Salesforce Developers
 
PPTX
Coding in the App Cloud
Salesforce Developers
 
PPTX
Integrating with salesforce
Mark Adcock
 
PDF
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce Developers
 
PDF
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
PPTX
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
PPTX
Build Apps Visually with Lightning App Builder
Salesforce Developers
 
PPTX
Coding Apps in the Cloud with Force.com - Part 2
Salesforce Developers
 
PPTX
Build Better Communities with Lightning
Salesforce Developers
 
PDF
Salesforce API Series: Integrating Applications with Force.com Webinar
Salesforce Developers
 
PPTX
Preparing for Lightning: Replacing URL Hacks with Actions
Mike White
 
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
Lightning Updates: Summer, Winter & Beyond
Salesforce Developers
 
Build Faster with Base Lightning Components
Salesforce Developers
 
Best Practices for Lightning Apps
Mark Adcock
 
Introduction to the Wave Platform API
Salesforce Developers
 
Winter'18 Developer Preview Webinar
Salesforce Developers
 
Building a Single Page App with Lightning Components
Salesforce Developers
 
Secure Development on the Salesforce Platform - Part 2
Salesforce Developers
 
Webinar: Build Apps Customers Love as a Salesforce Developer
Salesforce Developers
 
Introduction to MuleSoft
Salesforce Developers
 
Coding in the App Cloud
Salesforce Developers
 
Integrating with salesforce
Mark Adcock
 
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
Build Apps Visually with Lightning App Builder
Salesforce Developers
 
Coding Apps in the Cloud with Force.com - Part 2
Salesforce Developers
 
Build Better Communities with Lightning
Salesforce Developers
 
Salesforce API Series: Integrating Applications with Force.com Webinar
Salesforce Developers
 
Preparing for Lightning: Replacing URL Hacks with Actions
Mike White
 

Similar to Lightning Design System and Components for Visualforce Developers (20)

PPTX
Lightning Experience with Visualforce Best Practices
Salesforce Developers
 
PDF
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
Salesforce Partners
 
PPTX
Salesforce Lightning Component Framework Roadmap (TDX18)
Developer Force
 
PPTX
Migrating Visualforce Pages to Lightning
Salesforce Developers
 
PPTX
Building Apps Faster with Lightning and Winter '17
Mark Adcock
 
PPTX
Salesforce Lightning workshop
Shivanath Devinarayanan
 
PPTX
Suisse Romande SF DG - Lightning workshop
Gnanasekaran Thoppae
 
PPTX
Lightning Developer Week - Bangalore Salesforce Developer Group
Abhilash Kuntar
 
PPTX
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa
 
PDF
Lightning Workshop London
Keir Bowden
 
PDF
Lightning Experience for ISVs
Salesforce Partners
 
PDF
Lightning week - Paris DUG
Paris Salesforce Developer Group
 
PDF
Lightning Components: The Future
Salesforce Developers
 
PPTX
Salesforce Lightning Design System
Durgesh Dhoot
 
PPTX
Build custom user interfaces for your Salesforce data with the UI API
Salesforce Developers
 
PPTX
Webinar: Salesforce Customization using Visualforce and Lightning Component F...
APPSeCONNECT
 
PDF
Spring '16 Lightning Update for ISVs (March 15, 2016)
Salesforce Partners
 
PDF
Lightning Components and Visualforce: Your Questions Answered
Dreamforce
 
PPTX
San Diego Salesforce User Group - Lightning Overview
Vivek Chawla
 
PPTX
Introduction to lightning out df16
Mohith Shrivastava
 
Lightning Experience with Visualforce Best Practices
Salesforce Developers
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
Salesforce Partners
 
Salesforce Lightning Component Framework Roadmap (TDX18)
Developer Force
 
Migrating Visualforce Pages to Lightning
Salesforce Developers
 
Building Apps Faster with Lightning and Winter '17
Mark Adcock
 
Salesforce Lightning workshop
Shivanath Devinarayanan
 
Suisse Romande SF DG - Lightning workshop
Gnanasekaran Thoppae
 
Lightning Developer Week - Bangalore Salesforce Developer Group
Abhilash Kuntar
 
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa
 
Lightning Workshop London
Keir Bowden
 
Lightning Experience for ISVs
Salesforce Partners
 
Lightning week - Paris DUG
Paris Salesforce Developer Group
 
Lightning Components: The Future
Salesforce Developers
 
Salesforce Lightning Design System
Durgesh Dhoot
 
Build custom user interfaces for your Salesforce data with the UI API
Salesforce Developers
 
Webinar: Salesforce Customization using Visualforce and Lightning Component F...
APPSeCONNECT
 
Spring '16 Lightning Update for ISVs (March 15, 2016)
Salesforce Partners
 
Lightning Components and Visualforce: Your Questions Answered
Dreamforce
 
San Diego Salesforce User Group - Lightning Overview
Vivek Chawla
 
Introduction to lightning out df16
Mohith Shrivastava
 
Ad

More from Salesforce Developers (20)

PDF
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
PDF
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
PDF
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
PPTX
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
PPTX
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
PPTX
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
PDF
Live coding with LWC
Salesforce Developers
 
PDF
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
PDF
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
PDF
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
PDF
Modern Development with Salesforce DX
Salesforce Developers
 
PDF
Get Into Lightning Flow Development
Salesforce Developers
 
PDF
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
PDF
Modern App Dev: Modular Development Strategies
Salesforce Developers
 
PDF
Vs Code for Salesforce Developers
Salesforce Developers
 
PDF
Vs Code for Salesforce Developers
Salesforce Developers
 
PDF
Manage Massive Datasets with Big Objects & Async SOQL
Salesforce Developers
 
PDF
Introduction to Einstein Bots
Salesforce Developers
 
PDF
Introduction to MuleSoft Anytime Platform
Salesforce Developers
 
PDF
Developing Smarter Apps with Einstein Platform Services
Salesforce Developers
 
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
Modern App Dev: Modular Development Strategies
Salesforce Developers
 
Vs Code for Salesforce Developers
Salesforce Developers
 
Vs Code for Salesforce Developers
Salesforce Developers
 
Manage Massive Datasets with Big Objects & Async SOQL
Salesforce Developers
 
Introduction to Einstein Bots
Salesforce Developers
 
Introduction to MuleSoft Anytime Platform
Salesforce Developers
 
Developing Smarter Apps with Einstein Platform Services
Salesforce Developers
 
Ad

Recently uploaded (20)

PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Digital Circuits, important subject in CS
contactparinay1
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 

Lightning Design System and Components for Visualforce Developers

  • 2. Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward- looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Go Social! Salesforce Developers Salesforce Developers Salesforce Developers The video will be posted to YouTube & the webinar recap page (same URL as registration).This webinar is being recorded! @salesforcedevs
  • 4. Have Questions? ● Don’t wait until the end to ask your question! ● Technical support will answer questions starting now. ● Respect Q&A etiquette ● Please don’t repeat questions. The support team is working their way down the queue. ● Stick around for live Q&A at the end ● Speakers will tackle more questions at the end, time-allowing ● Head to Developer Forums ● More questions? Visit developer.salesforce.com/forums
  • 5. Agenda ● Visualforce Overview ● Lightning Experience Overview ● Adopt Visualforce in Lightning Experience ● Lightning Component Overview ● Lightning general guidelines ● Usage of Visualforce and Lightning Components
  • 6. ● UI framework to build custom pages for the Salesforce platform ● Tag-based markup language, similar to HTML, and a set of server-side “controllers” to handle data and custom functionality. ● Content is rendered in server and displayed in browser. ● Ways of using Visualforce: Page or Component ● Usage of Visualforce: ● Override => Tabs, Standard Actions like New, View or Edit ● (Classic, LEX and Salesforce Mobile) ● Custom Tabs, Buttons and Links ● Inside page layout Overview of Visualforce
  • 7. ● Metadata-driven tags ● Model-View-Controller pattern ● Data secured since it is hosted on Salesforce platform ● Dynamic rendering & synchronous data transfer ● Complex UI requirements can be addressed using JS frameworks Benefits
  • 8. ● Limited Interactivity since server call needed to manage data ● Higher Latency especially on Mobile - not designed for mobile ● View state limited to 135kb ● Not built for Lightning Experience Caveats
  • 9. ● Modern user experience from Salesforce ● LEX is a Single Page Application(SPA) ● Current view is rewritten dynamically based on User actions ● Page does not necessarily refresh ● Relies on Javascript for interactivity ● LEX’s one.app act as container where the UI components live Overview of Lightning Experience(LEX)
  • 10. ● Comprises of entities which reflects core design principles to develop UI for Salesforce Apps ● Similar to Twitter Bootstrap ● SLDS ships 4 resources which helps us to develop apps to matches Salesforce Look and Feel ● CSS framework ● Icons ● Fonts ● Design Tokens Salesforce Lightning Design System(SLDS)
  • 11. ● Build Visualforce using SLDS to match the Lightning platform look and feel ● For context aware UI, use lightningStylesheets option(beta) ● For better performance, we can use 3rd party MVC frameworks like AngularJS ● Build the whole functionality in Lightning Component Moving to Lightning!:
  • 12. ● Lightning Design System helps to match the look and feel of the Salesforce app ● Set standardStylesheets="false"(Recommended) ● Use <apex:slds /> ● Use appropriate class as mentioned in the SLDS website Styling beyond lightningStyleSheets
  • 13. ● Deliver appropriate UI theme based on environment (Classic or LEX) use ● lightningStylesheets="true"(beta) ● May need some tweaks in the markup ● In Classic, Visualforce page will be rendered in standard classic styles ● In Lightning Experience, Visualforce components will automatically pickup the SLDS styles Changing the UI theme
  • 16. Demo
  • 17. ● UI framework for developing dynamic web apps for mobile and desktop devices ● First choice framework to develop UI in Lightning Experience ● Built on the open source Aura framework ● Tag based similar to HTML and Visualforce and uses Javascript to manage data ● Can leverage Apex or Lightning Data Service for data access Overview of Lightning Component Framework
  • 18. ● Composing UI into potentially reusable units ● Supports OOP concepts like Inheritance, Interfaces,.. etc ● Event-driven mechanism to communicate with other components ● LockerService restricts unauthorised access to the component internals Benefits
  • 19. ● Learning curve is high compared to Visualforce ● Unlike Visualforce page, identifying and composing Application into components needs to follow best practices. ● Not all 3rd party libraries can be used ● No Advanced In-built features like renderAsPDF, charting,.. supported at the moment Caveats
  • 20. ● Understand the architectural difference between Visualforce and Lightning Component ● Page-by-Page vs Single-Page Application ● Page vs Component Lifecycle ● Modifying the DOM ● Coding ● Understand Javascript nuances ● Debugging ● Browser developer tools ● Salesforce Lightning Inspector ● Salesforce CLI Considerations moving to Lightning Component
  • 21. ● Identify the parts of the page which can be developed as a component ● The "part(s)" can be a specific feature or a group of features which solves a use-case ● Don’t overload a component by putting everything into it ● Don’t over complicate stuffs by creating everything as components ● Not all components are reusable, but it can be potentially reusable ● Custom table row (<tr />) component for a editable table component Building Lightning Component
  • 22. Working with Data Visualforce Lightning Component Standard Controller <apex:page standardController=”” /> Lightning Data Service(LDS) Eg: <force:recordData ../> Custom Controller <apex:page controller=”” /> <aura:component controller=”” /> Extension Controller <apex:page standardController=”” extension=”” /> Combine LDS and custom controller Standard List Controller <apex:page standardController=”” recordSetVar=”” /> In the road map
  • 23. ● No need to use custom controller ● Record is shared across all components on a page/view ● Promotes consistency ● Notifies component when the record changes ● Best way to do CRUD Operations when working with a single record Lightning Data Service Working with Data(Cont..)
  • 24. ● Available only in Lightning Experience and Salesforce app ● Lightning Components for Visualforce, Lightning Out, or Communities isn’t supported ● Supports only primitive DML operations - create, read, update, and delete of single record ● Doesn’t notify components if that record is changed on the server (in the road map) Considerations of Lightning Data Service Working with Data(Cont..)
  • 25. ● Custom Tab ● Inside Lightning Record Detail page, Lightning Communities and Lightning Pages ● Override Standard Actions - View, New, New Event, Edit, and Tab in Lightning Experience and the Salesforce mobile app ● Custom Actions ● Integrate with Flow Lightning Component : Usage in LEX
  • 26. Lightning Component : Usage in LEX Visualforce Lightning Component Classic LEX Mobile Classic LEX Mobile Record Tab n/a n/a List n/a n/a n/a n/a View n/a Edit n/a New n/a Delete n/a n/a - you cannot access the override
  • 27. Demo
  • 28. ● Trailhead Module: Visualforce & Lightning Experience ● Trailhead Trail: Apply VF Skill in Lightning ● External Blog: Component should be FIRST ● Try the demo code yourself: ● github.com/SoftsquareSolutions/LightningWebinar Learning Resource
  • 29. Q & A You can present too! Join our Trailblazer community group: bit.ly/webinarinapac
  • 30. Survey Your feedback is crucial to the success of our webinar programs. Please fill out the survey at the end of the webinar. Thank you!