RxJS ReactiveX API’sinin Javascript programlama diline kullanılmak üzere yazılan uygulamalardan biridir. Geliştiricilere, tepkisel olaylar (events) üzerinden güçlü ve işlevsel bir fonksiyonel yaklaşım sunar. Bunların yanında giderek artan kütüphane ve yardımcı araçları ile geliştiricilere kullanım kolaylığı sağlamakta ve popülerliği artmaktadır.
RxJS reaktif programlamanın bir uygulaması olduğundan dolayı imperative gelenekteki bir programcı için ilk başta öğrenilmesi biraz zor gelebilir. Çünkü fonksiyonel programlama, declerative gelenekte uygulanan bir paradigmadır. Programlama dillerinin sınıflandırmasında bunu görebilmek mümkündür.
RxJS uygulaması yapmak için iki farklı yol izlenebilir:
Bana göre basit olan yöntem Angular projesi oluşturmaktır. Angular projesi oluşturmak için npm komutları kullanılır. Bir projeyi üç adımda oluşturmak mümkündür.
Adım-1: Angular CLI yüklenmesi
Angular projesinin yönetimini ve çalıştırılmasını sağlayan global Angular CLI yüklenme adımıdır. Bunun için gerekli olan komut:
npm install –g @angular/cli
Adım-2: Uygulamanın oluşturulması
Uygulama için gerekli dosya ve dizinlerin oluşturulması adımıdır. Bu adıma, çalışma ortamının (workspace) hazırlanması da denir. Bu işlemi bir önceki adımda yüklenen Angular CLI komutları yürütür.
ng new my–app
Artık uygulama dosyaları yüklenmiştir ve aşağıdaki gibi bir dizin oluşturulmuştur.
Uygulama dosyaları src/app dizininde bulunmaktadır. Dizinde bulunan diğer dosyaların ne işe yaradığı bu yazının konusu değildir.
Adım-3 Uygulamanın çalıştırılması
Angular uygulamasını çalıştırmak için Angular CLI komutları çalıştırılır.
cd my–app
ng serve —open
Bu komut ile Angular uygulaması, varsayılan tarayıcıda açılarak başlatılacaktır.
RxJS Uygulanışı
Angular projesinde rxjs kodlarını çalıştırmak için Angular projesinde bir typescript dosyası kullanılabilir. app.component.ts dosyası içerisine bir Observable tanımlamak için aşağıdaki gibi bir komut kullanılabilir.
RxJS kodlarını çalıştırmak öncelikle ‘rxjs’ modülünün yüklenmesi gerekmektedir. Bunun için gerekli komut:
import {from} from ‘rxjs’;
Ardından constructor içerisinde from operatörü ile bir observable oluşturulmaktadır.
RxJS Yardımcı Araçları
RxJS kütüphanesinde Operators ve Subjects olmak üzere iki önemli başlık bulunmaktadır. Sonraki yazılarda sırayla RxJS Subjects ve Operators konuları ele alınacaktır.