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
62
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
210
税理士ドットコムの 技術的挑戦 #tapioca_lt
rymizuki
0
280
PHPを始めて1年、レガシーシステムにどう向き合っているか #phpstudy
rymizuki
1
750
モダンとレガシー #gotandaem
rymizuki
0
560
Vuexに型を付けるパターンを調べた #gotandajs
rymizuki
0
130
DockerでNodeの開発は厳しいのか? #gotandajs
rymizuki
3
390
マネージャー!きみは何者だ! #gotandaem
rymizuki
0
1.8k
物語を楽しむための物語論
rymizuki
0
520
失敗と向き合う
rymizuki
0
1.5k
Other Decks in Technology
See All in Technology
オブザーバビリティが育むシステム理解と好奇心
maruloop
2
1.2k
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
250
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
130
OCIjp_Oracle AI World_Recap
shinpy
1
180
re:Inventに行くまでにやっておきたいこと
nagisa53
0
170
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
230
What's new in OpenShift 4.20
redhatlivestreaming
0
270
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
430
知覚とデザイン
rinchoku
1
590
事業開発におけるDify活用事例
kentarofujii
5
1.5k
SOTA競争から人間を超える画像認識へ
shinya7y
0
500
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
210
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Designing for Performance
lara
610
69k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Git: the NoSQL Database
bkeepers
PRO
431
66k
Facilitating Awesome Meetings
lara
57
6.6k
Speed Design
sergeychernyshev
32
1.2k
The Invisible Side of Design
smashingmag
302
51k
Code Reviewing Like a Champion
maltzj
526
40k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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