Reactive Extensions
Reactive Extensions (Rx) 是一個(gè)程序庫(kù),使用可觀測(cè)對(duì)象(IObservable<T>)的序列和 LINQ 風(fēng)格的查詢操作來(lái)編寫異步和基于事件的程序。開(kāi)發(fā)人員可通過(guò) Rx 使用可觀測(cè)對(duì)象來(lái)表示異步數(shù)據(jù)流,并使用 LINQ 操作來(lái)查詢異步數(shù)據(jù)流。簡(jiǎn)而言之:Rx = Observables + LINQ + Schedulers.
Rx 有多個(gè)語(yǔ)言版本:https://github.com/ReactiveX?page=1
整個(gè)項(xiàng)目包含:
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<T>.
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.
