Library for composing asynchronous and event-based operations in JavaScript extending the Windows WinJS library

RxJS-WinJS 1.0 - WinJS Bindings for the Reactive Extensions for JavaScript

This project provides Reactive Extensions for JavaScript (RxJS) bindings for WinJS which includes support for HTML DOM objects to abstract over the event binding and Ajax requests via promises. This also bridges to HTML5 features such as Web Workers, WebSockets, MutationObservers and more, in addition to support for sensors as well. The RxJS libraries are not included with this release and must be installed separately.

There are a number of ways to get started with the WinJS Bindings for RxJS.

To download the source of the WinJSBindings for the Reactive Extensions for JavaScript, type in the following:

git clone https://github.com/Reactive-Extensions/RxJS-WinJS.git
cd ./RxJS-WinJS

There are a number of ways to get started with the Windows 8 and WinJS Bindings Bindings for RxJS.

To download the source of the WinJS Bindings for the Reactive Extensions for JavaScript, type in the following:

git clone https://github.com/Reactive-Extensions/rxjs-winjs.git
cd ./rxjs-winjs

Installing with NPM

npm install rx-winjs

Installing with Bower

bower install rx-winjs

Installing with Jam

jam install rx-winjs

Installing with NuGet

PM> Install-Package RxJS-Bridges-winjs  

There are a number of bridges to features for both HTML5 and WinJS features such as the following:

  • Rx.WinJS.fromEvent
  • WinJS.Binding.as
  • Rx.WinJS.Geolocation
    • Rx.WinJS.Geolocation.getCurrentPosition
    • Rx.WinJS.Geolocation.watchPosition
  • Rx.WinJS.fromWebSocket
  • Rx.WinJS.fromWebWorker
  • WinJS.Promise.toObservable
  • WinJS.Promise.prototype.toObservable
  • Rx.Observable.prototype.toPromise
  • Rx.WinJS.fromSensorEvent

  • Rx.WinJS.Accelerometer

    • Rx.WinJS.Accelerometer.readingChanged
    • Rx.WinJS.Accelerometer.shaken
  • Rx.WinJS.Compass

    • Rx.WinJS.Accelerometer.readingChanged
  • Rx.WinJS.Compass

    • Rx.WinJS.Accelerometer.readingChanged
  • Rx.WinJS.Gryometer

    • Rx.WinJS.Gryometer.readingChanged
  • Rx.WinJS.Inclinometer

    • Rx.WinJS.Inclinometer.readingChanged
  • Rx.WinJS.LightSensor

    • Rx.WinJS.LightSensor.readingChanged
  • Rx.WinJS.OrientationSensor

    • Rx.WinJS.OrientationSensor.readingChanged
  • Rx.WinJS.SimpleOrientationSensor

    • Rx.WinJS.SimpleOrientationSensor.orientationChanged

You can find the documentation here as well as examples here.

There are lots of ways to contribute to the project, and we appreciate our contributors.

You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submit bugs and help us verify fixes as they are checked in, as well as submit code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the Rx Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.

Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Microsoft Open Technologies would like to thank its contributors, a list of whom are at http://rx.codeplex.com/wikipage?title=Contributors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.