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
RPD: Reactive Patch Development
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ulric Wilfred
November 28, 2016
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RPD: Reactive Patch Development
Presented at JSKongress 2016
Ulric Wilfred
November 28, 2016
More Decks by Ulric Wilfred
See All by Ulric Wilfred
Declarative UI in Elm (2026) @ Elm Camp
shamansir
0
13
Generative Animation with Elm
shamansir
0
250
The Future of Web UI Development
shamansir
0
170
iElm-Tech-JB.pdf
shamansir
0
130
"iElm"
shamansir
0
100
Elm Revolution
shamansir
0
120
Про Гит
shamansir
2
170
Elm: 2D and 3D Graphics
shamansir
1
560
RPD — Reactive Patch Development, Extended Cut
shamansir
0
240
Other Decks in Programming
See All in Programming
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
320
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
420
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
340
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
ALB ログから Trace を気合で繋げる技術
fohte
7
880
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
740
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Talk to Developers About Accessibility
jct
2
540
A Tale of Four Properties
chriscoyier
163
24k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Become a Pro
speakerdeck
PRO
31
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The agentic SEO stack - context over prompts
schlessera
0
900
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Transcript
Anton ‘shamansir’ Kotenko JetBrains GmbH (Ulric Wilfred)
RPD Framework Flow Programming for Everyone for Everyone http://shamansir.github.io/rpd
None
None
Examples: http://shamansir.github.io/rpd/examples
Styles:
* SVG and HTML rendering * Very Simple API *
Lightweight * Built using Functional Programming principles * Easy to create Toolkits * Easy to implement Rendering and define Styles * Easy to connect to other libs (Sound, Animation etc.) * Supports any async stuff w/Reactive Streams
var patch = Rpd.addPatch(‘Title’);
var node = patch.addNode(‘jb/voronoi’);
var inlet = node.inlets[‘source’];
var inlet = node.addInlet(‘core/any’, ‘source’);
inlet.receive(loadImage(‘myImage.jpg’));
outlet.connect(someInlet);
outlet.send(Kefir.later(1000, ‘foo’));
Rpd.nodetype(‘my/sum’, { inlets: { a: { type: ‘core/number’ }, b:
{ type: ‘core/number’ } }, outlet: { sum: { type: ‘core/number’ } }, process: function(inlets) { return { sum: inlets.a + inlets.b } } });
Rpd.nodetype(‘my/sum’, { inlets: { a: { type: ‘core/number’ }, b:
{ type: ‘core/number’ } }, outlet: { sum: { type: ‘core/number’ } }, process: function(inlets) { return { sum: Kefir.later( 1000, inlets.a + inlets.b ); } } });
Rpd.noderender(‘my/sum’, ‘svg’, { first: function(bodyElm) { … }, always: function(bodyElm,
inlets, outlets) { bodyElm.innerText = inlets.a + inlets.b + outlets.sum; } });
Rpd.nodetype(‘my/sum’, function() { return { inlets: { … }, outlet:
{ … }, process: function(…) { … } } });
Rpd.noderenderer(‘my/sum’, ‘svg’, function() { return { first: function(…) { …
}, always: function(…) { … } }; });
RPD Framework Flow Programming for Everyone for Everyone http://shamansir.github.io/rpd