Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Riot.js Tokyo #2
Search
h2so5
February 02, 2017
Programming
0
720
Riot.js Tokyo #2
h2so5
February 02, 2017
Tweet
Share
More Decks by h2so5
See All by h2so5
Dripcap03
h2so5
2
350
Goによる P2Pチャットシステムの開発
h2so5
11
6.9k
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Python札幌 LT資料
t3tra
6
1k
Cap'n Webについて
yusukebe
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
0
250
Graviton と Nitro と私
maroon1st
0
130
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
Deno Tunnel を使ってみた話
kamekyame
0
220
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
エディターってAIで操作できるんだぜ
kis9a
0
750
AIエージェントの設計で注意するべきポイント6選
har1101
5
2k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Done Done
chrislema
186
16k
Exploring anti-patterns in Rails
aemeredith
2
200
Embracing the Ebb and Flow
colly
88
4.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
160
BBQ
matthewcrist
89
9.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
91
Bash Introduction
62gerente
615
210k
Transcript
Ron Hashimoto Developing a plug-in system with github.com/h2so5
github.com/dripcap/dripcap
+ Electron Background:
Simple and elegant component-based UI library
a.tag b.tag c.tag d.tag Component-based plug-in system
Run-time compiling let tag = riot.require(“view.tag”); 1 Server-side API
Loading styles riot.util.styleManager.inject(); 2
Dynamic mounting <virtual data-is={ tag }> </virtual> 3
Layout? Problem:
None
layout-bottom layout-top layout-list layout-session
<grid-container> opts.center.tag opts.top.tag opts.bottom.tag opts.right.tag opts.left.tag
<tab-container> <grid-container each ={ item, i in opts.items }> tab1
tab2
let container = Layout.container(‘layout-bottom’); container.append({ center: { tag: 'binary-view' },
name: 'Binary' }); Tab name Mounting tagName <tab-container/> Position
Problem 1: Conflicting tag names
<packet-view> <packet-view-layer> <packet-view-item> <packet-view-boolean-value> <packet-view-integer-value> <packet-view-string-value> <packet-view-buffer-value> <packet-view-stream-value> <packet-view-custom-value> <log-view>
<log-view-filter> <log-view-item> <packet-list-view> <packet-filter-view>
Problem 2: Server-side API pollution
document.createElementNS = document.createElement lib/server/sdom.js Conflicting with D3.js
Object.defineProperty(document, 'createElementNS', { value: document.createElementNS } );
None