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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
h2so5
February 02, 2017
Programming
0
730
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
7k
Other Decks in Programming
See All in Programming
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
560
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
230
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
780
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.2k
Claude Codeログ基盤の構築
giginet
PRO
7
2.4k
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
170
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
480
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
110
CSC307 Lecture 14
javiergs
PRO
0
470
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
130
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Prompt Engineering for Job Search
mfonobong
0
180
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Become a Pro
speakerdeck
PRO
31
5.8k
The SEO Collaboration Effect
kristinabergwall1
0
390
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to train your dragon (web standard)
notwaldorf
97
6.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Color Theory Basics | Prateek | Gurzu
gurzu
0
240
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