rsjx libreria firebaseapp dev javascript rxjs

javascript - libreria - ¿Cuál es el lugar de RxJS en el ecosistema y la evolución de JS?



rxjs dev (2)

RxJs es la biblioteca que nos ayuda a hacer la Programación Reactiva.

La Programación reactiva es un patrón de desarrollo que funciona con el flujo de datos asíncrono creado por eventos de IU, solicitudes HTTP, sistema de archivos, caché, etc. Por lo tanto, el flujo de datos es una secuencia de eventos en curso de manera ordenada en el tiempo. El flujo puede emitir valor, error y señal de estado.

Los observables deben observar estos flujos y la función de activación en cualquier cosa que ocurra en el flujo. Los observadores pueden suscribirse a observables.

Ref- http://technobelities.blogspot.in/2017/02/rxjs-quick-start.html

Según MSDN, Reactive Extensions (Rx) es una biblioteca para componer programas asíncronos y basados ​​en eventos que utilizan secuencias observables y operadores de consulta de estilo LINQ. Las extensiones reactivas representan todas estas secuencias de datos como secuencias observables. Una aplicación puede suscribirse a estas secuencias observables para recibir notificaciones asíncronas a medida que llegan nuevos datos.

Para ser claros, espero que se presente información objetiva sobre RxJS y cómo se relaciona con la evolución de JavaScript, no una cuestión de opinión sobre qué tan bueno es RxJS, etc.

Mi pregunta es: es RxJS ( https://github.com/Reactive-Extensions/RxJS ) algo así como un polyfill con visión de futuro debido a que Object.observe , etc. no es estándar entre los navegadores todavía, o básicamente ofrece cosas más allá ¿El alcance de lo que ofrece JS nativo y más allá de lo que los estándares de JS buscan ofrecer en el futuro previsible? (Por supuesto, quizás algún día el JS nativo pueda ser capaz de X, Y, Z que no están actualmente en el radar; no estoy interesado en adivinar sobre eso). Quizás sea un combo.

Mi motivación / interés en la pregunta es considerar la inversión de aprendizaje e implementación de RxJS en aplicaciones, comparada con la línea de tiempo de las soluciones nativas de JS que están disponibles y / o si hay otras consideraciones que mencionar que no he mencionado aquí.


RxJS nació como un puerto de JavaScript de Rx.NET. No es un polyfill de Object.observe de Object.observe .

RxJs es una biblioteca para trabajar con operaciones asíncronas, con especial énfasis en operaciones de múltiples valores. La biblioteca le da al desarrollador un "lenguaje" común que pueden usar para escribir código funcional para manipular flujos asíncronos sin importar la fuente del flujo. El mismo "lenguaje" funciona con cualquier combinación de eventos de UI, eventos de temporizador, observaciones de mutación de objetos, cuadros de animación, llamadas ajax, mensajes websocket, mensajes de trabajadores web, promesas, etc.

Object.observe es un mecanismo para observar cambios en un objeto. RxJS no proporciona esta funcionalidad. Pero RxJS complementa esta funcionalidad: como un objeto se cambia con el tiempo, puede considerarse como una fuente de notificaciones de cambio de objeto asíncrono. Es bastante sencillo convertir estas observaciones en una fuente RxJS, (por ejemplo, algo como Rx.Observable.observeObject(someObject) ), que le permitiría trabajar con cambios de objetos como otra corriente RxJs asíncrona con toda la amplia gama de herramientas que RxJS pone a tu disposición.