Reactive Extensions -


Apache
Windows
C#

软件简介

Reactive Extensions (Rx) 是一个程序库,使用可观测对象(IObservable)的序列和 LINQ
风格的查询操作来编写异步和基于事件的程序。开发人员可通过 Rx 使用可观测对象来表示异步数据流,并使用 LINQ 操作来查询异步数据流。简而言之:Rx =
Observables + LINQ + Schedulers.

Rx 有多个语言版本:https://github.com/ReactiveX?page=1

整个项目包含:

  • Reactive Extensions:

    • Rx.NET: The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators.

    • RxJS: The Reactive Extensions for JavaScript (RxJS) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in JavaScript which can target both the browser and Node.js.

    • Rx: The Reactive Extensions for Native (RxC) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C.

  • Interactive Extensions:

    • Ix: The Interactive Extensions (Ix) is a .NET library which extends LINQ to Objects to provide many of the operators available in Rx but targeted for IEnumerable.

    • IxJS: An implementation of LINQ to Objects and the Interactive Extensions (Ix) in JavaScript.

    • Ix: An implantation of LINQ for Native Developers in C

  • Binding Examples:

    • Tx: Tx is set of code samples showing how to use LINQ to events, such as real-time standing queries and queries on past history from trace and log files, which targets ETW, Windows Event Logs and SQL Server Extended Events.

    • LINQ2Charts: an example for Rx bindings. Similar to existing APIs like LINQ to XML, it allows developers to use LINQ to create/change/update charts in an easy way and avoid having to deal with **** XML or other underneath data structures. We would love to see more Rx bindings like this one.