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
h2so5
February 02, 2017
Programming
0
620
Riot.js Tokyo #2
h2so5
February 02, 2017
Tweet
Share
More Decks by h2so5
See All by h2so5
Dripcap03
h2so5
2
330
Goによる P2Pチャットシステムの開発
h2so5
11
6.3k
Other Decks in Programming
See All in Programming
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
0
810
エンターテイメント業界で利用されるAWS
demuyan
0
210
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
Node.js v22 で変わること
yosuke_furukawa
PRO
8
2.7k
Site Reliability Engineering for GMO
pyama86
7
1k
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
26
8.2k
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
Java 22 Overview
kishida
1
180
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Clear Off the Table
cherdarchuk
84
310k
Happy Clients
brianwarren
92
6.4k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
How to name files
jennybc
65
93k
Web development in the modern age
philhawksworth
202
10k
It's Worth the Effort
3n
180
27k
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