Bacon.js — FRP на javascript

FRP — Functional Reactive Programming (http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming/1030631#1030631, хотя читается тяжело). Пришло из Haskell.
В чём суть.
Функциональное реактивное программирование так же соотносится с обычным слушанием событий, как функциональное программирование с циклами и условными операторами.
Т.е. представляет собой декларативный способ работы с событиями.
Есть два типа сущностей.

Поток (EventStream)

Подписавшись на поток, можно слушать все происходящие события в потоке. Потоки можно объединять.

Свойство (Property)

Свойство — это состояние потока в определённый момент времени.

Эти вещи сложно объяснить (к тому же, я сам не до конца это пока понимаю), лучше посмотреть видео и всё станет более понятным.

http://www.youtube.com/watch?v=jIsxcXBWthI

Презентация — http://raimohanska.github.io/bacon.js-slides/0.html

Репозиторий с хорошей подробной документацией — https://github.com/baconjs/bacon.js.
Bacon.js совместим с jQuery (Zepto) и с Node.js

Вот ещё одно выступление, уже на русском, ведётся в клоунской манере, но может быть кому-нибудь так понятнее:

http://youtu.be/R4sTvHXkToQ

LEAVE A COMMENT