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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
h2so5
February 02, 2017
Programming
740
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
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
150
誰も頼んでない機能を出荷した話
zekutax
0
140
LLM Plugin for Node-REDの利用方法と開発について
404background
0
110
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
210
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1k
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
150
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
260
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
120
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
7
2.2k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1k
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
190
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
820
The Pragmatic Product Professional
lauravandoore
37
7.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
AI: The stuff that nobody shows you
jnunemaker
PRO
7
660
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
Docker and Python
trallard
47
3.8k
Exploring anti-patterns in Rails
aemeredith
3
360
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
290
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
550
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
540
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