Rx News
We’re proud to announce the availability of Reactive Extensions for Javascript. This port brings the power of Reactive programming to JavaScript. It allows you to use the Rx combinators in JavaScript, and it does this in a download size of less than 7Kb (GZipped). RxJS provides easy-to-use conversions from existing DOM, XmlHttpRequest, and jQuery events to Rx push-collections, allowing users to seamlessly plug Rx into their existing JavaScript-based web sites.
To give RxJs a try, download the installer. The installer comes with documentation and a small animation-based sample. You can provide feedback on RxJS on the regular Rx forum, and of course help the Rx community to convert the 101 Rx samples to JavaScript. For an introduction, watch the Rx for JavaScript video on Channel 9.
About Rx
Rx is a library for composing asynchronous and event-based programs using observable collections.
The “A” in “AJAX” stands for asynchronous, and indeed modern Web-based and Cloud-based applications are fundamentally asynchronous. In fact, Silverlight bans all blocking networking and threading operations. Asynchronous programming is by no means restricted to Web and Cloud scenarios, however. Traditional desktop applications also have to maintain responsiveness in the face of long latency IO operations and other expensive background tasks.
Another common attribute of interactive applications, whether Web/Cloud or client-based, is that they are event-driven. The user interacts with the application via a GUI that receives event streams asynchronously from the mouse, keyboard, and other inputs.
Rx is a superset of the standard LINQ sequence operators that exposes asynchronous and event-based computations as push-based, observable collections via the new .NET 4.0 interfaces IObservable<T> and IObserver<T>. These are the mathematical dual of the familiar IEnumerable<T> and IEnumerator<T> interfaces for pull-based, enumerable collections in the .NET Framework.
The IEnumerable<T> and IEnumerator<T> interfaces allow developers to create reusable abstractions to consume and transform values from a wide range of concrete enumerable collections such as arrays, lists, database tables, and XML documents. Similarly, Rx allows programmers to glue together complex event processing and asynchronous computations using LINQ queries over observable collections such as .NET events and APM-based computations, PFx concurrent Task<T>, the Windows 7 Sensor and Location APIs, SQL StreamInsight temporal event streams, F# first-class events, and async workflows.
Play with Rx, stress it, evaluate it, and tell us what you think.
Feedback
Give feedback about Rx in the DevLabs Forums.
I'm thinking it would be nice if query comprehension syntax supproted Rx. For example; from name in service.GetName() latest age in service.GetAge() l... more
Friday, Apr 16 by James Miles
Hey Guys,
You didn't write this in VB.NET by any chance? ;)
Cheers,
James
Friday, Apr 16 by James Miles
Hi Guys, ConnectableObservable.Connect() has gating that ensures the underlying observable only ever has one subscription. This is great. I've noticed... more
Friday, Apr 16 by James Miles
Hi guys, could you comment the change in ForkJoin() signature? It doesn't work with a collection of observables any more, right? Br, Pk... more
Friday, Apr 16 by Pavel Korotkov
There is no more FutureDisposable class in Rx 1.0.2441.0. So after upgrading to this release I've got tons of compile errors (cause I used it a lot).... more
Thursday, Apr 15 by iStalker
Featured Video
Watch the Channel 9 video, Erik Meijer: Rx Extensions in 14 Minutes
Download Reactive Extensions for .NET (Rx), a library for composing asynchronous and event-based programs using observable collections.
Get Started
Download and Install Rx for .NET Framework 3.5 SP1 or Rx for .NET Framework 4.0 RC or Rx for Silverlight 3 or Rx for JavaScript. | |
Read the Introductory Note to get started with Rx. |
Requirements
- Options: .NET Framework 3.5 SP1 (x86/x64), or .NET Framework 4.0 RC, or Silverlight 3
- Optional: Visual Studio 2008 SP1 or Visual Studio 2010 RC
转载自:http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx