Post Top Ad

Your Ad Spot

martes, 2 de julio de 2019

5 razones sólidas para usar RxJava en tus proyectos Java

Las extensiones reactivas (Rx) son un conjunto de métodos e interfaces que se utilizan para resolver muchos problemas simples y complejos de los desarrolladores. Su uso con Java le permite administrar múltiples acciones ocurridas debido a varios eventos del sistema simultáneamente. Te ayuda a escribir código elegante manteniendo la simplicidad. Hoy, compartiré cinco razones sólidas por las que deberías usar RxJava en tus proyectos.

¿Por qué debería usar RxJava en sus proyectos?

RX JAva

1. Enfoque funcional

La programación funcional incluye el uso activo de funciones como parámetros, así como los resultados en otras funciones. Por ejemplo, Mapa es una función de orden superior que se usa en varios lenguajes de programación, y si se aplica a todos los elementos de una lista, devolverá una lista de resultados. Puedes entender esto mirando el ejemplo dado abajo.
En general, si está familiarizado con la programación funcional y entiende los conceptos de mapas y códigos zip, aprender RxJava será mucho más fácil para usted.
Ejemplo:
Observable.from (jsonFile)
.map (nuevo Func1 <Archivo, Cadena> () {
@ Anular llamada pública de cadena (archivo) {
tratar {
devolver nuevo Gson (). toJson (nuevo FileReader (archivo), Object.class);
} catch (FileNotFoundException e) {
lanzar OnErrorThrowable.addValueAsLastCause (e, archivo);
}
}
});

2. Operadores con programadores.

Hay muchos operadores que requieren que defina el Programador para poder utilizar la función. También tienen sus métodos sobrecargados que usan computation (), delay () como Scheduler. Echa un vistazo al código de abajo.
Suscriptor de TestSubscriber <Integer> = nuevo TestSubscriber <> ();
Observable.just (1) .delay (1, TimeUnit.SECONDS) .subscribe (suscriptor);
subscriber.awaitTerminalEvent ();
Logger.d ("LastSeenThread:" + subscriber.getLastSeenThread (). GetName ());
Incluso sin declarar ningún planificador, todavía podemos ver el siguiente resultado.
LastSeenThread: RxComputationThreadPool-1
Siempre debe declarar los programadores requeridos como el tercer argumento si no desea usar el programador de cómputo.
.delay (1, TimeUnit.SECONDS, Schedulers.immediate ())
Además de la demora (), tiene muchos otros operadores que pueden cambiar el Programador, como el intervalo (), rebotar (), temporizador (), omitir (), tiempo de espera () , etc.

3. Easy Caching

RxJava Caching - Razones para usar RxJava en sus proyectos
El almacenamiento en caché es una de las mejores formas de mejorar el rendimiento de una aplicación. Ayuda a reducir las llamadas de la red almacenando en caché la respuesta de la red y recupera los datos muy rápidamente si ya está almacenado en caché. Hay dos tipos de almacenamiento en caché: el caché de memoria que guarda los datos en la memoria de la aplicación y el caché de disco que guarda los datos en el disco.
Lea también: Los  5 mejores IDE de código abierto para el lenguaje de programación Java

4. Temas

Si está trabajando con objetos, también debe saber que la secuencia de cambios en los datos enviados al siguiente tema de forma predeterminada se ejecutará en el mismo subproceso. Incluso se usa para llamar al método Next (), hasta que el operador observeOn () no aparezca en esta secuencia.
BehaviorSubject <Object> subject = BehaviorSubject.create ();
tema
.doOnNext (obj -> Logger.logThread ("doOnNext"))
.subscribeOn (Schedulers.io ())
.observeOn (Schedulers.newThread ())
.subscribe (nuevo suscriptor <Object> () {
@Anular
public void onNext (objeto o) {
Logger.logThread ("onNext");
}
});
subject.onSiguiente ("str");
Handler handler = new Handler ();
handler.postDelayed (() -> subject.onNext ("str"), 1000);
Tanto ObservOn como subscribeOn están presentes aquí, pero el resultado es el siguiente:
doOnNext: RxCachedThreadScheduler-1
enSiguiente: RxNewThreadScheduler-1
doOnSiguiente: main
enSiguiente: RxNewThreadScheduler-1
Simplemente significa que cuando nos suscribimos al tema, devuelve el valor inmediatamente y luego se procesa en un hilo de Shedulers.io (). Después de eso, cuando el siguiente mensaje parece estar sujeto, usamos el hilo para llamar aNext ().

5. Arroyos asíncronos.

Supongamos que necesita enviar una solicitud a la base de datos para comenzar a recibir los mensajes y la configuración de inmediato. Una vez que se complete todo el proceso, debería mostrar un mensaje de bienvenida en la pantalla.
Si desea lograr esto en Java, deberá seguir un largo proceso de ejecución de 3 a 4 AsyncTasks diferentes, creando un semáforo que esperará a que se complete la configuración y las solicitudes de mensajes, etc.
Pero con RxJava, podemos optimizar el proceso en el que el código es como un subproceso ubicado en un lugar y se está construyendo sobre la base de un paradigma funcional.
Recomendado:  5 mejores alternativas al lenguaje de programación Java

Conclusión

Estas fueron algunas de las razones sólidas para usar RxJava en su proyecto. Si aún piensa que es difícil o no tiene la experiencia suficiente, recuerde, incluso si hace algo mal al usar RxJava, no será el fin del mundo. El conocimiento de RxJava puede ayudarlo a solucionar muchos problemas fácilmente.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas