SlideShare a Scribd company logo
Vanilla Web Components
Mountain House, CA Developers Group
22nd Feb 2020
Manoj Sonawane
Agenda
o Why Web Components
o Benefits of Web Components
o Pillars of Web Components
o Demo of Custom Elements and Templates
2014 Web Stack
W3C and ECMAScript Standardization
● ECMAScript 6,7,8,9
● Classes
● Modules
● Promises
● Decorators
● Web components
● Custom elements
● Shadow DOM
● Templates and slots
2019 Web Stack
Custom Elements
Allows you to define new types of DOM elements
Shadow DOM
Allows encapsulation of DOM trees (HTML and CSS)
Native Template
allows you to declare markup inside <template> tags that is not rendered until cloned
HTML Import
allows you to declare markup inside <template> tags that is not rendered until cloned
Four Pillars of HTML Web Components
Demo Time!
Vanilla Web Components in Action
Life Cycle Methods
Enhanced productivity
Use the modern language of the web: ES6+, Custom
Elements, and Shadow DOM
Built for performance
More code executed by the browser instead of JavaScript
abstractions for a blazing fast experience
Compatible and easy to use
Runs side-by-side with existing Lightning components and
can be composed with clicks or code
Introducing Lightning Web Components
Generally
Available
Spring ‘19
(Feb)
New programming model built on modern web standards
Fragmentation
● Proliferation of frameworks
● Components are not interoperable
● Skills are not transferable
● Resources are hard to find
● Framework abstractions are slow
Lightning Web Components
Benefits
● More standards, less proprietary
● Common component model
● Transferable skills
● Easier-to-find / easier-to-ramp-up developers
● Better performance
Coexistence and Interoperability
Summary
1. Game changing web standards
2. Performance
3. Coexist and interoperate with Aura
Sample gallery
Get inspired with sample apps, explore reference code, and learn best practices
Get your hands on applications fully
developed with Lightning Web
Components, already available in the
sample gallery.
Upload source code directly from
Github and integrate applications into
your platform with Salesforce DX.
Demo Time!
Lightning Web Components in Action
Lightning Web Components Pop Quiz!
Quiz: Lightning Web Components
1. Where should you put your template markup in a Lightning web component bundle?
a. The HTML file
2. How does the @track decorator affect a JavaScript property?
a. It makes the property reactive, so when the value of a property changes it will re-render in the
HTML
3. What tool do you use to create a Lightning web component bundle?
a. The Salesforce CLI
4. What does the (cacheable=true) Apex annotation mean?
a. It allows the platform to create and manage a client-side cache for any data returned by Apex.
Get Hands On with a Trailmix!
sforce.co/LWC
Implementing Vanilla Web Components

More Related Content

PPTX
Lightning Web Component in Salesforce
Jitendra Zaa
 
PPTX
Lightning Web Component - LWC
Thierry TROUIN ☁
 
PPTX
Intro to Salesforce Lightning Web Components (LWC)
Roy Gilad
 
PPTX
Lightning web components
Cloud Analogy
 
PPTX
Introduction to Lightning Web Component
SmritiSharan1
 
PPTX
Getting Started with Lightning Web Components | LWC | Salesforce
Rahul Malhotra
 
PPTX
Lightning web components - Introduction, component Lifecycle, Events, decorat...
Nidhi Sharma
 
PPT
Lightning In The Clouds
george.james
 
Lightning Web Component in Salesforce
Jitendra Zaa
 
Lightning Web Component - LWC
Thierry TROUIN ☁
 
Intro to Salesforce Lightning Web Components (LWC)
Roy Gilad
 
Lightning web components
Cloud Analogy
 
Introduction to Lightning Web Component
SmritiSharan1
 
Getting Started with Lightning Web Components | LWC | Salesforce
Rahul Malhotra
 
Lightning web components - Introduction, component Lifecycle, Events, decorat...
Nidhi Sharma
 
Lightning In The Clouds
george.james
 

What's hot (20)

PPTX
Live session 2 lightning web component
SmritiSharan1
 
PDF
Lwc presentation
Nithesh N
 
PPTX
Lightning web components
Amit Chaudhary
 
PPTX
Introduction to lightning Web Component
Mohith Shrivastava
 
PDF
Intro to lwc - dev week slides
Sara Sali
 
PPTX
Intro to Lightning Web Components
Calvin LaBelle
 
PPTX
Lightning web components
Amit Chaudhary
 
PPTX
Lightning web component
Dhanik Sahni
 
PPTX
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
BingWang77
 
PPTX
An Introduction to Lightning Web Components
Mikkel Flindt Heisterberg
 
PPTX
SharePoint Framework - Developer Preview
Sean McLellan
 
PPTX
TypeScript and SharePoint Framework
Bob German
 
PPTX
Application innovation & Developer Productivity
Kushan Lahiru Perera
 
PDF
SPUnite17 Introduction to the Office Dev PnP Core Libraries
NCCOMMS
 
PPTX
Introduction to SharePoint Framework (SPFx)
Fabio Franzini
 
PDF
SPUnite17 SPFx Extensions
NCCOMMS
 
PDF
SPUnite17 TypeScript for SharePoint Developers
NCCOMMS
 
PDF
SPUnite17 Timer Jobs Event Handlers
NCCOMMS
 
PPTX
Integrate any Angular Project into WebSphere Portal
Himanshu Mendiratta
 
PDF
Introduction to Lightning Web Components
Bordeaux Salesforce Developer Group
 
Live session 2 lightning web component
SmritiSharan1
 
Lwc presentation
Nithesh N
 
Lightning web components
Amit Chaudhary
 
Introduction to lightning Web Component
Mohith Shrivastava
 
Intro to lwc - dev week slides
Sara Sali
 
Intro to Lightning Web Components
Calvin LaBelle
 
Lightning web components
Amit Chaudhary
 
Lightning web component
Dhanik Sahni
 
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
BingWang77
 
An Introduction to Lightning Web Components
Mikkel Flindt Heisterberg
 
SharePoint Framework - Developer Preview
Sean McLellan
 
TypeScript and SharePoint Framework
Bob German
 
Application innovation & Developer Productivity
Kushan Lahiru Perera
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
NCCOMMS
 
Introduction to SharePoint Framework (SPFx)
Fabio Franzini
 
SPUnite17 SPFx Extensions
NCCOMMS
 
SPUnite17 TypeScript for SharePoint Developers
NCCOMMS
 
SPUnite17 Timer Jobs Event Handlers
NCCOMMS
 
Integrate any Angular Project into WebSphere Portal
Himanshu Mendiratta
 
Introduction to Lightning Web Components
Bordeaux Salesforce Developer Group
 
Ad

Similar to Implementing Vanilla Web Components (20)

PDF
Introducing Lightning Web Components
Peter Knolle
 
PDF
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Ben Edwards
 
PDF
Lightning Web Components - A new era, René Winkelmeyer
CzechDreamin
 
PPTX
Introduction to lightning web component
Sudipta Deb ☁
 
PPTX
RVA intro to LWC- Salesforce Dev Week
Ohad Idan
 
PDF
Lightning Web Component Structure Benefit
qrsolutionsindia
 
PPTX
Salesforce Lightning Web Components - Open Source
Jayant Jindal
 
PDF
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
PPTX
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
PPTX
Salesforce Lightning Web Components Overview
Nagarjuna Kaipu
 
PPTX
Lightning Web Components by Abdul Gafoor
Jayesh Tejwani
 
PPTX
Lightning Web Components
AbdulGafoor100
 
PPTX
Episode 16 - Introduction to LWC
Jitendra Zaa
 
PDF
What is Difference Between LC and LWC?
Ravendra Singh
 
PPTX
Lightning Components Introduction
Durgesh Dhoot
 
PDF
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
PPTX
Lightning web components
Amit Singh
 
PPT
Migrate To Lightning Web Components from Aura framework to increase performance
Bohdan Dovhań
 
PDF
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
PPTX
Mastering the Lightning Framework - Part 1
Salesforce Developers
 
Introducing Lightning Web Components
Peter Knolle
 
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Ben Edwards
 
Lightning Web Components - A new era, René Winkelmeyer
CzechDreamin
 
Introduction to lightning web component
Sudipta Deb ☁
 
RVA intro to LWC- Salesforce Dev Week
Ohad Idan
 
Lightning Web Component Structure Benefit
qrsolutionsindia
 
Salesforce Lightning Web Components - Open Source
Jayant Jindal
 
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
Salesforce Lightning Web Components Overview
Nagarjuna Kaipu
 
Lightning Web Components by Abdul Gafoor
Jayesh Tejwani
 
Lightning Web Components
AbdulGafoor100
 
Episode 16 - Introduction to LWC
Jitendra Zaa
 
What is Difference Between LC and LWC?
Ravendra Singh
 
Lightning Components Introduction
Durgesh Dhoot
 
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
Lightning web components
Amit Singh
 
Migrate To Lightning Web Components from Aura framework to increase performance
Bohdan Dovhań
 
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Mastering the Lightning Framework - Part 1
Salesforce Developers
 
Ad

More from sonumanoj (8)

PDF
Industry Specific Solutions for a Customized World: Manufacturing and TDX22 R...
sonumanoj
 
PPTX
Supercharge Flows for thousands of records with Platform Events
sonumanoj
 
PDF
Getting started with Marketing Cloud
sonumanoj
 
PDF
Getting to Flow You: A First Date with Flow Builder
sonumanoj
 
PPTX
Salesforce Agile Methodology and Tools
sonumanoj
 
PPTX
MH Trailblazer Group - Understanding SSO Solution for Salesforce
sonumanoj
 
PDF
Dreamforce Global Gathering (Admin)
sonumanoj
 
PDF
May-MH-TrailblazerEvent
sonumanoj
 
Industry Specific Solutions for a Customized World: Manufacturing and TDX22 R...
sonumanoj
 
Supercharge Flows for thousands of records with Platform Events
sonumanoj
 
Getting started with Marketing Cloud
sonumanoj
 
Getting to Flow You: A First Date with Flow Builder
sonumanoj
 
Salesforce Agile Methodology and Tools
sonumanoj
 
MH Trailblazer Group - Understanding SSO Solution for Salesforce
sonumanoj
 
Dreamforce Global Gathering (Admin)
sonumanoj
 
May-MH-TrailblazerEvent
sonumanoj
 

Recently uploaded (20)

PDF
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
famaw19526
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
CIFDAQ
 
PDF
Shreyas_Phanse_Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
SHREYAS PHANSE
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
DevOps & Developer Experience Summer BBQ
AUGNYC
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
georgschmitzdoerner
 
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
AbdullahSani29
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
PDF
Chapter 2 Digital Image Fundamentals.pdf
Getnet Tigabie Askale -(GM)
 
PDF
NewMind AI Monthly Chronicles - July 2025
NewMind AI
 
PPTX
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
famaw19526
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
CIFDAQ
 
Shreyas_Phanse_Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
SHREYAS PHANSE
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
DevOps & Developer Experience Summer BBQ
AUGNYC
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
madgavkar20181017ppt McKinsey Presentation.pdf
georgschmitzdoerner
 
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
AbdullahSani29
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
Chapter 2 Digital Image Fundamentals.pdf
Getnet Tigabie Askale -(GM)
 
NewMind AI Monthly Chronicles - July 2025
NewMind AI
 
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 

Implementing Vanilla Web Components

  • 1. Vanilla Web Components Mountain House, CA Developers Group 22nd Feb 2020 Manoj Sonawane
  • 2. Agenda o Why Web Components o Benefits of Web Components o Pillars of Web Components o Demo of Custom Elements and Templates
  • 4. W3C and ECMAScript Standardization ● ECMAScript 6,7,8,9 ● Classes ● Modules ● Promises ● Decorators ● Web components ● Custom elements ● Shadow DOM ● Templates and slots
  • 6. Custom Elements Allows you to define new types of DOM elements Shadow DOM Allows encapsulation of DOM trees (HTML and CSS) Native Template allows you to declare markup inside <template> tags that is not rendered until cloned HTML Import allows you to declare markup inside <template> tags that is not rendered until cloned Four Pillars of HTML Web Components
  • 7. Demo Time! Vanilla Web Components in Action
  • 9. Enhanced productivity Use the modern language of the web: ES6+, Custom Elements, and Shadow DOM Built for performance More code executed by the browser instead of JavaScript abstractions for a blazing fast experience Compatible and easy to use Runs side-by-side with existing Lightning components and can be composed with clicks or code Introducing Lightning Web Components Generally Available Spring ‘19 (Feb) New programming model built on modern web standards
  • 10. Fragmentation ● Proliferation of frameworks ● Components are not interoperable ● Skills are not transferable ● Resources are hard to find ● Framework abstractions are slow
  • 12. Benefits ● More standards, less proprietary ● Common component model ● Transferable skills ● Easier-to-find / easier-to-ramp-up developers ● Better performance
  • 14. Summary 1. Game changing web standards 2. Performance 3. Coexist and interoperate with Aura
  • 15. Sample gallery Get inspired with sample apps, explore reference code, and learn best practices Get your hands on applications fully developed with Lightning Web Components, already available in the sample gallery. Upload source code directly from Github and integrate applications into your platform with Salesforce DX.
  • 16. Demo Time! Lightning Web Components in Action
  • 18. Quiz: Lightning Web Components 1. Where should you put your template markup in a Lightning web component bundle? a. The HTML file 2. How does the @track decorator affect a JavaScript property? a. It makes the property reactive, so when the value of a property changes it will re-render in the HTML 3. What tool do you use to create a Lightning web component bundle? a. The Salesforce CLI 4. What does the (cacheable=true) Apex annotation mean? a. It allows the platform to create and manage a client-side cache for any data returned by Apex.
  • 19. Get Hands On with a Trailmix! sforce.co/LWC

Editor's Notes

  • #3: Vanilla HTML5 Web Components Why Web Components Benefits of Web Components Pillars of Web Components Demo of Custom Elements and Templates
  • #4: To understand why we are launching Lightning Web Components, it is helpful to go back a few years and take a look at the web stack in 2014. Back then, web standards only offered a limited foundation for the full stack that developers need to build large scale web applications: a rendering engine, standard elements, events, and a core language (ECMAScript 5). In addition to being rudimentary, that foundation had other shortcomings traceable to its roots as a page rendering platform, not an application execution platform. For example: Rendering wasn't optimized for continuous UI transformation Standard UI elements were scarce and the standard didn't support the creation of custom elements The core language lacked modern constructs to write large and modular enterprise-class apps at the client-side (modules, classes, promises, decorators, etc.) As it is often the case, the community and software vendors jumped in to fill the gaps. For example: Different libraries provided different language extensions to support modular and large-scale development: modules (AMD and CommonJS), promises, classes, and other general utilities. Different frameworks introduced different component model and html templating approaches. New techniques were developed to optimize rendering (for example, the virtual DOM in React, Ember, and Vue). In 2014, when we launched the Lightning Component framework along with the Aura programming model, we were part of that effort to push the web forward and enable large scale client-side application development on the web.
  • #5: That is when the standard organization woke up: the last five years have seen an unprecedented level of innovation and standardization, mostly driven by the W3C/WHATWG and the ECMAScript Technical Committee (TC39) of which Salesforce is a member. The list of standards developed during the last five years includes: ECMAScript 2015 (6), 2016 (7), 2017 (8), 2018 (9) and beyond (adding classes, modules, promises, decorators, etc.) Web components Custom elements Templates and slots Shadow DOM
  • #6: As a result, the web stack looks very different today than it did five years ago, with its weight now heavily tilting towards standards. The core stack finally got the update it needed to become an application development platform in its own right. Many features that required frameworks now come standard: you no longer need a proprietary component model, proprietary language extensions, proprietary modules, etc. The standardization of the core stack is incredibly exciting and opens the door to a new breed of frameworks: frameworks whose major task is no longer to fill in the gaps in the core stack, but to provide a thin layer of specialized services on top of a standard stack that is now suitable for large scale app development.
  • #7: Custom elements [spec] - allows you to define new types of DOM elements Shadow DOM [spec] - allows encapsulation of DOM trees (HTML and CSS) Templates - allows you to declare markup inside <template> tags that is not rendered until cloned HTML Imports [spec] - allows you to include (import) HTML documents in other HTML documents
  • #8: Use either the Live Demo Script or the Video Guide to complete this portion
  • #9: As a result, the web stack looks very different today than it did five years ago, with its weight now heavily tilting towards standards. The core stack finally got the update it needed to become an application development platform in its own right. Many features that required frameworks now come standard: you no longer need a proprietary component model, proprietary language extensions, proprietary modules, etc. The standardization of the core stack is incredibly exciting and opens the door to a new breed of frameworks: frameworks whose major task is no longer to fill in the gaps in the core stack, but to provide a thin layer of specialized services on top of a standard stack that is now suitable for large scale app development.
  • #10: Lightning Web Components is a new programming model for building Lightning components. It leverages the web standards breakthroughs of the last five years, which means you can use more of the modern language of the web, build components that have blazing fast performance, and what you build can coexist and interoperate with the original Aura programming model.
  • #11: Although these community and software vendor efforts made it possible to develop large scale client-side apps on the web, they also came with a number of challenges: Frameworks became the language. React, Angular, and the Lightning Component Framework are all JavaScript frameworks, but they provide such a high level of abstraction that they feel like different languages. As a result, skills were not transferable, and developers were hard to find and ramp up. Apps and components written with different frameworks are not interoperable. This fragmentation underscored the need for standardization.
  • #12: Lightning Web Components is the Salesforce implementation of that new breed of lightweight frameworks built on web standards. It leverages custom elements, templates, shadow DOM, decorators, modules, and other new language constructs available in ECMAScript 7 and beyond. Lightning Web Components provides a layer of specialized Salesforce services on top of the core stack, including: The Base Lightning Components, a set of over 150 UI components all built as custom elements. The Lightning Data Service which provides declarative access to Salesforce data and metadata, data caching, and data synchronization. The User Interface API, the underlying service that makes Base Lightning Components and the Lightning Data Service metadata aware, leading to substantial productivity gains.
  • #13: The benefits are substantial: Common component model Common programming model Transferable skills and easier-to-find / easier-to-ramp-up developers Interoperable components Better performance because core features are implemented natively in web engines instead of in JavaScript in framework abstractions
  • #14: With the addition of Lightning Web Components, there are now two ways to build Lightning components: Aura Components, leveraging its own component model, templates, and modular development programming model. Lightning Web Components, built on top of the web standards breakthroughs of the last five years: web components, custom elements, Shadow DOM, etc. Aura components and Lightning web components can coexist and interoperate, and they share the same high level services: Aura components and Lightning web components can coexist on the same page Aura components can include Lightning web components Aura components and Lightning web components share the same base Lightning components. Base Lightning components were already implemented as Lightning web components. Aura components and Lightning web components share the same underlying services (Lightning Data Service, User Interface API, etc.). If you are already developing Lightning components with Aura, you can continue to do so. Your Aura components will continue to work as before. You can build new components with Aura or Lightning Web Components. Your Aura and Lightning Web Components can coexist and interoperate. Over time, you can consider migrating your Aura Components to Lightning Web Components, starting with the components that would benefit the most from the performance benefits of Lightning Web Components. If you are new to developing on Lightning, or if you are starting a new project, we recommend using Lightning Web Components.
  • #15: Exciting time to be a Salesforce developer! Build with a state-of-the-art framework build on web standards breakthrough Deliver High-Performance Apps... … that coexist and interoperate with Aura
  • #17: Use either the Live Demo Script or the Video Guide to complete this portion
  • #20: This Trailmix is dedicated to all things Lightning Web Components. It’s full of useful resources and hands-on projects to take you deep into the new component programming model, the new tools available to build and deploy, and ways to connect with Salesforce Developers around the world!