Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
120
とある EM の初めての育休からの学び
clown0082
1
6k
The history of Javascript frameworks: changes in front-end design philosophy
clown0082
2
250
Visually experience the beauty of mathematics with p5.js
clown0082
1
3.4k
Rediscover the joy of coding with Creative Coding
clown0082
0
2k
全員が意思決定する会社で開発者体験や生産性を見る大変さについて
clown0082
0
680
JavaScript × Mathematics go to Digital Art
clown0082
1
480
In-house study group at YUMEMI
clown0082
0
250
Playing Ionic Logo by p5.js
clown0082
0
370
Other Decks in Programming
See All in Programming
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
160
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
510
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
170
dotNET_vulnclicker_intro.pdf
deka_morita
0
130
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
870
AIに “答え“を書かせるのを やめてみた
___akari11
0
110
mrbgem 三角測量 開発
ogom
0
220
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
140
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
120
パーソナライズPodcastを作った話
repunit11
0
130
Agents on Rails - Rails at Scale 2026
irinanazarova
0
350
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
The SEO identity crisis: Don't let AI make you average
varn
0
580
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
740
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
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