Lightning Web Components - A new era, René Winkelmeyer

CzechDreamin
CzechDreaminCzechDreamin
Lightning Web Components - A New Era
Czech Dreamin 2019
@muenzpraeger
René Winkelmeyer
Architect, Developer Evangelism
Forward-Looking Statement
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.
Statement under the Private Securities Litigation Reform Act of 1995
Web Components at Enterprise Scale
● Why we built with web components
● What does this mean for customers building on Salesforce?
● What does this for internal teams at Salesforce?
● What did we learn?
Remember Amazon in 1999?
Proto Salesforce: 1999
Salesforce: 2010 until now
one.app
2014 Web Stack
Frameworks become the language
● Solutions to common problems aren’t common
● 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
The Web Stack Is Different Today
Frameworks
• React, Preact, Relay, Angular, Elm, Vue, Inferno,
Ember, Aurelia, Cycle.js
Data flow
• Flux, Redux, GraphQL, MobX, RxJS, Falcor,
ImmutableJS, Backbone.js
Virtual DOM
• SnabbDom, ViDom, virtual-dom, vDom
Months of research to figure out what’s next
Create performant, reusable, self-contained components with the
latest web standards, techniques, and tools—in a dead simple,
faster, and more elegant way. Drive adoption and productivity by
enabling developers to take advantage of a greater selection of tools
that they already know and love. Deliver a technology that is
compatible with the standards of today—and those well into the
future.
Vision
Lightning Web Components Build on Modern Standards
Salesforce is Built on Web Components
6x faster performance
Versus our previous client tier
Incremental roll out
Global search & nav, library of 70+ metadata-aware UI
components
Better developer productivity
Standards-based approach = more resources for devs,
more familiar tooling
More internal adoption
Teams want to build with a faster, powerful framework
Build Anywhere with
Lightning Web Components Open Source
Lightning Web Components Framework NOW OPEN
SOURCE
Start building atlwc.dev
Use the same framework on and off the
Lightning Platform
Learn by exploring the source code
Drive the roadmap by contributing code Lightning Base Components
Salesforce Bindings
Web components are a set of web platform APIs that allow you to create new custom,
reusable, encapsulated HTML tags to use in web pages and web apps. Custom components
and widgets build on the Web Component standards, will work across modern browsers, and
can be used with any JavaScript library or framework that works with HTML.
Source: https://www.webcomponents.org/introduction
Web Components
Why did we create Lightning Web
Components
And why did we make it Open Source?
● More standards, less proprietary
● Common component model
● Transferable skills
● Easier-to-find / easier-to-ramp-up
developers
● Standard tooling
● Better performance
What Developers Want
● Breaking changes to their
components and apps
(backwards compatibility)
● Being stuck with old technology
(evolution)
● Being stuck inside a walled
garden (portability)
What Developers Don’t Want
“Our UI platform shares the same
constraints and features of the web
platform”
WEB
COMPONENTS
- interoperability
- future proof
- backwards compatibility
CONTAINER
OSS, CI/CD, TOOLS
class HelloWorld extends HTMLElement {
constructor() {
super();
const t = document.getElementById('my-template');
this.attachShadow({mode: 'open'}).appendChild(t.cloneNode(true));
…
}
connectedCallback() { … }
attributeChangeCallback(value) { … }
disconectedCallback() { … }
}
);
document.customElements.define('hello-world', HelloWorld);
Standards-based, Common Component Model
WEB
COMPONENTS
- interoperability
- future proof
- backwards compatibility
LWC
CONTAINER
OSS, CI/CD, TOOLS
- developer productivity
- performance
- security (locker)
- accessibility (gaps)
- design system (styling)
- instrumentation
import { LightningElement, api, track } from "lwc";
export default class UIVision extends LightningElement {
@api publicProp = "beautiful";
@track reactiveValue = "changes";
}
Sugar On Top Of Web Components
color:white;
WEB
COMPONENTS
LWC
METADATA
- interoperability
- future proof
- backwards compatibility
- design time & builders
- decoupling data & APIs
- priming/preloading
- offline
- developer productivity
- performance
- security (locker)
- accessibility (gaps)
- design system (styling)
- instrumentation
import { LightningElement, api, wire } from "lwc";
import customLabel from "@salesforce/labels/My.Label";
import ACCOUNT_NAME_FIELD from "@salesforce/schema/Account.Name";
import { getRecord } from "lightning/uiRecordApi";
export default class StaticAnalysis extends LightningElement {
@api recordId;
@wire(getContactList) contacts;
@wire(getRecord, { recordId: "$recordId", fields: [ACCOUNT_NAME_FIELD] })
record;
}
Metadata for Web Components
- application container
- routing
- form factors
color:white;
WEB
COMPONENTS
LWC
METADATA
CONTEXT
- interoperability
- future proof
- backwards compatibility
- design time & builders
- decoupling data & APIs
- priming/preloading
- offline
- developer productivity
- performance
- security (locker)
- accessibility (gaps)
- design system (styling)
- instrumentation
Generally
Available
Spring ‘19
- open source
- ecosystem
- enterprise
color:white;
WEB
COMPONENTS
- interoperability
- future proof
- developer productivity
- performance
- security (locker)
- accessibility
- internationalization
- backwards compatibility
- instrumentation
LWC
METADATA
- design time & builders
- decoupling data & APIs
- priming/preloading
- offline
- tooling
CONTEXT
OSS, CI/CD, TOOLS
- application container
- routing
- form factors
Available
Now!
A Modern Way to Build Components in Salesforce
Single Responsibility Principle
Renderer Model CSS
Markup &
Definition
Controller Helper Provider
Server
Controller
CSS
JavaScript
Class
HTML
Template
From complexity
To simplicity
Demo time
Lightning Web Components Open Source
Web Components at Enterprise Scale
What we learned at Salesforce
Build with standards
Boost developer productivity,
boost component/app performance
Build for interoperability
Let customers, developers choose their own adoption
and implementation patterns
Specialize what’s (actually) special
Focus on services, unique value propositions
https://lwc.dev
Lightning Web Components - A new era, René Winkelmeyer
1 of 32

Recommended

IdeaExchange Reimagined - Shaping Salesforce Products, Scott Allan, Jennifer ... by
IdeaExchange Reimagined - Shaping Salesforce Products, Scott Allan, Jennifer ...IdeaExchange Reimagined - Shaping Salesforce Products, Scott Allan, Jennifer ...
IdeaExchange Reimagined - Shaping Salesforce Products, Scott Allan, Jennifer ...CzechDreamin
1.6K views41 slides
Quit Jesting and Test your Lightning Web Components, Phillipe Ozil by
Quit Jesting and Test your Lightning Web Components, Phillipe OzilQuit Jesting and Test your Lightning Web Components, Phillipe Ozil
Quit Jesting and Test your Lightning Web Components, Phillipe OzilCzechDreamin
1.3K views27 slides
Gesture Controlled Interactions with Platform Events and IoT Explorer by
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
985 views15 slides
Build Engaging Community Experiences with Community Cloud by
Build Engaging Community Experiences with Community CloudBuild Engaging Community Experiences with Community Cloud
Build Engaging Community Experiences with Community CloudSalesforce Developers
716 views15 slides
Scaling Developer Efforts with Salesforce Marketing Cloud by
Scaling Developer Efforts with Salesforce Marketing CloudScaling Developer Efforts with Salesforce Marketing Cloud
Scaling Developer Efforts with Salesforce Marketing CloudSalesforce Developers
1.1K views48 slides
Easy No-Code Integrations with External Services and Visual Flow by
Easy No-Code Integrations with External Services and Visual FlowEasy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowSalesforce Developers
2K views21 slides

More Related Content

What's hot

Summer '18 Developer Highlights by
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer HighlightsSalesforce Developers
845 views30 slides
SalesforceDX Demo by Manish by
SalesforceDX Demo by ManishSalesforceDX Demo by Manish
SalesforceDX Demo by ManishManish Thaduri
1.2K views24 slides
#DF17Recap series: Make apps smarter with Einstein by
#DF17Recap series: Make apps smarter with Einstein#DF17Recap series: Make apps smarter with Einstein
#DF17Recap series: Make apps smarter with EinsteinSalesforce Developers
669 views41 slides
Lightning Platform Product Managers: Ask Us Anything! by
Lightning Platform Product Managers: Ask Us Anything!Lightning Platform Product Managers: Ask Us Anything!
Lightning Platform Product Managers: Ask Us Anything!Salesforce Developers
731 views6 slides
Developer Preview Live – Release Readiness LIVE, Spring '18 by
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18Salesforce Developers
3.1K views23 slides
#DF17Recap series: Integrate apps easier with the Salesforce platform by
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platformSalesforce Developers
695 views18 slides

What's hot(20)

SalesforceDX Demo by Manish by Manish Thaduri
SalesforceDX Demo by ManishSalesforceDX Demo by Manish
SalesforceDX Demo by Manish
Manish Thaduri1.2K views
Developer Preview Live – Release Readiness LIVE, Spring '18 by Salesforce Developers
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18
#DF17Recap series: Integrate apps easier with the Salesforce platform by Salesforce Developers
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform
Integrate CMS Content Into Lightning Communities with CMS Connect by Salesforce Developers
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
App Academy: Getting Started (Virtual Classroom) slides by Salesforce Partners
App Academy: Getting Started (Virtual Classroom) slidesApp Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slides
Salesforce Partners25.1K views
How a PDO Can Help Get You to Market Faster by CodeScience
How a PDO Can Help Get You to Market FasterHow a PDO Can Help Get You to Market Faster
How a PDO Can Help Get You to Market Faster
CodeScience2.3K views
Salesforce World Tour Amsterdam: Guide your users through a process using path by Lieven Juwet
Salesforce World Tour Amsterdam:  Guide your users through a process using pathSalesforce World Tour Amsterdam:  Guide your users through a process using path
Salesforce World Tour Amsterdam: Guide your users through a process using path
Lieven Juwet1.1K views
The Lightning Process Builder and the Growing Role of the Salesforce Admin by Salesforce Admins
The Lightning Process Builder and the Growing Role of the Salesforce AdminThe Lightning Process Builder and the Growing Role of the Salesforce Admin
The Lightning Process Builder and the Growing Role of the Salesforce Admin
Salesforce Admins611 views
Route your triggers like a pro #DF18 by Daniel Stange
Route your triggers like a pro #DF18Route your triggers like a pro #DF18
Route your triggers like a pro #DF18
Daniel Stange356 views
Authentic Connections in an Online World by Mary Scotton by Salesforce Admins
Authentic Connections in an Online World by Mary ScottonAuthentic Connections in an Online World by Mary Scotton
Authentic Connections in an Online World by Mary Scotton
Salesforce Admins314 views
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー by Salesforce Developers Japan
アプリを作った後の運用は万全? Heroku リリース & 運用セミナーアプリを作った後の運用は万全? Heroku リリース & 運用セミナー
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー
Cloud Academy: Planning for Success as a Consulting Partner (October 13, 2014) by Salesforce Partners
Cloud Academy: Planning for Success as a Consulting Partner (October 13, 2014)Cloud Academy: Planning for Success as a Consulting Partner (October 13, 2014)
Cloud Academy: Planning for Success as a Consulting Partner (October 13, 2014)

Similar to Lightning Web Components - A new era, René Winkelmeyer

Enterprise-grade UI with open source Lightning Web Components by
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
1.6K views20 slides
Lightning web components - Episode 1 - An Introduction by
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
11.6K views27 slides
Lightning Developer Experience, Eclipse IDE Evolved by
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedSalesforce Developers
845 views25 slides
TrailheaDX and Summer '19: Developer Highlights by
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
1.4K views46 slides
Lightning Workshop London by
Lightning Workshop LondonLightning Workshop London
Lightning Workshop LondonKeir Bowden
2.6K views49 slides
Suisse Romande SF DG - Lightning workshop by
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopGnanasekaran Thoppae
458 views46 slides

Similar to Lightning Web Components - A new era, René Winkelmeyer(20)

Enterprise-grade UI with open source Lightning Web Components by Salesforce Developers
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
Lightning web components - Episode 1 - An Introduction by Salesforce Developers
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers11.6K views
Lightning Workshop London by Keir Bowden
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
Keir Bowden2.6K views
[MBF2] Plate-forme Salesforce par Peter Chittum by BeMyApp
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
BeMyApp524 views
Hands-on Workshop: Intermediate Development with Heroku and Force.com by Salesforce Developers
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Salesforce Lightning workshop Hartford - 12 March by Jitendra Zaa
Salesforce Lightning workshop Hartford - 12 MarchSalesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa3K views
Building einstein analytics apps uk-compressed by rikkehovgaard
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
rikkehovgaard255 views
Salesforce Lightning Web Components - Open Source by Jayant Jindal
Salesforce Lightning Web Components - Open SourceSalesforce Lightning Web Components - Open Source
Salesforce Lightning Web Components - Open Source
Jayant Jindal261 views
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku by Igor Androsov
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov2.7K views
AngularJS App In Two Weeks by Peter Chittum
AngularJS App In Two WeeksAngularJS App In Two Weeks
AngularJS App In Two Weeks
Peter Chittum2.1K views

More from CzechDreamin

Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi... by
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...CzechDreamin
1.1K views32 slides
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ... by
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...CzechDreamin
1K views27 slides
How we should include Devops Center to get happy developers?, David Fernandez... by
How we should include Devops Center to get happy developers?, David Fernandez...How we should include Devops Center to get happy developers?, David Fernandez...
How we should include Devops Center to get happy developers?, David Fernandez...CzechDreamin
1.1K views20 slides
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G... by
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...CzechDreamin
1K views18 slides
Architecting for Analytics, Aaron Crear by
Architecting for Analytics, Aaron CrearArchitecting for Analytics, Aaron Crear
Architecting for Analytics, Aaron CrearCzechDreamin
1.1K views16 slides
Ape to API, Filip Dousek by
Ape to API, Filip DousekApe to API, Filip Dousek
Ape to API, Filip DousekCzechDreamin
1.1K views32 slides

More from CzechDreamin(20)

Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi... by CzechDreamin
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
CzechDreamin1.1K views
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ... by CzechDreamin
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
CzechDreamin1K views
How we should include Devops Center to get happy developers?, David Fernandez... by CzechDreamin
How we should include Devops Center to get happy developers?, David Fernandez...How we should include Devops Center to get happy developers?, David Fernandez...
How we should include Devops Center to get happy developers?, David Fernandez...
CzechDreamin1.1K views
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G... by CzechDreamin
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
CzechDreamin1K views
Architecting for Analytics, Aaron Crear by CzechDreamin
Architecting for Analytics, Aaron CrearArchitecting for Analytics, Aaron Crear
Architecting for Analytics, Aaron Crear
CzechDreamin1.1K views
Ape to API, Filip Dousek by CzechDreamin
Ape to API, Filip DousekApe to API, Filip Dousek
Ape to API, Filip Dousek
CzechDreamin1.1K views
How do you know you’re solving the right problem? Design Thinking for Salesfo... by CzechDreamin
How do you know you’re solving the right problem? Design Thinking for Salesfo...How do you know you’re solving the right problem? Design Thinking for Salesfo...
How do you know you’re solving the right problem? Design Thinking for Salesfo...
CzechDreamin1.1K views
Real-time communication with Account Engagement (Pardot). Marketers meet deve... by CzechDreamin
Real-time communication with Account Engagement (Pardot). Marketers meet deve...Real-time communication with Account Engagement (Pardot). Marketers meet deve...
Real-time communication with Account Engagement (Pardot). Marketers meet deve...
CzechDreamin1.2K views
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian... by CzechDreamin
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
CzechDreamin1.2K views
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M... by CzechDreamin
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
CzechDreamin1.1K views
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q... by CzechDreamin
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...
CzechDreamin1.1K views
No Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso by CzechDreamin
No Such Thing as Best Practice in Design, Nati Asher and Pat FragosoNo Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
No Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
CzechDreamin1.2K views
Why do you Need to Migrate to Salesforce Flow?, Andrew Cook by CzechDreamin
Why do you Need to Migrate to Salesforce Flow?, Andrew CookWhy do you Need to Migrate to Salesforce Flow?, Andrew Cook
Why do you Need to Migrate to Salesforce Flow?, Andrew Cook
CzechDreamin1.1K views
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu by CzechDreamin
Be kind to your future admin self, Silvia Denaro & Nathaniel SombuBe kind to your future admin self, Silvia Denaro & Nathaniel Sombu
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu
CzechDreamin1.1K views
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk... by CzechDreamin
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...
CzechDreamin1.2K views
The minimum-profile approach – the modern way to design an efficient security... by CzechDreamin
The minimum-profile approach – the modern way to design an efficient security...The minimum-profile approach – the modern way to design an efficient security...
The minimum-profile approach – the modern way to design an efficient security...
CzechDreamin1.2K views
Restriction Rules – The Whole Picture, Louise Lockie by CzechDreamin
Restriction Rules – The Whole Picture, Louise LockieRestriction Rules – The Whole Picture, Louise Lockie
Restriction Rules – The Whole Picture, Louise Lockie
CzechDreamin1.5K views
Introduction to Custom Journey Builder Activities, Orkhan Alakbarli by CzechDreamin
Introduction to Custom Journey Builder Activities, Orkhan AlakbarliIntroduction to Custom Journey Builder Activities, Orkhan Alakbarli
Introduction to Custom Journey Builder Activities, Orkhan Alakbarli
CzechDreamin1.2K views
Taking control of your queries with GraphQL, Alba Rivas by CzechDreamin
Taking control of your queries with GraphQL, Alba RivasTaking control of your queries with GraphQL, Alba Rivas
Taking control of your queries with GraphQL, Alba Rivas
CzechDreamin1.2K views
“Soft Skills” are the new “Hard Skills” – Tips & Tricks for Salesforce Projec... by CzechDreamin
“Soft Skills” are the new “Hard Skills” – Tips & Tricks for Salesforce Projec...“Soft Skills” are the new “Hard Skills” – Tips & Tricks for Salesforce Projec...
“Soft Skills” are the new “Hard Skills” – Tips & Tricks for Salesforce Projec...
CzechDreamin1.1K views

Recently uploaded

"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
56 views29 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
147 views23 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
457 views92 slides
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
161 views13 slides
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
90 views52 slides
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
139 views29 slides

Recently uploaded(20)

"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue147 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue161 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE79 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue173 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue186 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 views

Lightning Web Components - A new era, René Winkelmeyer

  • 1. Lightning Web Components - A New Era Czech Dreamin 2019 @muenzpraeger René Winkelmeyer Architect, Developer Evangelism
  • 2. Forward-Looking Statement 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. Statement under the Private Securities Litigation Reform Act of 1995
  • 3. Web Components at Enterprise Scale ● Why we built with web components ● What does this mean for customers building on Salesforce? ● What does this for internal teams at Salesforce? ● What did we learn?
  • 9. Frameworks become the language ● Solutions to common problems aren’t common ● Components are not interoperable ● Skills are not transferable ● Resources are hard to find ● Framework abstractions are slow
  • 10. W3C and ECMAScript Standardization ● ECMAScript 6,7,8,9 ● Classes ● Modules ● Promises ● Decorators ● Web components ● Custom elements ● Shadow DOM ● Templates and slots
  • 11. The Web Stack Is Different Today
  • 12. Frameworks • React, Preact, Relay, Angular, Elm, Vue, Inferno, Ember, Aurelia, Cycle.js Data flow • Flux, Redux, GraphQL, MobX, RxJS, Falcor, ImmutableJS, Backbone.js Virtual DOM • SnabbDom, ViDom, virtual-dom, vDom Months of research to figure out what’s next
  • 13. Create performant, reusable, self-contained components with the latest web standards, techniques, and tools—in a dead simple, faster, and more elegant way. Drive adoption and productivity by enabling developers to take advantage of a greater selection of tools that they already know and love. Deliver a technology that is compatible with the standards of today—and those well into the future. Vision
  • 14. Lightning Web Components Build on Modern Standards
  • 15. Salesforce is Built on Web Components 6x faster performance Versus our previous client tier Incremental roll out Global search & nav, library of 70+ metadata-aware UI components Better developer productivity Standards-based approach = more resources for devs, more familiar tooling More internal adoption Teams want to build with a faster, powerful framework
  • 16. Build Anywhere with Lightning Web Components Open Source Lightning Web Components Framework NOW OPEN SOURCE Start building atlwc.dev Use the same framework on and off the Lightning Platform Learn by exploring the source code Drive the roadmap by contributing code Lightning Base Components Salesforce Bindings
  • 17. Web components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. Custom components and widgets build on the Web Component standards, will work across modern browsers, and can be used with any JavaScript library or framework that works with HTML. Source: https://www.webcomponents.org/introduction Web Components
  • 18. Why did we create Lightning Web Components And why did we make it Open Source?
  • 19. ● More standards, less proprietary ● Common component model ● Transferable skills ● Easier-to-find / easier-to-ramp-up developers ● Standard tooling ● Better performance What Developers Want ● Breaking changes to their components and apps (backwards compatibility) ● Being stuck with old technology (evolution) ● Being stuck inside a walled garden (portability) What Developers Don’t Want
  • 20. “Our UI platform shares the same constraints and features of the web platform”
  • 21. WEB COMPONENTS - interoperability - future proof - backwards compatibility CONTAINER OSS, CI/CD, TOOLS
  • 22. class HelloWorld extends HTMLElement { constructor() { super(); const t = document.getElementById('my-template'); this.attachShadow({mode: 'open'}).appendChild(t.cloneNode(true)); … } connectedCallback() { … } attributeChangeCallback(value) { … } disconectedCallback() { … } } ); document.customElements.define('hello-world', HelloWorld); Standards-based, Common Component Model
  • 23. WEB COMPONENTS - interoperability - future proof - backwards compatibility LWC CONTAINER OSS, CI/CD, TOOLS - developer productivity - performance - security (locker) - accessibility (gaps) - design system (styling) - instrumentation
  • 24. import { LightningElement, api, track } from "lwc"; export default class UIVision extends LightningElement { @api publicProp = "beautiful"; @track reactiveValue = "changes"; } Sugar On Top Of Web Components
  • 25. color:white; WEB COMPONENTS LWC METADATA - interoperability - future proof - backwards compatibility - design time & builders - decoupling data & APIs - priming/preloading - offline - developer productivity - performance - security (locker) - accessibility (gaps) - design system (styling) - instrumentation
  • 26. import { LightningElement, api, wire } from "lwc"; import customLabel from "@salesforce/labels/My.Label"; import ACCOUNT_NAME_FIELD from "@salesforce/schema/Account.Name"; import { getRecord } from "lightning/uiRecordApi"; export default class StaticAnalysis extends LightningElement { @api recordId; @wire(getContactList) contacts; @wire(getRecord, { recordId: "$recordId", fields: [ACCOUNT_NAME_FIELD] }) record; } Metadata for Web Components
  • 27. - application container - routing - form factors color:white; WEB COMPONENTS LWC METADATA CONTEXT - interoperability - future proof - backwards compatibility - design time & builders - decoupling data & APIs - priming/preloading - offline - developer productivity - performance - security (locker) - accessibility (gaps) - design system (styling) - instrumentation Generally Available Spring ‘19
  • 28. - open source - ecosystem - enterprise color:white; WEB COMPONENTS - interoperability - future proof - developer productivity - performance - security (locker) - accessibility - internationalization - backwards compatibility - instrumentation LWC METADATA - design time & builders - decoupling data & APIs - priming/preloading - offline - tooling CONTEXT OSS, CI/CD, TOOLS - application container - routing - form factors Available Now!
  • 29. A Modern Way to Build Components in Salesforce Single Responsibility Principle Renderer Model CSS Markup & Definition Controller Helper Provider Server Controller CSS JavaScript Class HTML Template From complexity To simplicity
  • 30. Demo time Lightning Web Components Open Source
  • 31. Web Components at Enterprise Scale What we learned at Salesforce Build with standards Boost developer productivity, boost component/app performance Build for interoperability Let customers, developers choose their own adoption and implementation patterns Specialize what’s (actually) special Focus on services, unique value propositions https://lwc.dev