1. Вступ
PDF цього документа доступний за посиланням |TYT|.
Приклади з документа доступні за посиланням |TYT|.
1.1. Contexte
Цей документ призначений не для початківців, а для користувачів, які мають солідний досвід роботи з Java. У ньому використовуються такі джерела:
На відміну від інших документів, які я писав, цей документ базується переважно на прикладах і не заглиблюється в теорію. Проте кожен приклад супроводжується поясненням, а сам документ має логічну послідовність.
ReactiveX — це набір бібліотек, що полегшують асинхронне програмування та роботу з отриманими даними:
![]() |
![]() |
![]() |
Бібліотека Rx реалізована на багатьох мовах:
![]() |
Тут нас цікавлять такі бібліотеки:
- RxJava для середовища Java;
- RxAndroid — спеціалізація RxJava для середовища Android;
- RxSwing — спеціалізація RxJava для середовища Swing;
Концепції реактивного програмування на перший погляд є складними. Тому цей документ, в принципі, не призначений для початківців. Проте я доклав чимало зусиль, щоб пояснити використані коди, і навіть «початківець-початківець» зможе ознайомитися з реактивним програмуванням за допомогою цього документа.
1.2. Використані інструменти
Наведені нижче приклади було протестовано в такому робочому середовищі:
- комп’ютер із Windows 10 Pro 64-біт;
- JDK 1.8 (параграф 1);
- Intellij IDEA Community Edition (параграф 10.4);
1.3. Код прикладів
Код прикладів, наведених нижче, можна знайти |ICI| у папці [dvp/exemples].
![]() | ![]() |
Папка [dvp/exemples] [2] — це папка проекту Gradle, що містить більшість прикладів з цього документа. Її можна відкрити в будь-якому IDE, що підтримує менеджер проектів Gradle [http://gradle.org/]. IntelliJ IDEA підтримує його нативно. Для Eclipse або NetBeans потрібен плагін. У IntelliJ IDEA Community Edition можна діяти наступним чином:
![]() | ![]() |
Проєкт [exemples] налаштовується за допомогою такого файлу [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'
}
- рядки 18–22: залежності Gradle проекту (бібліотеки, які потрібно завантажити);
- рядок 19: бібліотека, необхідна для прикладу Swing, розглянутого в параграфі 2;
- рядок 20: бібліотека RxJava;
- рядок 21: бібліотека jSON;
- рядки 9–12: характеристики архіву Jar, створеного в результаті компіляції проєкту;
Щоб завантажити необхідні для проекту залежності, виконайте такі дії: [1-4]:
![]() | ![]() |









