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
99
0
Share
Fancy Web Components with Stencil
Vitalii Bobrov
November 30, 2017
More Decks by Vitalii Bobrov
See All by Vitalii Bobrov
Listen to UI: Making Apps Accessible
bobrov1989
0
90
The Future of Audio Processing in the Web
bobrov1989
0
210
Job Behind the Scene: Web Worker
bobrov1989
0
180
Running in Parallel: WebAssembly, Web Workers and Worklets
bobrov1989
0
300
Algorithms and Their Habitat
bobrov1989
0
230
WebAssembly-driven CSS
bobrov1989
2
230
Angular State Management with NgRx Workshop
bobrov1989
0
170
The Man who Sold the Amp: How to Process Music with JS
bobrov1989
1
390
No Apollogies: Making Apps Accessible
bobrov1989
1
260
Other Decks in Programming
See All in Programming
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
170
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
280
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
130
継続的な負荷検証を目指して
pyama86
3
1.2k
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
120
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
140
🦞OpenClaw works with AWS
licux
1
370
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
130
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
210
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
460
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The SEO Collaboration Effect
kristinabergwall1
1
450
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
30 Presentation Tips
portentint
PRO
1
300
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Crafting Experiences
bethany
1
150
Google's AI Overviews - The New Search
badams
0
1k
A Soul's Torment
seathinner
6
2.8k
Building Applications with DynamoDB
mza
96
7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
830
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 ” “