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

Avatar for Ulric Wilfred

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; } });