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
Riot.js Tokyo #2
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
h2so5
February 02, 2017
Programming
730
0
Share
Riot.js Tokyo #2
h2so5
February 02, 2017
More Decks by h2so5
See All by h2so5
Dripcap03
h2so5
2
350
Goによる P2Pチャットシステムの開発
h2so5
11
7k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
490
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
190
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
120
의존성 주입과 모듈화
fornewid
0
150
t *testing.T は どこからやってくるの?
otakakot
1
710
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
350
Angular Signal Forms
debug_mode
0
120
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1.1k
実践CRDT
tamadeveloper
0
590
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
800
Don't Prompt Harder, Structure Better
kitasuke
0
780
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Building AI with AI
inesmontani
PRO
1
920
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
440
Navigating Weather and Climate Data
rabernat
0
170
Believing is Seeing
oripsolob
1
120
Bash Introduction
62gerente
615
210k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
460
Designing Experiences People Love
moore
143
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Design in an AI World
tapps
1
200
So, you think you're a good person
axbom
PRO
2
2k
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