SlideShare a Scribd company logo
Web
Components
Workshop
APEREO 2019
Bryan Ollendyke
[at]btopro
BTO108@psu.edu
Agenda
1. Why & What are Web components
2. Tutorial – LitElement
3. HTMLElement vs LitElement vs PolymerElement vs ???
4. WCFactory
1. Installing & making your first element
2. Using other’s elements
3. Communicating between elements
4. ShadowDOM
{{speed}}
<history-of-the-web-platform speed=“a really quick”>
[[date]] – <beginning-of-web-platforms date=“1996”>
1997 - 2006 – Nothing good happens
IE 4 IE 5 IE 6 IE 7
2007 – <video> tag manifesto
2008 – HTML5 Draft proposed
2009 – Original #usetheplatform
2010 – Google sees framework as platform
2011 – 1st presentation about web components
2013 – Facebook sees framework as platform
2013 – Google starts a library called polymer 0.x
2014 - <html5-ratified length=“6”>
HTML
[[length]] YEARS!!!!!!!!!!
2015 –Polymer goes 1.0 #usetheplatform!
2016 –Polymer goes 2.0 #usetheplatform!!!
Feb 2017 – we start saying #usetheplatform
May 2018 –Polymer goes 3.0 w/ js modules #usetheplatform!!!
Jan 2019 – ELMS:LN team publishes 168 repos
Today – we have over 440 web components
Web component 4 part meta-specification
Open Apereo - Web components workshop
Open Apereo - Web components workshop
Palm / HP Lost the battle, but was right
http://www.techgadgets.in/images/palm-pre-webos-phone.jpg
How can we share “the platform”?
Webcomponents.org
Npmjs.com
What web components solve
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
Shadow DOM keeps CSS scoped
Custom elements makes HTML semantic
Both make JS scoping simple
WC keeps design intentional
WC makes design sustainable
WC make web professionals happy!
Accessibility becomes manageable
Maintenance costs collapses
Cost of development collapses
Project churn is eliminated
All Future projects cost less
Each new project expands capabilities
WC make web managers happy!
And most importantly...
W3C standard
(that makes everybody but React happy)
Barriers to Adoption
● Lots of libraries (all compatible)
○ Polymer, LitElement, Patternfly Elements, SkateJS, Svelte, SlimJS
● JS Knowledge
○ Less training wheels than typical libraries
● Tooling Tree
○ lerna - gulp - npm - yarn - git - rollup - polymer cli - webpack – node
● Integration knowledge
○ webcomponents-loader.js - compiling for prod / local dev headaches
● Documentation!?!
elmsln / wcfactory
Lit-s Do this!
https://lit-element.polymer-project.org/try
Library differences
https://stackblitz.com/edit/govsummit
Installing Tooling
$ yarn global add @wcfactory/cli
$ yarn global add polymer-cli
$ yarn global add lerna
Upcoming talks!
Lot’s of web components talks throughout the event
1 almost every time slot of the event!
Look for HAXTheWeb & HAXcms at the Lightning
talks!

More Related Content

PPTX
Single page apps a bleeding edge new concept or a revived old one?
KEY
Project Timbit
PPTX
Real World Windows 8 Apps in JavaScript
PDF
Why Javascript matters
PPTX
The Final Frontier
PPTX
Building your first plugin
PPTX
Slides for may 15
PDF
Why Open Web Standards are cool and will save the world. Or the Web, at least.
Single page apps a bleeding edge new concept or a revived old one?
Project Timbit
Real World Windows 8 Apps in JavaScript
Why Javascript matters
The Final Frontier
Building your first plugin
Slides for may 15
Why Open Web Standards are cool and will save the world. Or the Web, at least.

What's hot (18)

PDF
Bruce lawson-over-the-air
PPTX
Saying goodbye to localhost - developing in the cloud with Cloud9 IDE
PDF
WordPress as a Headless CMS - Bronson Quick
PPTX
Web 2.0 powerpoint
PDF
Bruce Lawson, Web Development 2.0, SparkUp! Poznan Poland
PDF
Polymer Web Framework - Swecha Boot Camp
PDF
Koubei banquet 30
PPTX
Introduction to JS frameworks
PDF
Start with Bolt and Go Ez - eZ Publish Summer Camp 2015
PDF
The shift to the edge
PDF
PPTX
WordPress 15th Meetup - Build a Child Theme
PDF
Codecinella / Using CodePen to learn, prototype and inspire the front end
PDF
ITB2016 Converting Legacy Apps into Modern MVC
PPTX
Resources for Learning JavaScript
PDF
slide-dnrdw
PPTX
Untangling spring week8
PPTX
Untangling spring week10
Bruce lawson-over-the-air
Saying goodbye to localhost - developing in the cloud with Cloud9 IDE
WordPress as a Headless CMS - Bronson Quick
Web 2.0 powerpoint
Bruce Lawson, Web Development 2.0, SparkUp! Poznan Poland
Polymer Web Framework - Swecha Boot Camp
Koubei banquet 30
Introduction to JS frameworks
Start with Bolt and Go Ez - eZ Publish Summer Camp 2015
The shift to the edge
WordPress 15th Meetup - Build a Child Theme
Codecinella / Using CodePen to learn, prototype and inspire the front end
ITB2016 Converting Legacy Apps into Modern MVC
Resources for Learning JavaScript
slide-dnrdw
Untangling spring week8
Untangling spring week10
Ad

Similar to Open Apereo - Web components workshop (20)

PPTX
Web Components: The Future of Web Development is Here
PDF
Fullstack Web Components Complete Guide to Building UI Libraries with Web Com...
PDF
Web components and friends
PPTX
Web components Introduction
PPTX
Web Components: The Future of Web Development is Here
PDF
PPTX
Web components and Package managers
PDF
Web Components and PWA
PPTX
Future proofing design work with Web components
PPTX
Web components training setup knowledge
PPTX
History of the web as a platform from 1996 to 2017
PDF
Polymer & PWA: Understanding the “why”
PDF
Lecture 11 - Web components
PPTX
Introduction to Web Components & Polymer Workshop - U of I WebCon
PPTX
Progressive Web Apps and React
PPTX
The case for web components in government
PPTX
Apereo 2018 - Polymer training
PDF
Introduction to Web Components
PPTX
Web component
Web Components: The Future of Web Development is Here
Fullstack Web Components Complete Guide to Building UI Libraries with Web Com...
Web components and friends
Web components Introduction
Web Components: The Future of Web Development is Here
Web components and Package managers
Web Components and PWA
Future proofing design work with Web components
Web components training setup knowledge
History of the web as a platform from 1996 to 2017
Polymer & PWA: Understanding the “why”
Lecture 11 - Web components
Introduction to Web Components & Polymer Workshop - U of I WebCon
Progressive Web Apps and React
The case for web components in government
Apereo 2018 - Polymer training
Introduction to Web Components
Web component
Ad

More from btopro (20)

PDF
ELMS:LN 2020 update @ Apereo
PPTX
EdTechJoker Open Activism Project
PPTX
Lecture13 Containers
PPTX
Ed techjoker faculty presentation
PPTX
IST 402 Presentation by Sonya
PPTX
Lecture11 - Accessibility
PPTX
EdTechJoker - HAXTheWeb
PPTX
Drupal
PPTX
ClassicPress / WordPress
PPTX
Grav CMS
PPTX
HAX camp 2019 - HAX The Camp address
PPTX
HAX camp 2019 - Welcome
PPTX
HTML / CSS / JS Web basics
PPTX
Background info on git / github
PPTX
EdTechJoker IST 402 - Syllabus day
PPTX
The case for Web components - Drupal4Gov webinar
PPTX
HAX - Chaotic Good
PPTX
HAXTheWeb @ Apereo 19
PPTX
HAXcms reveal at BYU APIUnconf
PPTX
Open Ed 2018 - The Free, Open, Decentralized OER publishing platform
ELMS:LN 2020 update @ Apereo
EdTechJoker Open Activism Project
Lecture13 Containers
Ed techjoker faculty presentation
IST 402 Presentation by Sonya
Lecture11 - Accessibility
EdTechJoker - HAXTheWeb
Drupal
ClassicPress / WordPress
Grav CMS
HAX camp 2019 - HAX The Camp address
HAX camp 2019 - Welcome
HTML / CSS / JS Web basics
Background info on git / github
EdTechJoker IST 402 - Syllabus day
The case for Web components - Drupal4Gov webinar
HAX - Chaotic Good
HAXTheWeb @ Apereo 19
HAXcms reveal at BYU APIUnconf
Open Ed 2018 - The Free, Open, Decentralized OER publishing platform

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Classroom Observation Tools for Teachers
PDF
Basic Mud Logging Guide for educational purpose
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Cell Types and Its function , kingdom of life
PDF
Computing-Curriculum for Schools in Ghana
PPTX
master seminar digital applications in india
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Complications of Minimal Access Surgery at WLH
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Sports Quiz easy sports quiz sports quiz
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
Final Presentation General Medicine 03-08-2024.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Classroom Observation Tools for Teachers
Basic Mud Logging Guide for educational purpose
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
GDM (1) (1).pptx small presentation for students
Cell Types and Its function , kingdom of life
Computing-Curriculum for Schools in Ghana
master seminar digital applications in india
Renaissance Architecture: A Journey from Faith to Humanism
Complications of Minimal Access Surgery at WLH
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
human mycosis Human fungal infections are called human mycosis..pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Sports Quiz easy sports quiz sports quiz
TR - Agricultural Crops Production NC III.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra

Open Apereo - Web components workshop

Editor's Notes

  • #35: Icon created by Creative Stall from the Noun Project
  • #36: Web Components villain is multi layered Libraries Users confused why there are so many libraries. What does “flavor” of web component mean Is Polymer really that different from SkateJS How can a Svelte component talk to a LitElement? JS Knowledge JS has evolved ES6 features Class based DOM is scary Javascript Events Tooling I don’t care about tooling I just want it to work! Introduction to monorepos Compiling for different browser versions Integration Figuring out correct Pollyfills per browser Documentation Give me one website that has all of this written down Leaves you feeling like...
  • #37: Our goal is not to hook you on a toolchain It’s to help you over the initial barriers