Insights

Functional Reactive JavaScript Programming w/ Bacon.js

2 min read Joe Hanson on Oct 16, 2014
Try PubNub Today

Free up to 1MM monthly messages. No credit card required.

Subscribe to our newsletter

By submitting this form, you are agreeing to our Terms and Conditions and Privacy Policy.

The blog post looks at the core concepts of functional reactive JavaScript programming, as well as practical applications of it with Bacon.js.

reactive javascriptThe re-emergence of functional programming coincides nicely with the JavaScript renaissance. But where does the UI fit in?

Pete Hodgson of ThoughtWorks dropped by PubNub HQ for San Francisco JavaScript to answer just that. In his talk, Pete covers the core concepts of functional reactive JavaScript programming, while learning a practical application of them using Bacon.js.

He also walked through how to build user interface components in a clear, declarative style by modeling both user interaction and back-end processing using one clean abstraction: stream of events.

As you watch the video below, feel free to click through Pete’s slides. You can also check out the live examples from Pete’s talk here.]

Functional Reactive JavaScript – Pete Hodgson from PubNub on Vimeo.

Variables vs. Streams in Functional Reactive JavaScript Programming

Reactive JavaScript

In a regular JavaScript application, a variable is simply a snapshot of a value at a specific time. If you grab the value of a text field in a DOM element, and store it somewhere, that’s the value of that text field at that moment. If someone changes that text field, the variable doesn’t change, it’s just a snapshot at that point of time.

The innovation of functional reactive programming is we start thinking about things as streams. Streams are all possible future values over time. Say you grab a stream from a text field in a DOM element, you don’t just have the current value, but rather all future values of that text field. And that has major implications of how we program with JavaScript.

More from PubNub

Top Trends to Engage Your App Users
InsightsSep 27, 20224 min read

Top Trends to Engage Your App Users

Take a look at the top trends that are the most effective in attracting customers and reducing churn, and how you can incorporate...

PubNub Staff

PubNub Staff

Comparing Game Engines: Unity vs Unreal vs the Rest
Real-Time Gaming BlogSep 21, 20225 min read

Comparing Game Engines: Unity vs Unreal vs the Rest

Comparing the major game engines: Unity vs Unreal Engine vs Corona SDK vs GameMaker Studio, including the benefits and cons of...

PubNub Staff

PubNub Staff

Python Socket Programming: Client, Server and Peer Libraries
BuildSep 21, 20226 min read

Python Socket Programming: Client, Server and Peer Libraries

Sockets (aka socket programming) enable programs to send and receive data, bi-directionally, at any given moment. This tutorial...

PubNub Staff

PubNub Staff