Intro a RxJava en el meetup de Android Murcia

Ayer hice una pequeña introducción a RxJava, y aquí os dejo un pequeño resumen y las transparencias.

Tras unas pinceladas sobre la programación reactiva y sobre la programación funcional, pasamos a ver el núcleo de ReactiveX: las interfaces Observable y Observer.

A través de Observable podemos generificar cualquier fuente de datos, mientras que con Observer evitamos el uso de Listeners individuales para cada uno.

A continuación, vemos algunos operadores para modificar el stream de datos, así como para filtrarlo. En un par de transparencias hablo sobre la diferencia entre el uso con Java6 y con Java 8, con funciones lambda usando Retrolambda para convertirlas a Java 6. Mostrando el bytecode vemos que no es exactamente igual el uso de cada uno de ellos, aunque muy similar.

Para continuar, vemos la mejor característica de RxJava bajo mi punto de vista, el threading a través de Schedulers.

Con observeOn y subscribeOn podemos de una forma sencilla cambiar el hilo de ejecución de nuestro stream de RxJava.

Finalmente, vemos algunos casos de uso, utilizando para ello Chisme for Sensu, una app completamente desarrollada sobre RxJava.

Algunos de los ejemplos que vemos son el uso con Retrofit, con RxBinding y la integración con tests a través de Espresso y Mockito.

comments powered by Disqus