SlideShare a Scribd company logo
Week 11
Web components
& Package managers
The future of all development
webcomponents
Bryan Ollendyke
[at]btopro
Developer Activist
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Today’s Topic / What you'll learn about
- What some front end development libraries
of the past are
- Why these are popular popular
- Who uses these / invented them / history
- What packages managers are
- Why web components will replace all other
forms of web development
- What is a ”Headless” application in
industry?
Web
components
&
NPM /
Package
managers
Links to poke around / great sources
- https://www.webcomponents.org
- https://open-wc.org
- https://haxtheweb.org
- https://www.polymer-project.org/
- https://dev.to/
- https://glitch.com/
- https://stackblitz.com/
- https://webcomponents.dev/
Web
components
&
NPM /
Package
managers
Terms / definitions for today
- Web component - reusable, custom HTML tag
- React – Facebook front end framework
- Angular – Google front end framework
- VueJS – FOSS front end library
- LitElement – Web component library
- Front end Framework
JavaScript development method,
opinionated, sometimes large
- Front end Library
JavaScript development helper, small, lite
Web
components
&
NPM /
Package
managers
Terms / definitions for today
- Package Manager – “a collection of software tools
that automates the process of installing, upgrading,
configuring, and removing computer programs for a
computer's operating system in a consistent
manner.”
- Source: Wikipedia
- NPM - Node Package Manager, a JavaScript
package manager that like GitHub, is not
open source but is popularized based on
ease of use.
- node - a specific form of JavaScript that
can be run on servers to power web
applications
Web
components
&
NPM /
Package
managers
Who’s using these (Web components)
- Growing in numbers but still a lot less then the other
libraries and frameworks out there Emergence side of
an Emerging Technologies course
- Amazon and Apple music players on web both use
web components
- Adobe, Google, ING Bank, Apple, Microsoft investing
in web components
Web
components
&
NPM /
Package
managers
Google Chrome analytics
Who’s uses these
- Web components - Relatively... Not a lot
of people but that’s because this is very
much on the Emergence side of an
Emerging Technologies course
- Package Managers – Most developers who
are worth their weight in code
Package management used to build ALL
web / servers used today by Sys Admins
PHP / Go / Node users have diff PMs
Front end developers use PMs too
Web
components
&
NPM /
Package
managers
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
https://blog.risingstack.com/yarn-vs-npm-node-js-package-managers/
Lecture 11 - Web components
package.json
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
“In 2019 the web created the foundation for what
will be looked back on as a 2000 year leap forward
in development capabilities.”
- ?
“In 2019 the web created the foundation for what
will be looked back on as a 2000 year leap forward
in development capabilities.”
- btopro
reading right now “in class”
And it’s because we finally have a standard way of
adopting everyone’s complex code but without the
complexity of dependencies breaking compatibility
Welcome, to Web components.
What are web components?
Lecture 11 - Web components
<div style="background:yellow;">
<a href="link.com"
style="color:black;">
Name
</a>
</div>
Simple button example
Simple button as web component
<my-button
link="link.com"
title="Name">
</my-button>
HTML Template
Custom Element
Custom Element - life cycle
Shadow DOM - optional
Shadow DOM
JS Module
<div style="background:yellow;">
<a href="${this.link}"
style="color:black;">
${this.title}
</a>
</div>
Simple button example
Lecture 11 - Web components
Lecture 11 - Web components
Solving the design system
problem
Solving the design system
problem
Whaaa?
Lecture 11 - Web components
Lecture 11 - Web components
My interface designer makes a
simple “button” for us to use
My interface designer makes a
simple “button” for us to use
My team has to integrate my
designer’s “button” X number of
buttons X number of projects
My interface designer makes a
simple “button” for us to use
My team has to integrate my
designer’s “button” X number of
buttons X number of projects
...My “team” will screw this up
How web components solves
this..
Shadow DOM keeps CSS scoped
a:hover {
color: var(--web-win-color, red);
}
Custom elements make designs
reusable while still being scoped!
<web-win size=”epic”></web-win>
Lecture 11 - Web components
Escape CMS / design traps
● Different template languages
● Different design / JS libraries
● This is a massive waste of time and effort
● Ultimately all to just get HTML on the page
Online courses we teach
Online courses we teach
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Across JavaScript libraries
custom-elements-everywhere.com
Who else uses this?
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Online courses we teach
Browser support
@btopro parsing the data
Last 90 days of 2020
● 93.96% -- works native
● 5.41% -- with polyfills (slow JS to fill gaps)
● > 99.8% -- work with web components!
Windows 7 EOL 2020
gs.statcounter.com
Progressive enhancement
btopro.com/all-screen-rights - All screens have rights
Numbers are MY personal strategy in the HAXcms platform
== NoJS / fallback version
== ES5 web components + large Polyfill
🔥 Modernish but dated version - ES6 web components + small Polyfill
🔥 Evergreen (click in browser to upgrade) - ES8 web components
Btopro blog post, NOjs or IE6 - 11
Btopro blog post, Edge (pre-chromium)
Btopro blog post, Modern web ES6+
We’ve 100% bought in
This is sustainable modular design and forever
We have produced over 400 reusable web
components.
Of these, ~350 are general purpose.
We have more public elements than anyone I can
find record of, including Google.
They are used by ELMS:LN, HAXcms, on other PSU
sites, at NARA, and in the wider open web.
They have nothing requiring our projects.
Web
components
By
numbers
Real web components we use
<vaadin-upload>
<grid-plate>
<simple-fields-form>
<code-editor>
<video-player>
<lrn-table>
<multiple-choice>
<rss-items>
<iron-ajax>
<paper-button>
<simple-modal> <h-a-x>
<self-check>
<wikipedia-query>
<lrn-math>
<user-action>
<editable-table>
<q-r>
<license-element>
<simple-drawer>
Real project reuse
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
Lecture 11 - Web components
HAXTheWeb from last week
IST 402 – HAXcms the headless CMS
IST 402 – HAXcms the headless CMS
YouTube – Web component rendering
YouTube – JSON end point data
This is the future of web dev
But, what is “web” anymore?
Desktop apps + web components
Android / iOS + web components
PWA - web site as web app
What we’ll do now
- Checkout Web components on
www.webcomponents.org
- Play with stackblitz.com
- Play with glitch.com
- write pseudo-code with Try LitElement site
Web
components

More Related Content

What's hot (20)

PPTX
Drupal 8, Symfony and Content Management
Exove
 
PDF
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
Patrick Lauke
 
PPSX
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
GeneXus
 
PDF
JSConf.eu Overview
Raimonds Simanovskis
 
PDF
Real solutions, no tricks
Jens Grochtdreis
 
PDF
Making sense of the front-end, for PHP developers
Lewiz
 
PDF
Bruce Lawson Opera Indonesia
brucelawson
 
PDF
Brave new world of HTML5 - WebTech 2010 Milano 09.11.2010
Patrick Lauke
 
PDF
Beg, Borrow or Steal: The Art of Flashing Without Flashing
spjwebster
 
PDF
HTML5 or Android for Mobile Development?
Reto Meier
 
PDF
Frameworks for Web Development
dtmodern
 
PDF
Html5 tx - preso
Santiago Esteva
 
PDF
Open Police Design Principles - Open Belgium 2016
Timble
 
PDF
Darci Hanning Top Ten Ways To Get Involved With The Plone Community
Vincenzo Barone
 
PPTX
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
Septian Tama
 
PDF
Building Drupal 8 Sites
Exove
 
PDF
Introduction to Web Components & Polymer Workshop - JS Interactive
John Riviello
 
PPTX
Fronted development trends - past, present and the future
Harijs Deksnis
 
PDF
Gears and HTML 5 @media Ajax London 2008
dion
 
PPTX
Php naked
Xevi Maresma Ridorsa
 
Drupal 8, Symfony and Content Management
Exove
 
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
Patrick Lauke
 
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
GeneXus
 
JSConf.eu Overview
Raimonds Simanovskis
 
Real solutions, no tricks
Jens Grochtdreis
 
Making sense of the front-end, for PHP developers
Lewiz
 
Bruce Lawson Opera Indonesia
brucelawson
 
Brave new world of HTML5 - WebTech 2010 Milano 09.11.2010
Patrick Lauke
 
Beg, Borrow or Steal: The Art of Flashing Without Flashing
spjwebster
 
HTML5 or Android for Mobile Development?
Reto Meier
 
Frameworks for Web Development
dtmodern
 
Html5 tx - preso
Santiago Esteva
 
Open Police Design Principles - Open Belgium 2016
Timble
 
Darci Hanning Top Ten Ways To Get Involved With The Plone Community
Vincenzo Barone
 
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
Septian Tama
 
Building Drupal 8 Sites
Exove
 
Introduction to Web Components & Polymer Workshop - JS Interactive
John Riviello
 
Fronted development trends - past, present and the future
Harijs Deksnis
 
Gears and HTML 5 @media Ajax London 2008
dion
 

Similar to Lecture 11 - Web components (20)

PPTX
The case for Web components - Drupal4Gov webinar
btopro
 
PPTX
The case for web components in government
btopro
 
PPTX
Progressive Web Apps and React
Mike Melusky
 
PPTX
Web Development - Roadmap to MERN stack development
SwapnilNarayan
 
PPTX
Future proofing design work with Web components
btopro
 
PPTX
Open Apereo - Web components workshop
btopro
 
PPTX
An Introduction to Web Components
Red Pill Now
 
PDF
Fullstack Web Components Complete Guide to Building UI Libraries with Web Com...
muncanbrshaw
 
PDF
Building Web Applications Without a Framework
All Things Open
 
PPTX
Web summit.pptx
171SagnikRoy
 
PPTX
Web component
EngrHasanuzzamanSumo
 
PDF
Front-End Developer's Career Roadmap
WebStackAcademy
 
PPTX
Web Components: The Future of Web Development is Here
John Riviello
 
PDF
Components now!
Mikhail Davydov
 
PDF
Web Components and PWA
Manuel Carrasco Moñino
 
PDF
Component Based Development
Ben McCormick
 
PPTX
Web components Introduction
Eugenio Romano
 
PDF
Future of the Web
Filip Bruun Bech-Larsen
 
PDF
The Future of the web
Filip Bruun Bech-Larsen
 
The case for Web components - Drupal4Gov webinar
btopro
 
The case for web components in government
btopro
 
Progressive Web Apps and React
Mike Melusky
 
Web Development - Roadmap to MERN stack development
SwapnilNarayan
 
Future proofing design work with Web components
btopro
 
Open Apereo - Web components workshop
btopro
 
An Introduction to Web Components
Red Pill Now
 
Fullstack Web Components Complete Guide to Building UI Libraries with Web Com...
muncanbrshaw
 
Building Web Applications Without a Framework
All Things Open
 
Web summit.pptx
171SagnikRoy
 
Web component
EngrHasanuzzamanSumo
 
Front-End Developer's Career Roadmap
WebStackAcademy
 
Web Components: The Future of Web Development is Here
John Riviello
 
Components now!
Mikhail Davydov
 
Web Components and PWA
Manuel Carrasco Moñino
 
Component Based Development
Ben McCormick
 
Web components Introduction
Eugenio Romano
 
Future of the Web
Filip Bruun Bech-Larsen
 
The Future of the web
Filip Bruun Bech-Larsen
 
Ad

More from Bryan Ollendyke (20)

PPTX
Lecture 14 - OER final project
Bryan Ollendyke
 
PDF
Lecture 12 - Docker
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 10 HAXTheWeb
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 8 Drupal again
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 6 - WordPress
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 5 grav cms
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 4 - HTML
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 2 - Git
Bryan Ollendyke
 
PPTX
EdTechJoker Spring 2020 - Lecture 1 - Welcome
Bryan Ollendyke
 
PPTX
Apereo 2018 - NGDLE, OER, Cost reduction, accessibility and decentralization
Bryan Ollendyke
 
PPTX
Apereo 2018 - Webcomponents and building a unified authoring experience for a...
Bryan Ollendyke
 
PPTX
Apereo 2018 - HAX lightning talk
Bryan Ollendyke
 
PPTX
Apereo 2018 - NGDLE efforts
Bryan Ollendyke
 
PPTX
Apereo 2018 - Polymer training
Bryan Ollendyke
 
PPTX
Building and Envisioning a Next Generation Digital Learning Environment
Bryan Ollendyke
 
PPTX
History of the web as a platform from 1996 to 2017
Bryan Ollendyke
 
PPTX
NGDLE (2016 version)
Bryan Ollendyke
 
PPTX
Rethinking system design
Bryan Ollendyke
 
PPTX
Drupal Govcon 2017 Polymer workshop slides
Bryan Ollendyke
 
Lecture 14 - OER final project
Bryan Ollendyke
 
Lecture 12 - Docker
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 10 HAXTheWeb
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 8 Drupal again
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 6 - WordPress
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 5 grav cms
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 4 - HTML
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 2 - Git
Bryan Ollendyke
 
EdTechJoker Spring 2020 - Lecture 1 - Welcome
Bryan Ollendyke
 
Apereo 2018 - NGDLE, OER, Cost reduction, accessibility and decentralization
Bryan Ollendyke
 
Apereo 2018 - Webcomponents and building a unified authoring experience for a...
Bryan Ollendyke
 
Apereo 2018 - HAX lightning talk
Bryan Ollendyke
 
Apereo 2018 - NGDLE efforts
Bryan Ollendyke
 
Apereo 2018 - Polymer training
Bryan Ollendyke
 
Building and Envisioning a Next Generation Digital Learning Environment
Bryan Ollendyke
 
History of the web as a platform from 1996 to 2017
Bryan Ollendyke
 
NGDLE (2016 version)
Bryan Ollendyke
 
Rethinking system design
Bryan Ollendyke
 
Drupal Govcon 2017 Polymer workshop slides
Bryan Ollendyke
 
Ad

Recently uploaded (20)

PDF
Dimensions of Societal Planning in Commonism
StefanMz
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PPTX
BANDHA (BANDAGES) PPT.pptx ayurveda shalya tantra
rakhan78619
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PPTX
PPT on the Development of Education in the Victorian England
Beena E S
 
PPTX
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PDF
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
Dimensions of Societal Planning in Commonism
StefanMz
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
BANDHA (BANDAGES) PPT.pptx ayurveda shalya tantra
rakhan78619
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PPT on the Development of Education in the Victorian England
Beena E S
 
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 

Lecture 11 - Web components