1. Introducción
El PDF del documento está disponible |AQUÍ|.
Los ejemplos del documento están disponibles |AQUÍ|.
1.1. Contexte
Este documento no está destinado a principiantes, sino a usuarios con una sólida experiencia en Java. Utiliza las siguientes fuentes:
- Documentación [Reactive Programming];
- Las funciones lambda de Java 8;
- Learning Reactive Programming With Java 8;
- Java 8 in Action;
A diferencia de otros documentos que he escrito, este se basa principalmente en ejemplos y profundiza poco en la teoría. Sin embargo, cada ejemplo va acompañado de una explicación y hay una progresión lógica en el documento.
ReactiveX es un conjunto de bibliotecas que facilitan la programación asíncrona y el aprovechamiento de los datos así obtenidos:
![]() |
![]() |
![]() |
La biblioteca Rx se ha implementado en muchos lenguajes:
![]() |
Aquí nos centramos en las siguientes bibliotecas:
- RxJava para el mundo Java;
- RxAndroid, una especialización de RxJava para el entorno Android;
- RxSwing, una especialización de RxJava para el entorno Swing;
Los conceptos de la programación reactiva son, a primera vista, complejos. Por eso, este documento no está destinado, en principio, a principiantes. No obstante, me he esforzado mucho por explicar los códigos utilizados y un principiante podrá familiarizarse con la programación reactiva gracias a este documento.
1.2. Herramientas utilizadas
Los ejemplos que siguen se han probado con el siguiente entorno de trabajo:
- ordenador con Windows 10 Pro de 64 bits;
- JDK 1.8 (apartado 1);
- Intellij IDEA Community Edition (apartado 10.4);
1.3. Los códigos de los ejemplos
Los códigos de los ejemplos que siguen se pueden encontrar |ICI| en la carpeta [dvp/exemples].
![]() | ![]() |
La carpeta [dvp/exemples] [2] es la de un proyecto Gradle que contiene la mayoría de los ejemplos de este documento. Puede abrirse con cualquier IDE que admita el gestor de proyectos Gradle [http://gradle.org/]. Intellij IDEA lo admite de forma nativa. Para Eclipse o Netbeans se necesita un complemento. Con Intellij IDEA Community Edition, se puede proceder de la siguiente manera:
![]() | ![]() |
El proyecto [exemples] se configura mediante el siguiente archivo [build.gradle] [4]:
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
jar {
baseName = 'exemples-01'
version = '0.0.1-SNAPSHOT'
}
repositories {
mavenCentral()
}
dependencies {
compile('io.reactivex:rxswing:0.25.0')
compile('io.reactivex:rxjava:1.1.3')
compile('com.fasterxml.jackson.core:jackson-databind:2.7.3')
}
task wrapper(type: Wrapper) {
gradleVersion = '2.9'
}
- líneas 18-22: las dependencias Gradle del proyecto (las bibliotecas que hay que descargar);
- línea 19: la biblioteca necesaria para el ejemplo de Swing estudiado en el apartado 2;
- línea 20: la biblioteca RxJava;
- línea 21: una biblioteca jSON;
- líneas 9-12: las características del archivo Jar generado por la compilación del proyecto;
Para descargar las dependencias necesarias para el proyecto, proceda de la siguiente manera [1-4]:
![]() | ![]() |









