Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RPD — Reactive Patch Development, Extended Cut

RPD — Reactive Patch Development, Extended Cut

Presented at Munich JS Meetup, 09 Feb 2017

Ulric Wilfred

February 09, 2017
Tweet

More Decks by Ulric Wilfred

Other Decks in Programming

Transcript

  1. • SVG and HTML rendering • Very Simple API •

    Lightweight • Built using f unctional Programming principles • Easy to create Toolkits • Easy to implement Rendering and define Styles • Easy to connect with other libs (Sound, Animation etc.) • Supports any async stuff w/Reactive Streams • Import and Export history from/to JSON or whatever
  2. • SVG and HTML rendering • Very Simple API •

    Lightweight • Built using f unctional Programming principles • Easy to create Toolkits • Easy to implement Rendering and define Styles • Easy to connect with other libs (Sound, Animation etc.) • Supports any async stuff w/Reactive Streams • Import and Export history from/to JSON or whatever ⽻羽 </> ⬇ ⬆ λ Rx
  3. 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 } } });
  4. 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 ); } } });
  5. Rpd.noderender(‘my/sum’, ‘svg’, { first: function(bodyElm) { … }, always: function(bodyElm,

    inlets, outlets) { bodyElm.innerText = inlets.a + inlets.b + outlets.sum; } });