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
Transcript
62 slides
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
More Decks by kkeeth
See All by kkeeth
Programming to play with p5.js
clown0082
0
130
とある EM の初めての育休からの学び
clown0082
1
6.1k
The history of Javascript frameworks: changes in front-end design philosophy
clown0082
2
260
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
690
JavaScript × Mathematics go to Digital Art
clown0082
1
490
In-house study group at YUMEMI
clown0082
0
250
Playing Ionic Logo by p5.js
clown0082
0
380
Other Decks in Programming
See All in Programming
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
210
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.4k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
330
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.9k
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
止まらない比較を止める — 余帰納法で無限ストリームを比べる
tarao
0
150
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップで戻してみた
youto
0
170
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
350
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.9k
Modernizing iOS Apps
seyfoyun
0
150
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
5
5.8M
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Code Reviewing Like a Champion
maltzj
529
40k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
A Tale of Four Properties
chriscoyier
163
24k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
6
930
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
GraphQLとの向き合い方2022年版
quramy
50
15k