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
2016-03-11.gotandajs.introduction-of-riot.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mizuki_r
March 11, 2016
Technology
0
65
2016-03-11.gotandajs.introduction-of-riot.pdf
mizuki_r
March 11, 2016
Tweet
Share
More Decks by mizuki_r
See All by mizuki_r
FrontendUp_新規事業で_Remixを採用した理由と対策.pdf
rymizuki
0
230
税理士ドットコムの 技術的挑戦 #tapioca_lt
rymizuki
0
290
PHPを始めて1年、レガシーシステムにどう向き合っているか #phpstudy
rymizuki
1
810
モダンとレガシー #gotandaem
rymizuki
0
590
Vuexに型を付けるパターンを調べた #gotandajs
rymizuki
0
140
DockerでNodeの開発は厳しいのか? #gotandajs
rymizuki
3
420
マネージャー!きみは何者だ! #gotandaem
rymizuki
0
1.8k
物語を楽しむための物語論
rymizuki
0
540
失敗と向き合う
rymizuki
0
1.5k
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
140
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
2
1.7k
FastMCP OAuth Proxy with Cognito
hironobuiga
3
210
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
250
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
540
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
25
13k
スピンアウト講座02_ファイル管理
overflowinc
0
1.4k
Phase11_戦略的AI経営
overflowinc
0
1.7k
スケーリングを封じられたEC2を救いたい
senseofunity129
0
100
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
120
How to install a gem
indirect
0
1.7k
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Side Projects
sachag
455
43k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
sira's awesome portfolio website redesign presentation
elsirapls
0
200
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
86
Documentation Writing (for coders)
carmenintech
77
5.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Transcript
Introduction of RiotJS 2016/03/11 Gotanda.js #3 @mizuki_r 1
PROFILE @mizuki_r 5XJUUFS!NJ[VLJ@S (JUIVCSZ@NJ[VLJ OQNNJ[VLJ@S "OHVMBS 3JPU+4·ΘΓͷ͍ख ࠷ۙϑϩϯτΤϯυͷΞʔΩς ΫνϟΛߟ͑Δ͜ͱ͕ଟ͍ 2
INTRODUCTION RIOT-JS 3
hmm… this is very difficult… ( ŋั﹏ŋั) I THOUGHT THE
TALK 4
do you know Riot? 5
~Fin~ 6
tell the usage of Riot 7
http://riotjs.com/ja/guide/ 8
~Fin~ 9
tell the spirit of Riot 10
http://riotjs.com/ja/ 11
~Fin~ 12
INTRODUCTION it’s not joke! ▸ Riot is very minimum ▸
Riot is very simple ▸ Riot is very easy ▸ Riot is very casual 13
<todo> <!-- layout --> <h3>{ opts.title }</h3> <ul> <li each={
item, i in items }>{ item }</li> </ul> <form onsubmit={ add }> <input> <button>Add #{ items.length + 1 }</button> </form> <!-- logic --> <script> this.items = [] add(e) { var input = e.target[0] this.items.push(input.value) input.value = '' } </script> <todo> 14
VS REACT RIOT-JS 15
http://riotjs.com/ja/compare/ 16
WHY RIOT RIOT-JS 17
WHY RIOT why Riot ▸ easy to learn ▸ easy
to use ▸ make small, summarize small 18
WHY RIOT easy to learn ▸ lifecycle (mount, update, updated,
unmount) ▸ update ▸ yield ▸ dom events http://riotjs.com/ja/api/ 19
WHY RIOT easy to use ▸ script in html ▸
very simple usage <todo> <!-- layout --> <h3>{ opts.title }</h3> <ul> <li each={ item, i in items }>{ item }</li> </ul> <form onsubmit={ add }> <input> <button>Add #{ items.length + 1 }</button> </form> <!-- logic --> <script> this.items = [] add(e) { var input = e.target[0] this.items.push(input.value) input.value = '' } </script> <todo> <body> <!-- place the custom tag anywhere inside the body --> <todo></todo> <!-- include riot.js --> <script src="riot.min.js"></script> <!-- include the tag --> <script src="todo.js" type="riot/tag"></script> <!-- mount the tag --> <script>riot.mount('todo')</script> </body> 20
WHY RIOT make small 1. create html ٩(๑´3ʆ๑)۶ 2. separate
tags 3. ʮhum… it’s largeʯ(´ɾωɾʆ) 4. separate tags 5. repeat 1 … 4 ٩(๑`^´๑)۶ possible to turn a lot of small cycle!! 21
WHY RIOT sammrize small example of using webpack. view/app/components ᵓᴷᴷ
ffp ᴹ ᵓᴷᴷ index.tag ᴹ ᵋᴷᴷ style.css ᵓᴷᴷ ffp-body ᴹ ᵓᴷᴷ index.tag ᴹ ᵓᴷᴷ store.js ᴹ ᵋᴷᴷ style.css ᵓᴷᴷ ffp-code-pretty ᴹ ᵓᴷᴷ index.tag ᴹ ᵓᴷᴷ store.js ᴹ ᵋᴷᴷ style.css ᵓᴷᴷ ffp-header ᴹ ᵓᴷᴷ index.tag ᴹ ᵋᴷᴷ style.css ᵓᴷᴷ ffp-input ᴹ ᵓᴷᴷ action-creator.js ᴹ ᵓᴷᴷ index.tag ᴹ ᵋᴷᴷ style.css ᵓᴷᴷ ffp-loading ᴹ ᵓᴷᴷ index.tag ᴹ ᵓᴷᴷ store.js ᴹ ᵋᴷᴷ style.css ᵋᴷᴷ ffp-result ᵓᴷᴷ index.tag ᵓᴷᴷ store.js ᵋᴷᴷ style.css https://github.com/rymizuki/electron- ffp/tree/master/view/app/ components possible to separate into component. 22
USE CASE RIOT-JS 23
USE CASE there is a problem also… ‣ take over
all of the data on child becomes larger, there is danger of conflict!!! todoList.todos => { todos } todoList.tags.todo => { todos, name, description } todoList.tags.todo.tags.description => { todos, name, description, content } 24
USE CASE use case ‣ try quickly ideas ‣ make
a small app ‣ when just want to write ‣ in combination with other libraries started small, until the scale of the moderate 25
CONCLUSION RIOT-JS 26
CONCLUSION Riot is awesome ‣ Riot is very minimum ‣
Riot is very simple ‣ Riot is very easy ‣ Riot is very casual 27
THANKS! 28