Из того, что я вижу в исходном коде MobX, не так много совпадений.Ни один из них не использует друг друга и не имеет общей зависимости друг от друга.
Интерпретация Observable в MobX, по-видимому, заключается в том, что объекты, массивы, карты и т. Д. Обернуты объектом Proxy для отслеживания и уведомленияна изменениях собственности.Это используется для передачи сообщений об изменениях состояния через приложение, при этом относительно мало изменяясь на ванильные типы javascript (что, вероятно, они и подразумевают под «прозрачным»).Хотя эти типы могут быть наблюдаемыми (как в глаголе), они не являются реализацией Наблюдаемых, определенных ReactiveX .
RxJS, с другой стороны, предоставляет совершенно новый, некоторые скажутогромный, API, который используется для изменения так называемых «уведомлений», генерируемых абстрактными наблюдаемыми типами, которые не обязательно представляют ванильные типы JavaScript.Вместо непосредственного изменения объектов для выражения потоков выполнения используется язык «LINQ-иш», состоящий из конвейерных операторов.Во многих отношениях RxJS можно рассматривать как расширение языка для JavaScript, чтобы включить реактивное программирование , как определено в наблюдаемом контракте .
Хотя есть одно совпадение, и это утверждение "MobX" как библиотеки, которая используется для
, прозрачно применяющего функциональное реактивное программирование
RxJS также обеспечивает реактивное программирование, но оно определенно не прозрачно.