Archives
-
Time Flies Like An Arrow in F# and the Reactive Extensions for .NET
In the past week, I had the pleasure of speaking on Reactive Programming in F# with Brian McNamara at a conference out in Seattle. The point of this talk was to cover the what and why of using F# in reactive programming on both the client and the server and showed quite a few examples. One of the samples Brian alluded to, the “Time Flies Like An Arrow” example, which is an example of having a stream of text, each character delayed behind the previous, follow the mouse around the screen. Brian’s version used a combination of both the asynchronous workflows which are a standard part of F#, as well as first class events/observables. For my version, I’m going to strictly use F# first class events and the integration with the Reactive Extensions for .NET to show you how it can be done.
-
Introduction to the Reactive Extensions for JavaScript – jQuery Live Event Integration
So far we’ve come a long way in this series, starting with some of the basics, and then going deeper with composition with such things as the Bing Maps and Twitter Mashup, Drag and Drop, asynchronous programming among others. One of the nicest aspects so far is the ease of integration into jQuery. For the first release, we have Observable.FromJQueryEvent, but we didn’t quite cover live events and the integration points that we can extend. Let’s cover that today and what is coming in a future release of the Reactive Extensions for JavaScript.
-
Introduction to the Reactive Extensions for JavaScript – Drag and Drop
We’ve covered a bit of ground in this series on the Reactive Extensions for JavaScript, covering the basics, jQuery integration, blocking to asynchronous and further composition. One way I’ve found to really get your hands dirty using this library is to take examples from other libraries and translate them into using our library of choice. In this case, I’m taking examples written in the Flapjax language, and translating them into the Reactive Extensions for JavaScript and jQuery.
-
The Reactive Extensions for JavaScript Released
The long awaited day has come as the Reactive Extensions for JavaScript have been released on DevLabs in conjunction with the talk given by Erik Meijer at Mix 2010. Jeff Van Gogh, one of the principal developers on this project has more details and a detailed look at the sample application of “Time Flies Like an Arrow”. I’d like to also give a detailed explanation of another sample application, the Bing Maps and Twitter mashup.
-
Introduction to the Reactive Extensions for JavaScript – Composing deeper
We’ve covered a bit of ground already in this series on the Reactive Extensions for JavaScript (RxJS) from the basic information, creating observers and observables, jQuery integration, composing asynchronous methods with callbacks and in the last post, turned blocking calls into asynchronous calls. Now that we have some more fundamental building blocks, let’s see what else we can do with it. Before moving to FlapJax examples, I want to revisit the Microsoft Translator to take a piece of text and translate into all languages except the currently detected.
-
Introduction to the Reactive Extensions for JavaScript – Wikipedia Lookup
We’ve covered a bit of ground already in this series on the Reactive Extensions for JavaScript (RxJS) from the basic information, creating observers and observables, jQuery integration, composing asynchronous methods with callbacks and in the last post, talking about turning blocking calls into asynchronous calls. Now that we have some more fundamental building blocks, let’s see what else we can do with it. Before I move into FlapJax examples translated to the Reactive Extensions for JavaScript, I want to first visit a basic autocomplete/lookup scenario in which we can query a data source as we type, as such sites as Bing, Google, Wikipedia and others do. In this example, we’ll use Wikipedia as the backend source for doing our autocomplete.
-
Introduction to the Reactive Extensions for JavaScript – From Blocking to Async
We’ve covered a bit of ground already in this series on the Reactive Extensions for JavaScript (RxJS) from the basic information, creating observers and observables, jQuery integration and in the last post talking about composing asynchronous methods with callbacks. Now that we have some more fundamental building blocks, let’s see what else we can do with it. Since we talked about asynchronous methods last time and making them composable, how about this time taking a method that is seemingly a blocking AJAX call and turn it into an asynchronous method? In this post, we’ll finish up the Microsoft Translator example by playing with the getLanguages and getLanguageNames methods and see what we can do with them.
-
Introduction to the Reactive Extensions for JavaScript – Composing Callbacks
So far in this series, we’ve covered some basic information about the Reactive Extensions for JavaScript (RxJS) including creating observables and creating observers as well as jQuery integration. Now that we have a foundation in some of the basic building blocks, let’s actually do something interesting with it. For example, how would we compose two AJAX calls together with callbacks? In this post, we’ll explore using the Bing Translator in combination with jQuery and the RxJS.
-
Introduction to the Reactive Extensions for JavaScript – jQuery Integration
So far in this series, we’ve discussed the intent of the Reactive Extensions for JavaScript (RxJS) and how to create the publishers (Observables) and subscribers (Observers). Along the way, we’ve talked a little about integration with other libraries such as jQuery (although we could talk about others) and since JavaScript developers tend to work in quite a few libraries, it’s best to see how we can fit RxJS in those solutions.