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
mizuki_r
March 11, 2016
Technology
0
61
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
160
税理士ドットコムの 技術的挑戦 #tapioca_lt
rymizuki
0
270
PHPを始めて1年、レガシーシステムにどう向き合っているか #phpstudy
rymizuki
1
690
モダンとレガシー #gotandaem
rymizuki
0
550
Vuexに型を付けるパターンを調べた #gotandajs
rymizuki
0
120
DockerでNodeの開発は厳しいのか? #gotandajs
rymizuki
3
380
マネージャー!きみは何者だ! #gotandaem
rymizuki
0
1.7k
物語を楽しむための物語論
rymizuki
0
510
失敗と向き合う
rymizuki
0
1.4k
Other Decks in Technology
See All in Technology
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
10
3.8k
ローカルLLMでファインチューニング
knishioka
0
120
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
エンジニア向け技術スタック情報
kauche
0
110
In Praise of "Normal" Engineers (LDX3)
charity
2
1.2k
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
650
A2Aのクライアントを自作する
rynsuke
1
150
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
790
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
270
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
840
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
1
140
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Documentation Writing (for coders)
carmenintech
71
4.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Designing Experiences People Love
moore
142
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Building a Scalable Design System with Sketch
lauravandoore
462
33k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
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