Разработчиком программной модели Rx является Эрик Майер — признанный исследователь и разработчик ПО в Microsoft, создавший там несколько технологий. Он же продолжает играть лидирующую роль в эволюции технологии Rx. Команда создателей Rx будет теперь работать в рамках MS Open Tech Hub — инженерной программы по ускорению открытой разработки проектов и сотрудничеству с сообществами разработчиков, занимающихся системами на базе открытых исходных кодов.
Исходный код Rx будет размещен на сайте открытых проектов CodePlex компании Microsoft с целью расширения сообщества разработчиков, нацеленных на создание более унифицированного программного интерфейса, который мог бы быть использован сразу в нескольких языках программирования. В Microsoft надеются, что открытие исходных кодов технологии Rx должно увеличить количество проектов и отдельных приложений, использующих эту технологию, что позволит достичь лучшего взаимодействия между устройствами и облачной инфраструктурой, где размещаются Rx-приложения.
“Имеются приложения, которыми многие пользуются и которые, на самом деле, используют внутри себя технологию Rx”, — написал в посте Клаудио Кальдато. “Отличным примером здесь является web-сервис для хостинга открытых проектов GitHub for Windows”, — отметил он.
“В GitHub for Windows, технология Rx используется для решения почти всех задач, включая обработку запросов, поступающих из сети, событий, возникающих в связи с действиями над пользовательским интерфейсом, и управление дочерними процессами (git.exe)”, — отметил Пол Беттс, .NET-разработчик в проекте GitHub, высказывание которого было процитировано в блоге. “С помощью Rx и ReactiveUI, мы написали быстродействующее, почти на 100% асинхронное, быстро реагирующее приложение, одновременно имея для него на 100% детерминированные надежные модульные тесты. Технология Rx стала настолько популярной среди разработчиков десктопных приложений на GitHub, что собственную версию Rx и ReactiveUI создала команда разработчиков программ для компьютеров Mac, назвав ее ReactiveCocoa. И теперь она используется на этих компьютерах, давая те же преимущества, что и оригинальная разработка”, — пояснил он.
В блоге были также процитированы слова Скотта Вайнштейна, руководителя подразделения компании L49: “Модель программирования Rx стала ключевой технологией во многих наших проектах. Предоставляя универсальную форму доступа к данным, она дает возможность использовать одни и те же преобразования, выраженные на языке LINQ, ко всем типам данных, включая события, генерируемые при перемещении мышки по компонентам графического интерфейса пользователя, ретроспективные данные о продажах или потоковые данные, поступающие через веб-сервис. А с помощью LINQ-операторов, в которых, в частности, реализовано абстрактное понятие времени, очень легко программировать и тестировать приложения со сложной логикой поведения”.
Джафар Хусейн, старший разработчик ПО компании Netflix, добавил: “Система Rx значительно упростила наш технологический процесс и предоставила новые возможности для повышения быстродействия наших приложений. Ее высокие гибкость и качество позволили нам применить ее в качестве основы для разработки нашей новой платформы для доступа к данным. На сегодняшний день, в наших клиентских приложениях мы используем JavaScript- и .NET-версии технологии Rx, но эта технология требует обучения ей новых членов нашей команды”.
На сайте CodePlex система Rx представлена в виде нескольких библиотек:
- Rx.NET: библиотека для построения асинхронных и ориентированных на обработку событий программ, которые используют “наблюдаемые последовательности” (observable sequences) — особый тип данных в Rx, и LINQ-запросы;
- RxJS: аналогичная библиотека для использования в JavaScript-программах, работающих как под браузером, так и под сервером Node.js;
- Rx++: та же самая библиотека, но для использования в программах на C и C++.