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
110
とある EM の初めての育休からの学び
clown0082
1
5.9k
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
670
JavaScript × Mathematics go to Digital Art
clown0082
1
470
In-house study group at YUMEMI
clown0082
0
240
Playing Ionic Logo by p5.js
clown0082
0
360
Other Decks in Programming
See All in Programming
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
440
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
自分的「カンファレンスの楽しみ方」
syumai
0
200
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
170
Foundry Localでエージェント開発
seosoft
0
180
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
200
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
Intent as Code
shoppingjaws
6
960
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2k
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.6k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
410
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
990
WENDY [Excerpt]
tessaabrams
13
39k
First, design no harm
axbom
PRO
2
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
30 Presentation Tips
portentint
PRO
1
390
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