1. Giriş
Belgenin PDF dosyası, |BURADA| adresinde mevcuttur.
Belgedeki örnekler |BURADA| adresinde mevcuttur.
1.1. Contexte
Bu belge, yeni başlayanlara değil, Java konusunda sağlam deneyime sahip kullanıcılara yöneliktir. Aşağıdaki kaynaklardan yararlanılmıştır:
Daha önce yazdığım diğer belgelerin aksine, bu belge esas olarak örneklere dayanmaktadır ve teoriye fazla derinlemesine girilmemektedir. Bununla birlikte, her örneğin bir açıklaması bulunmaktadır ve belge içinde mantıklı bir ilerleme söz konusudur.
ReactiveX, asenkron programlamayı ve bu şekilde elde edilen verilerin işlenmesini kolaylaştıran bir kütüphane grubudur:
![]() |
![]() |
![]() |
Rx kütüphanesi birçok dilde uygulanmıştır:
![]() |
Burada şu kütüphanelerle ilgileniyoruz:
- Java dünyası için RxJava;
- RxAndroid, Android ortamı için RxJava'in bir uzmanlaşması;
- RxSwing, Swing ortamı için RxJava'in bir uzmanlaştırılmış versiyonu;
Reaktif programlama kavramları ilk bakışta karmaşıktır. Bu nedenle bu belge, ilk bakışta yeni başlayanlara yönelik değildir. Bununla birlikte, kullanılan kodları açıklamak için büyük çaba sarf ettim ve reaktif programlamaya yeni başlayanlar bile bu belge sayesinde reaktif programlamaya aşina olabilirler.
1.2. Kullanılan araçlar
Aşağıdaki örnekler şu çalışma ortamında test edilmiştir:
- Windows 10 Pro 64 bit bilgisayar;
- JDK 1.8 (paragraf 1);
- Intellij IDEA Community Edition (paragraf 10.4);
1.3. Örnek kodlar
Aşağıdaki örneklerin kodları, |ICI| klasöründe bulunabilir.
![]() | ![]() |
[dvp/exemples] [2] klasörü, bu belgedeki örneklerin çoğunu içeren bir Gradle projesine aittir. Gradle proje yöneticisini destekleyen tüm IDE ile açılabilir. IntelliJ IDEA bu dosyayı doğal olarak destekler. Eclipse veya NetBeans için bir eklenti gereklidir. IntelliJ IDEA Community Edition ile şu şekilde ilerleyebilirsiniz:
![]() | ![]() |
[exemples] projesi, aşağıdaki [build.gradle] [4] dosyasıyla yapılandırılır:
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. satırlar: projenin Gradle bağımlılıkları (indirilecek kütüphaneler);
- 19. satır: 2. paragrafta incelenen Swing örneği için gerekli kütüphane;
- 20. satır: RxJava kütüphanesi;
- satır 21: bir jSON kütüphanesi;
- satır 9-12: projenin derlenmesi sonucu oluşturulan Jar dosyasının özellikleri;
Proje için gerekli bağımlılıkları indirmek üzere aşağıdaki adımları izleyin: [1-4]:
![]() | ![]() |









