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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Vitalii Bobrov
November 30, 2017
Programming
0
91
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
78
The Future of Audio Processing in the Web
bobrov1989
0
190
Job Behind the Scene: Web Worker
bobrov1989
0
160
Running in Parallel: WebAssembly, Web Workers and Worklets
bobrov1989
0
280
Algorithms and Their Habitat
bobrov1989
0
210
WebAssembly-driven CSS
bobrov1989
2
220
Angular State Management with NgRx Workshop
bobrov1989
0
160
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
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.9k
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
今から始めるClaude Code超入門
448jp
7
8k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1k
CSC307 Lecture 04
javiergs
PRO
0
650
Data-Centric Kaggle
isax1015
2
750
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.4k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
2026年 エンジニアリング自己学習法
yumechi
0
120
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
370
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
110
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
410
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
The browser strikes back
jonoalderson
0
350
Making Projects Easy
brettharned
120
6.6k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Facilitating Awesome Meetings
lara
57
6.7k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
130
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
Testing 201, or: Great Expectations
jmmastey
46
8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
Color Theory Basics | Prateek | Gurzu
gurzu
0
190
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 ” “