Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Fancy Web Components with Stencil
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Vitalii Bobrov
November 30, 2017
Programming
0
93
Fancy Web Components with Stencil
Vitalii Bobrov
November 30, 2017
Tweet
Share
More Decks by Vitalii Bobrov
See All by Vitalii Bobrov
Listen to UI: Making Apps Accessible
bobrov1989
0
83
The Future of Audio Processing in the Web
bobrov1989
0
200
Job Behind the Scene: Web Worker
bobrov1989
0
170
Running in Parallel: WebAssembly, Web Workers and Worklets
bobrov1989
0
290
Algorithms and Their Habitat
bobrov1989
0
220
WebAssembly-driven CSS
bobrov1989
2
220
Angular State Management with NgRx Workshop
bobrov1989
0
170
The Man who Sold the Amp: How to Process Music with JS
bobrov1989
1
380
No Apollogies: Making Apps Accessible
bobrov1989
1
250
Other Decks in Programming
See All in Programming
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
310
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
130
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
540
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
160
モダンOBSプラグイン開発
umireon
0
180
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
へんな働き方
yusukebe
6
2.8k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
230
Rethinking API Platform Filters
vinceamstoutz
0
910
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Paper Plane
katiecoart
PRO
0
48k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
The Pragmatic Product Professional
lauravandoore
37
7.2k
Accessibility Awareness
sabderemane
0
84
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
FANCY WEB COMPONENTS WITH
VITALII BOBROV JAVASCRIPT DEV @ LUXOFT @bobrov1989 vitaliy-bobrov.github.io
STENCIL IS A COMPILER THAT GENERATES WEB COMPONENTS ” “
WHAT IS STENCIL?
IT IS NOT A FRAMEWORK
CONSISTS OF 4 API WHAT IS WEB COMPONENTS? • JavaScript
Modules • Custom Elements • HTML Template • Shadow DOM
FRAMEWORKS WEB COMPONENTS SKATEJS
BROWSERS SUPPORT Chrome (blink-based) Safari Firefox Edge IE JS modules
(optional) ☹ Custom Elements ☹ ☹ HTML Template ☹ Shadow DOM ☹ ☹
FOR OLD BROWSERS USE POLYFILL
WHY WE SHOULD USE WEB COMPONENTS?
RE-USABLE COMPONENTS ALL WE WANT
COMPONENTS THAT NOT RELY ON ANY FRAMEWORK BUT PLATFORM ”
“ AND FRAMEWORK AGNOSTIC
AWESOME ALL MODERN FRAMEWORKS
STENCIL COMBINES THE BEST CONCEPTS OF THE MOST POPULAR FRAMEWORKS
INTO A SIMPLE BUILD-TIME TOOL ” “ JUST USE ALL THE BEST
KEY FEATURES • Virtual DOM • Async rendering (inspired by
React Fiber) • Reactive data-binding • TypeScript • JSX • Server Side Rendering (SSR)
FIBER VS STENCIL DEMO https://claudiopro.github.io/react-fiber-vs-stack-demo/fiber.html https://stencil-fiber-demo.firebaseapp.com/perf.html
WE ARE ENTERING NO FRAMEWORK ERA ” “
HOW TO GET STARTED?
BASIC COMPONENT import { Component, Prop } from '@stencil/core'; @Component({
tag: 'my-name', styleUrl: 'my-name.scss' }) export class MyName { @Prop() first: string; @Prop() last: string; render() { return ( <div> Hello, my name is {this.first} {this.last} </div> ); } }
API REVIEW
DECORATORS • @Component • @Prop • @State • @Method •
@Element • @Event • @Listen
LIFE CYCLE HOOKS • componentWillLoad • componentDidLoad • componentWillUpdate •
componentDidUpdate • componentDidUnload
PROPERTY HOOKS • @PropWillChange • @PropDidChange
DEMO TIME https://github.com/vitaliy-bobrov/stencil-meetjs-demo
QUESTIONS?
THANK YOU! USE THE PLATFORM ” “