Adopter les Web Components
avec Stencil.js
1
SPEAKING
Thomas Champion
Développeur Fullstack JS.
@ReeskaFR
2
Sommaire
01 PRÉSENTATION
02 DÉMO
03 PACKAGING
04 TAKE AWAY
Stencil.js
La solution complète
4
PRÉSENTATION
● Créé par Ionic sortie en 2017 latest : 2.1.0
● Compilateur de Web components
● Inspiré par Angular et React
● But premier : library de composants
● Peut être utilisé comme un framework
5
● API haut niveau avec TypeScript
● Shadow DOM et fallback scoped style si non supporté
● Build customisable qui génère un bundle
● Inclus des polyfills
● Style via le standard CSS
○ Custom Properties
○ Shadow Parts
PRÉSENTATION
6
DEMO
7
LES ADAPTATEURS
● OutputTarget : Génération de wrappers
● Existent pour la plupart des frameworks
8
TAKEAWAY
9
ADOPTONS-LES
● Aujourd’hui la technologie est mature
● Le but n’est pas de remplacer nos frameworks
● Idéal pour créer une library de components
● Au final idéal pour créer des components UI...
● … et réduire le coût des migrations futures
10
MERCI
CONTACT
Thomas CHAMPION
tchampion@xebia.fr
11

Adopter les web components avec stencil.js - Front Side

Notes de l'éditeur

  • #2 Sondage support IE Sondage connaissance des Web Components
  • #6 Isolation du composant https://developer.mozilla.org/fr/docs/Web/API/ShadowRoot/mode https://blog.revillweb.com/open-vs-closed-shadow-dom-9f3d7427d1af
  • #7 Isolation du composant https://developer.mozilla.org/fr/docs/Web/API/ShadowRoot/mode https://blog.revillweb.com/open-vs-closed-shadow-dom-9f3d7427d1af
  • #8 npm init stencil npm install npm start npm link importer dans un projet react simple démontrer le problème d’input Shadow DOM et fallback scoped style si non supporté Ajouter un bouton material https://github.com/material-components/material-components-web-components S’abonner à l’événement click avec un EventEmitter https://custom-elements-everywhere.com/
  • #9 https://custom-elements-everywhere.com/ https://stenciljs.com/docs/overview https://github.com/ionic-team/stencil-ds-output-targets