$30 off During Our Annual Pro Sale. View Details »
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
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
120
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
Implementation Patterns
denyspoltorak
0
110
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
AIコーディングエージェント(NotebookLM)
kondai24
0
230
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
TestingOsaka6_Ozono
o3
0
170
認証・認可の基本を学ぼう前編
kouyuume
0
270
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
360
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
280
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
820
Design in an AI World
tapps
0
100
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
190
The Pragmatic Product Professional
lauravandoore
37
7.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
850
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Information Architects: The Missing Link in Design Systems
soysaucechin
0
710
Automating Front-end Workflow
addyosmani
1371
200k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
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