Functional Reactive Programming at Booster 2014

50 %
50 %
Information about Functional Reactive Programming at Booster 2014
Technology

Published on March 12, 2014

Author: mikaelbr

Source: slideshare.net

Description

On norwegian: Lyntale på Booster Conf i 2014.

Functional Reactive Programming i Javascript. Bruk av korte kodeeksempler i Bacon.js

INTRODUKSJON TIL FUNCTIONAL REACTIVE PROGRAMMING Kombinasjonen mellom funksjonell og reaktiv paradigme Booster 2014 Mikael Brevik 12/03/2014

Fremad- stormende #ithipster teknologi

FUNKSJONELL PROGRAMMERING En deklarativ programmeringsparadigme med funksjoner i fokus. Unngår tilstander og mutable objekter. Unngår uønskede bieffekter med bruk av rene funksjoner

FUNKSJONELL PROGRAMMERING Vanlig med bruk av blant annet funktorer som map, filter og reduce. [1, 2, 3].map(function (i) { return i * 2; }); //= [2, 4, 6] [1, 2, 3].filter(function (i) { return i % 2 === 0; }); //= [2]

FUNKSJONELL PROGRAMMERING [1, 2, 3].reduce(function (acc, i) { return acc + i; }); //= 6

Reaktiv Programming

REAKTIV PROGRAMMERING Kan beskrives som en metode for å holde systemet kontinuerlig oppdatert med omgivelsene. En måte for data å reagere på endringer og oppdatere seg for å reflektere disse endringene.

REAKTIV PROGRAMMERING 9 5 4 ADD

Funksjonell Reaktiv Programmering (FRP)

FRP To generelle konsepter 1.  Behaviours (Adferd) : f(t) -> v 2.  Events (Hendelse) : [(t, v)]

FRP Hendelser En diskret verdi. Eksempelvis museklikk eller en mengde. I FRP blir adferder og hendelser behandlet som sekvenser og kan bli håndtert på en funksjonell måte. Adferder En kontinuerlig verdi. Eksempelvis klokken, høyde eller vektorgrafikk.

FRP Gevinst av FRP •  Reaktive datatyper for representasjon av tilstand. •  Sammensettbar data / komposisjoner •  GUI uten bi-effekter. Praktisk bruk

FRP Bacon.js Bacon er et bibliotek som kan brukes for å oppnå FRP i nettleseren I Bacon kalles en adferd Property og hendelse kalles EventStream.

FRP I Bacon.js innkapsler vi datakilder som reaktive datatyper. •  fromEventTarget •  fromPromise •  fromCallback •  ...med flere

Ren Javascript

FRP Bacon.fromEventTarget($('input'), 'keyUp') .map('.keyCode') .filter(function (code) { return code === 66; }); //= En EventStream med verdi hver gang //= tasten B blir trykket

FRP var getInputAsProperty = function (id) { var $el = $(id); return $el.asEventStream('change') .map('.currentTarget.value') // får inn jquery event obj. .toProperty($el.val()) // får inn tekst .map(Number); // gjør om til tall }; var $a = getInputAsProperty("#a"), $b = getInputAsProperty("#b"); $a.combine($b, _add).assign($("#sum"), "val");

FRP mouseMove // isClickDown er en property som er true når mus er klikket .filter(isClickDown) // Spre utover per 50. ms .throttle(50) // Gjør om til et parsable objekt .map(function (e) { return { x: e.clientX, y: e.clientY, color: randomColor }; }) // Tegn en figur .onValue(drawCircle)

TAKK FOR MEG! Mikael Brevik @mikaelbrevik

Add a comment

Related presentations

Related pages

August | 2014 | Functional Reactive Programming

This entry was posted in Uncategorized on 22 August 2014 by Stephen Blackheath. Should ‘sample’ exist? Should ... Functional reactive programming ...
Read more

Functional Reactive Programming Slide decks | Lanyrd

See Functional Reactive Programming conferences. Your current filters are ... Slides Functional Reactive Programming at Booster 2014 (slideshare.net) ...
Read more

C++Now 2014: Functional Reactive Programming - Cleanl...

View more about this event at C++Now 2014. ... their discovery of a new mathematical model of interactivity dubbed functional reactive programming ...
Read more

Functional reactive programming - Wikipedia, the free ...

Functional reactive programming (FRP) is a programming paradigm for reactive programming (asynchronous dataflow programming) using the building blocks of ...
Read more

Practical Functional Reactive Programming

Practical Functional Reactive Programming ... Tangible functional programming. In International Conference on Functional Programming,2007. 6.ConalElliott.
Read more

Bacon.js - Functional Reactive Programming - Thomas Holmes ...

Functional reactive programming (FRP) ... Recorded at the March, 2014, meeting of the Atlanta Ruby Users' Group. There was no February meeting.
Read more

Functional Reactive Programming and Bacon at NDC Oslo 2014 ...

Functional Reactive Programming and Bacon ... Functional programming has been popular for quite some time, ... Date Wed 4th June 2014. Where. Oslo Spektrum.
Read more

RxJava: Functional Reactive Programming - RJUG - December ...

RxJava: Functional Reactive Programming - RJUG - December 17, 2014 ... 33rd Degree 2014 - High Performance Reactive Applications with Vert.x ...
Read more

terminology - What is (functional) reactive programming ...

I've also read the small article on functional reactive programming. ... functional reactive . ... reactive programming and functional programming ...
Read more

React San Francisco 2014

... 2 day single track conference about building reactive systems ... React 2014 A 2-day, single ... the author of "Functional Programming for Java ...
Read more