SlideShare a Scribd company logo
1 of 19
Lightning Web Components Open Source
Trailhead DX 2019 - Announcement
Jayant Jindal
Fremont Salesforce User Group Lead
https://www.linkedin.com/in/jayantjindal
@jayantjindal
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.
Forward-Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995
• Check-In :10 min.
• Trailhead DX Global Gathering 2019 highlights : 5 min.
• Global Gathering presentation (Hands-On Lightning Web Components Open Source): 40
min.
• Icebreaker : 15 min.
• Icebreaker Winner: 5 min.
• Networking Reception: 30 min.
Agenda
Trailhead DX Global Gathering 2019 highlights
Enhanced productivity
Use web standards like ES6+, classes, modules,
custom elements, and templates
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
2014 Web Stack
Fragmentation
● Proliferation of frameworks
● Components are not interoperable
● Skills are not transferable
● Resources are hard to find
● Framework abstractions are slow
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
Lightning Web Components
Lightning Web Components
• Modern Javascript framework
• Before introduction of LWC, web has 3 layer: Browser, Application, JavaScript (Middle). To
reduce middle framework dependence, LWC was introduced
• Understand Pillars of HTML Web Components – Import, Template, Custom Element, Shadow
DOM
• LWC use Lightning Data Service (LDS)
Lightning Web Components – Open Source
• Javascript framework which is open source
• Lightning Web Components is built on the latest web standards, which is using a cutting-edge
framework based on the latest patterns and best practices
• Contribute and drive framework to community by sending PR (Pull Requests) to git
(https://github.com/trailheadapps/lwc-recipes-oss)
• Since Salesforce is part of W3C, ideas can be tabled by Salesforce to make your idea generic
• Not required to learn multiple frameworks like: React, Angular
• Compatible with multiple browsers e.g.: Chrome, IE11
• Example: Use LWC to build the employee-facing side of an application on Salesforce and
React or Angular to build the customer engagement side of the application on Heroku or any
other platform
Lightning Web Components – Open Source
Demo
Lightning Web Components – Open Source - Steps
• Install node.js (and npm) from the node.js site -> Install git from the git-scm site if you don't
have installed -> Clone the LWC Recipes OSS repository to your local computer -> Install
Visual Studio Code (optional, but recommended)
• lwc.dev
• LWC Platform App
References
• LWC Trailhead: https://trailhead.salesforce.com/en/content/learn/projects/quick-start-
lightning-web-components
• LWC – Open Source: lwc.dev
REFERENCES
Q & A
Salesforce Fremont User Group

More Related Content

What's hot

Dallas user group February 20 2015
Dallas user group February 20 2015Dallas user group February 20 2015
Dallas user group February 20 2015J Mo
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI APISalesforce Developers
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerSalesforce Developers
 
Preparing for Lightning: Replacing URL Hacks with Actions
Preparing for Lightning: Replacing URL Hacks with ActionsPreparing for Lightning: Replacing URL Hacks with Actions
Preparing for Lightning: Replacing URL Hacks with ActionsMike White
 
Lightning Component Framework from 0 to App
Lightning Component Framework from 0 to AppLightning Component Framework from 0 to App
Lightning Component Framework from 0 to AppDiego Szuster Marçal
 
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform #Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform Salesforce Developers
 
Embed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-insEmbed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-insSalesforce Developers
 
Automate All The Things with Flow
Automate All The Things with FlowAutomate All The Things with Flow
Automate All The Things with FlowSalesforce Admins
 
Webinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperWebinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperSalesforce Developers
 
Spice up Your Internal Portal with Visualforce and Twitter Bootstrap
Spice up Your Internal Portal with Visualforce and Twitter BootstrapSpice up Your Internal Portal with Visualforce and Twitter Bootstrap
Spice up Your Internal Portal with Visualforce and Twitter BootstrapSalesforce Developers
 
Salesforce Dreamforce 2019-Announcements
Salesforce Dreamforce 2019-AnnouncementsSalesforce Dreamforce 2019-Announcements
Salesforce Dreamforce 2019-AnnouncementsJayant Jindal
 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Salesforce Partners
 
Community Cloud: New in Summer ‘18
Community Cloud: New in Summer ‘18Community Cloud: New in Summer ‘18
Community Cloud: New in Summer ‘18Salesforce Developers
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 
Build Engaging Community Experiences with Community Cloud
Build Engaging Community Experiences with Community CloudBuild Engaging Community Experiences with Community Cloud
Build Engaging Community Experiences with Community CloudSalesforce Developers
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseJayant Jindal
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with LightningSalesforce Developers
 

What's hot (20)

Dallas user group February 20 2015
Dallas user group February 20 2015Dallas user group February 20 2015
Dallas user group February 20 2015
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT Explorer
 
Preparing for Lightning: Replacing URL Hacks with Actions
Preparing for Lightning: Replacing URL Hacks with ActionsPreparing for Lightning: Replacing URL Hacks with Actions
Preparing for Lightning: Replacing URL Hacks with Actions
 
Diving Into Heroku Private Spaces
Diving Into Heroku Private SpacesDiving Into Heroku Private Spaces
Diving Into Heroku Private Spaces
 
Lightning Component Framework from 0 to App
Lightning Component Framework from 0 to AppLightning Component Framework from 0 to App
Lightning Component Framework from 0 to App
 
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform #Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
 
Embed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-insEmbed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-ins
 
Automate All The Things with Flow
Automate All The Things with FlowAutomate All The Things with Flow
Automate All The Things with Flow
 
Webinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperWebinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce Developer
 
Spice up Your Internal Portal with Visualforce and Twitter Bootstrap
Spice up Your Internal Portal with Visualforce and Twitter BootstrapSpice up Your Internal Portal with Visualforce and Twitter Bootstrap
Spice up Your Internal Portal with Visualforce and Twitter Bootstrap
 
Salesforce Dreamforce 2019-Announcements
Salesforce Dreamforce 2019-AnnouncementsSalesforce Dreamforce 2019-Announcements
Salesforce Dreamforce 2019-Announcements
 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)
 
Community Cloud: New in Summer ‘18
Community Cloud: New in Summer ‘18Community Cloud: New in Summer ‘18
Community Cloud: New in Summer ‘18
 
Summer '18 Developer Highlights
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer Highlights
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime Debugger
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Build Engaging Community Experiences with Community Cloud
Build Engaging Community Experiences with Community CloudBuild Engaging Community Experiences with Community Cloud
Build Engaging Community Experiences with Community Cloud
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 Release
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with Lightning
 

Similar to Salesforce Lightning Web Components - Open Source

Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
Building Complex Traversing & Branching Apps Using Visual Workflows and Apex
Building Complex Traversing & Branching Apps Using Visual Workflows and ApexBuilding Complex Traversing & Branching Apps Using Visual Workflows and Apex
Building Complex Traversing & Branching Apps Using Visual Workflows and ApexSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Lightning Web Components - A new era, René Winkelmeyer
Lightning Web Components - A new era, René WinkelmeyerLightning Web Components - A new era, René Winkelmeyer
Lightning Web Components - A new era, René WinkelmeyerCzechDreamin
 
Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Salesforce Admins
 
Customizing Salesforce User Interfaces with Lightning Components
Customizing Salesforce User Interfaces with Lightning ComponentsCustomizing Salesforce User Interfaces with Lightning Components
Customizing Salesforce User Interfaces with Lightning ComponentsSalesforce Developers
 
Get Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceGet Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceDeveloper Force
 
Salesforce Lightning Component Framework Roadmap (TDX18)
Salesforce Lightning Component Framework Roadmap (TDX18)Salesforce Lightning Component Framework Roadmap (TDX18)
Salesforce Lightning Component Framework Roadmap (TDX18)Developer Force
 
Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Mark Adcock
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Salesforce Developers
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedSalesforce Developers
 
Intro to Salesforce Lightning for Admins
Intro to Salesforce Lightning for Admins Intro to Salesforce Lightning for Admins
Intro to Salesforce Lightning for Admins Desynit
 
Salesforce lightning design -components for CRM
Salesforce lightning design -components for CRMSalesforce lightning design -components for CRM
Salesforce lightning design -components for CRMyahmad111
 
Build Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from ApttusBuild Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from ApttusDreamforce
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 
Salesforce Winter22 Release Overview
Salesforce Winter22 Release OverviewSalesforce Winter22 Release Overview
Salesforce Winter22 Release OverviewSara Sali
 

Similar to Salesforce Lightning Web Components - Open Source (20)

Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
Building Complex Traversing & Branching Apps Using Visual Workflows and Apex
Building Complex Traversing & Branching Apps Using Visual Workflows and ApexBuilding Complex Traversing & Branching Apps Using Visual Workflows and Apex
Building Complex Traversing & Branching Apps Using Visual Workflows and Apex
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Lightning Web Components - A new era, René Winkelmeyer
Lightning Web Components - A new era, René WinkelmeyerLightning Web Components - A new era, René Winkelmeyer
Lightning Web Components - A new era, René Winkelmeyer
 
Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!
 
Customizing Salesforce User Interfaces with Lightning Components
Customizing Salesforce User Interfaces with Lightning ComponentsCustomizing Salesforce User Interfaces with Lightning Components
Customizing Salesforce User Interfaces with Lightning Components
 
Get Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceGet Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open Source
 
Salesforce Lightning Component Framework Roadmap (TDX18)
Salesforce Lightning Component Framework Roadmap (TDX18)Salesforce Lightning Component Framework Roadmap (TDX18)
Salesforce Lightning Component Framework Roadmap (TDX18)
 
Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Tdxgg18 summary presentation
Tdxgg18 summary presentationTdxgg18 summary presentation
Tdxgg18 summary presentation
 
An Introduction to Lightning Web Components
An Introduction to Lightning Web ComponentsAn Introduction to Lightning Web Components
An Introduction to Lightning Web Components
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE Evolved
 
Intro to Salesforce Lightning for Admins
Intro to Salesforce Lightning for Admins Intro to Salesforce Lightning for Admins
Intro to Salesforce Lightning for Admins
 
Salesforce lightning design -components for CRM
Salesforce lightning design -components for CRMSalesforce lightning design -components for CRM
Salesforce lightning design -components for CRM
 
Build Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from ApttusBuild Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from Apttus
 
Einstein Analytics for Developers
Einstein Analytics for DevelopersEinstein Analytics for Developers
Einstein Analytics for Developers
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Salesforce Winter22 Release Overview
Salesforce Winter22 Release OverviewSalesforce Winter22 Release Overview
Salesforce Winter22 Release Overview
 

More from Jayant Jindal

Salesforce Field Service Lightning
Salesforce Field Service LightningSalesforce Field Service Lightning
Salesforce Field Service LightningJayant Jindal
 
Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity ManagementJayant Jindal
 
Salesforce Quip & Salesforce Spring 20 Release Features
Salesforce Quip & Salesforce Spring 20 Release FeaturesSalesforce Quip & Salesforce Spring 20 Release Features
Salesforce Quip & Salesforce Spring 20 Release FeaturesJayant Jindal
 
Fremont Salesforce Community Group - Salesforce Labs Day - Demo Jam
Fremont Salesforce Community Group - Salesforce Labs Day - Demo JamFremont Salesforce Community Group - Salesforce Labs Day - Demo Jam
Fremont Salesforce Community Group - Salesforce Labs Day - Demo JamJayant Jindal
 
Salesforce Community Cloud
Salesforce Community CloudSalesforce Community Cloud
Salesforce Community CloudJayant Jindal
 
Salesforce-Summer 19 Release
Salesforce-Summer 19 ReleaseSalesforce-Summer 19 Release
Salesforce-Summer 19 ReleaseJayant Jindal
 

More from Jayant Jindal (6)

Salesforce Field Service Lightning
Salesforce Field Service LightningSalesforce Field Service Lightning
Salesforce Field Service Lightning
 
Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity Management
 
Salesforce Quip & Salesforce Spring 20 Release Features
Salesforce Quip & Salesforce Spring 20 Release FeaturesSalesforce Quip & Salesforce Spring 20 Release Features
Salesforce Quip & Salesforce Spring 20 Release Features
 
Fremont Salesforce Community Group - Salesforce Labs Day - Demo Jam
Fremont Salesforce Community Group - Salesforce Labs Day - Demo JamFremont Salesforce Community Group - Salesforce Labs Day - Demo Jam
Fremont Salesforce Community Group - Salesforce Labs Day - Demo Jam
 
Salesforce Community Cloud
Salesforce Community CloudSalesforce Community Cloud
Salesforce Community Cloud
 
Salesforce-Summer 19 Release
Salesforce-Summer 19 ReleaseSalesforce-Summer 19 Release
Salesforce-Summer 19 Release
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Salesforce Lightning Web Components - Open Source

  • 1. Lightning Web Components Open Source Trailhead DX 2019 - Announcement Jayant Jindal Fremont Salesforce User Group Lead https://www.linkedin.com/in/jayantjindal @jayantjindal
  • 2. 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. Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995
  • 3. • Check-In :10 min. • Trailhead DX Global Gathering 2019 highlights : 5 min. • Global Gathering presentation (Hands-On Lightning Web Components Open Source): 40 min. • Icebreaker : 15 min. • Icebreaker Winner: 5 min. • Networking Reception: 30 min. Agenda
  • 4. Trailhead DX Global Gathering 2019 highlights
  • 5. Enhanced productivity Use web standards like ES6+, classes, modules, custom elements, and templates 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
  • 7. Fragmentation ● Proliferation of frameworks ● Components are not interoperable ● Skills are not transferable ● Resources are hard to find ● Framework abstractions are slow
  • 8. W3C and ECMAScript Standardization ● ECMAScript 6,7,8,9 ● Classes ● Modules ● Promises ● Decorators ● Web components ● Custom elements ● Shadow DOM ● Templates and slots
  • 11. Lightning Web Components • Modern Javascript framework • Before introduction of LWC, web has 3 layer: Browser, Application, JavaScript (Middle). To reduce middle framework dependence, LWC was introduced • Understand Pillars of HTML Web Components – Import, Template, Custom Element, Shadow DOM • LWC use Lightning Data Service (LDS)
  • 12. Lightning Web Components – Open Source • Javascript framework which is open source • Lightning Web Components is built on the latest web standards, which is using a cutting-edge framework based on the latest patterns and best practices • Contribute and drive framework to community by sending PR (Pull Requests) to git (https://github.com/trailheadapps/lwc-recipes-oss) • Since Salesforce is part of W3C, ideas can be tabled by Salesforce to make your idea generic • Not required to learn multiple frameworks like: React, Angular • Compatible with multiple browsers e.g.: Chrome, IE11 • Example: Use LWC to build the employee-facing side of an application on Salesforce and React or Angular to build the customer engagement side of the application on Heroku or any other platform
  • 13. Lightning Web Components – Open Source
  • 14. Demo
  • 15. Lightning Web Components – Open Source - Steps • Install node.js (and npm) from the node.js site -> Install git from the git-scm site if you don't have installed -> Clone the LWC Recipes OSS repository to your local computer -> Install Visual Studio Code (optional, but recommended) • lwc.dev • LWC Platform App
  • 17. • LWC Trailhead: https://trailhead.salesforce.com/en/content/learn/projects/quick-start- lightning-web-components • LWC – Open Source: lwc.dev REFERENCES
  • 18. Q & A

Editor's Notes

  1. 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.
  2. 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.
  3. 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.
  4. 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
  5. 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.
  6. 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.
  7. Install node.js (and npm) from the node.js site -> Install git from the git-scm site if you don't have installed -> Clone the LWC Recipes OSS repository to your local computer -> Install Visual Studio Code (optional, but recommended) a. Show browser tab 1 (lwc.dev), b. Highlight quick start section on the left, c. Click Get Started button - We're starting on the homepage for Lightning Web Components Open Source. The page contains quick start and full installation instructions, as well as a detailed guide on the available capabilities. Let's take a look at the documentation first. Highlight left navigation bar - If you already have checked out the documentation of Lightning Web Components for developing on Salesforce the navigation should look familiar to you. It is exact the same framework as if you would develop on Salesforce - and with that all the skills that you learn when developing Lightning Web Components apply for both developing on Salesforce, and off Salesforce Click Installation -> LWC CLI -> Recipes - To get started with Lightning Web Components Open Source we will use two of the items that are listed in the installation section. The `lwc-create-app` tool and the Recipes sample application, which everyone can access on GitHub. Click on Octocat button in the top right corner - And speaking about GitHub - Lightning Web Components Open Source means that we all have access to the code. We can see what's going on with the framework, dig through the code, and open issues if we see areas for enhancements. Create your first LWC off platform app Show browser tab 1 (lwc.dev) - For getting started with Lightning Web Components Open Source we use the lwc-create-app tool. It creates a scaffolded project structure and a first simple app and more. As it's open source as well you can file any time feature requests to enhance the experience. a. Open terminal\/shell -> Enter npx lwc-create-app global-gathering-fremontug - Lets create now our first app. A few things are happening here on the screen: \u003ci\u003enpx\u003c\/i\u003e is a tool that runs the \u003ci\u003elwc-create-app\u003c\/i\u003e without actually installing it. This is the preferred way of creating new projects, as you'll always use the latest version. We're providing the name \u003ci\u003eglobal-gathering-fremontug\u003c\/i\u003e as parameter. This will create a new project with that name. walk through setup questions of lwc-create-app installation by just hitting enter all the time - There are a couple of questions that we answer during the installation process, like name of the app, GitHub user and repository, and so forth. We're accepting all the defaults. The installation now creates the folders and files, as well installs all the dependencies. This may take a minute or so. Open folder global-gathering in IDE\u003cbr\u003e- Highlight configuration files and folders in project - Let's take a look at the folder structure. For those who used the Trailhead Sample apps, or are familiar developing with frameworks like React or Angular will identify many known files. The lwc-create-tool scaffolds everything as needed, from formatting rules to linting to unit testing, so that you don't have to worry about setting up all the things on your own. Expand src folder\ -> Open index.html, highlight line 19 -> Open index.js - Thr src folder contains the entrypoint for the Lightning Web Components application. The index.html file contains standard HTML, like every other website. Note in line 19 - there is a custom element <my-app></my-app>. This is the initial web component. And when we look at the JavaScript it's really only about creating this first web component. Open modules folder -> Open app folder -> Highlight html, css, js files - In the modules folder you can see the my folder. This is the namespace of the webcomponents. Remember the custom element &lt;my-app&gt; in the HTML file? That naming is defined by the folder structure. It is similar to custom Lightning web components in Salesforce, whereas they are defined in the c namespace, like &lt;c-my-component&gt;.  Whe we look at the contents of the app component you'll see the same files as you'd see when developing on Salesforce. The only missing part is the metadata definition file, as that's not needed. Open app.js -> Open app.html, highlight line 5 - When we look at the JavaScript code of the app component... well, not much going on there. That's because this web component is really only used for displaying things. When we look at the HTML markup we see that this web component contains another web component - <my-greeting and that in different flavors with a different parameter value. Now let's see that in action. Open terminal in global-gatherings folder -> Run npm run watch -> Open browser window on shown address - Within the terminal we run the npm run watch command. This uses a dependency of lwc-create-app, and starts a local development server. When we open the provided URL you'll see the app running locally. Open -> Comment line 5 in app.html -> Uncomment line 6 in app.html -> Save and switch to browser - Now how would the development process look like? Because we run locally, and have a development server running, we can make use of hot reloading. Which is provided out-of-the box. Let's change the <my-greeting> web component that's used. The new one will display the greeting message faster. Ok - ready? Save. And you see in the browser it's instantly refreshed. Quit watch command in terminal (ctrl+c usually)"] - Now let's quit the watch process, as we're going to use the port in the next demo, where we focus on a more complex structure.