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
Re-revolution to front-end with Riot.js
Search
kkeeth
November 17, 2018
Programming
310
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Re-revolution to front-end with Riot.js
kkeeth
November 17, 2018
More Decks by kkeeth
See All by kkeeth
Programming to play with p5.js
clown0082
0
100
とある EM の初めての育休からの学び
clown0082
1
5.7k
The history of Javascript frameworks: changes in front-end design philosophy
clown0082
2
240
Visually experience the beauty of mathematics with p5.js
clown0082
1
3.3k
Rediscover the joy of coding with Creative Coding
clown0082
0
1.9k
全員が意思決定する会社で開発者体験や生産性を見る大変さについて
clown0082
0
670
JavaScript × Mathematics go to Digital Art
clown0082
1
460
In-house study group at YUMEMI
clown0082
0
240
Playing Ionic Logo by p5.js
clown0082
0
350
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
120
act1-costs.pdf
sumedhbala
0
210
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
フィードバックで育てるAI開発
kotaminato
1
110
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
150
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
自作OSでスライド発表する
uyuki234
1
3.8k
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
Featured
See All Featured
Crafting Experiences
bethany
1
210
Prompt Engineering for Job Search
mfonobong
0
370
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
A better future with KSS
kneath
240
18k
The Curious Case for Waylosing
cassininazir
1
430
Marketing to machines
jonoalderson
1
5.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
My Coaching Mixtape
mlcsv
0
170
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
Bash Introduction
62gerente
615
220k
Transcript
Re-revolution to front-end with Riot.js ळͷJavaScriptࡇ in ࢜௨ΫϥυςΫϊϩδʔζ
About me
Basic Information const my_info = { Name: ‘܂ݪਔ’, Workplace: ‘Yumemi
Inc’, twitter: ‘kuwahara_jsri’, GitHub: ‘k-kuwahara’, Npm: ‘k-kuwahara’, }
Communities translator staff staff
Communities github.com/riot
Sorry... " Plz feedback for me called “Masakari” about my
English.
Modern Frameworks and libraries are “Component oriented”
None
Today, I will introduce a more simple and elegant library
None
The charm of riotjs
What is ?
image by: https://riot.js.org/
Characteristics ‣ Custom tags(Component based) ‣ Simple syntax and minimalistic
‣ Human-readable ‣ Small leaning curve
Custom tag <app> <h3>{ opts.title }</h3> <ul> <li each={ techs
}>{ name }</li> </ul> <script> this.techs = [ { name: 'HTML' }, { name: 'JavaScript' }, { name: 'CSS' } ] </script> <style> :scope { font-size: 2rem } ul { color: #999 } </style> </app>
Custom tag <app> <h3>{ opts.title }</h3> <ul> <li each={ techs
}>{ name }</li> </ul> <script> this.techs = [ { name: 'HTML' }, { name: 'JavaScript' }, { name: 'CSS' } ] </script> <style> :scope { font-size: 2rem } ul { color: #999 } </style> </app> HTML JS CSS
Custom tag <app> <h3>{ opts.title }</h3> <ul> <li each={ techs
}>{ name }</li> </ul> <script> this.techs = [ { name: 'HTML' }, { name: 'JavaScript' }, { name: 'CSS' } ] </script> <style> :scope { font-size: 2rem } ul { color: #999 } </style> </app> like ”props” in Vue.js or React.js
Mount <!doctype html> <html> <body> <app></app> <script src=“riot.js”></script> <script src=“app.tag”
type=“riot/tag”></script> <script> riot.mount(‘app’, {title: ‘Hello Riot.js!!’}) </script> </body> </html>
Mount <!doctype html> <html> <body> <app></app> <script src=“riot.js”></script> <script src=“app.tag”
type=“riot/tag”></script> <script> riot.mount(‘app’, {title: ‘Hello Riot.js!!’}) </script> </body> </html>
Mount <!doctype html> <html> <body> <app></app> <script src=“riot.js”></script> <script src=“app.tag”
type=“riot/tag”></script> <script> riot.mount(‘app’, {title: ‘Hello Riot.js!!’}) </script> </body> </html> pass to “opts”
More example
Stats of riotjs
Stats of Riot.js ‣ version: 3.13.1 ‣ github star: 13329
‣ open issues: 30 ‣ size: 10.85 kb(gzip)
BTW,
Stats of Riot.js
Stats of Riot.js about 1/3 size of Vue.js !!
Made with riot (so-called showcase)
Made with riot
Made with riot URL: http://riot.js.org/made-with-riot/
Comparison between riot and react
None
Why React is a rival ?
Reason 1
Reason 2
Why is named ?
Frameworks and libraries
Frameworks and libraries TOO MANY THINGS TO REMEMBER, AND TOO
COMPLICATED !!
the mean of “riot” is a “riot” against its complexity
of JavaScript frameworks.
Changes about riot from @2 to @3
Performance of riot.js
Rendering time 10,000 rows of DOM elements URL: https://k-kuwahara.github.io/demo/riot/pitfalls/loop-benchmark/v3.html
Rendering time 10,000 rows of DOM elements
riot.route removed from riot core
riot-route 10,000 rows of DOM elements
There are some other changes, so please see the official
website. URL: https://riot.js.org/guide/migration-from-riot2/
Ecosystem for riot
Ecosystem ɾriot ɾriot-clI ɾriot-compiler ɾriot-observable ɾriot-tmpl Basics SPA (routing) ɾriot-route
ɾriot-view-router ɾriot-routehandler ɾriotgear-router ɾredux-riot-router State management ɾRiotControl ɾriotify ɾriotx ɾobseriot Compile ɾgulp-riot ɾriot-tag-loader ɾriotjs-loader ɾriotify ɾrollup-plugin-riot Designs, Animations ɾriot-mui ɾnest-ui ɾriot-bootstrap ɾriot-fontawesome ɾsemantic-ui-riot ɾriot-animate ɾriot-flipcard ɾbabel-preset-es2015-riot ɾriot-placeholder ɾkarma-riot ɾriot-hot-reload ɾeslint-config-riot Others
Ecosystem
The persona of riot
Persona of riot ‣ Beginners of JavaScript ‣ Beginners of
frameworks of JavaScript ‣ Designers ‣ Small-scale products developer
The roadmap about leaning of JavaScript frameworks.
Roadmap of JS frameworks
Next @4
Pick up some of the roadmap @4 ‣ “this.tags” ‣
“riot-observable” ‣ “shouldUpdate” method ‣ “:scope” → “:root” ‣ parser/compiler ‣ “export default” ← new!!
Progress Two modules released!! ‣ dom-bindings → v0.4.0 ‣ parser
→ v0.7.0 Demo: https://codesandbox.io/s/rr3k4pmzrq
Conclusion
Closing ‣ Riot.js is hard to become the main framework
of application development ‣ Using as a stepping stone ‣ Riot.js is a library that supports step-upof JavaScript engineer
Let’s Create Web Application with Riot.js !!
Publicity
We’re looking for Engineers!!
None
None