מה זה Reactive Programming?
Reactive Programming הוא פיתוח א-סנכרוני שמטפל במידע והשינוי שלו לאורך חיי התוכנית. Rxjs היא ספרייה עבור Reactive Programming שמשתמשת ב-Observables. מה שאומר שהתוכנית שלנו יכולה "להגיב" לשינויים כמו אירועי לחיצה על כפתורים ומידע שמגיע לתוכנית מה-DB בלי שאנחנו צריכים במפורש לנהל את האירועים האלה.
בדרך כלל יש לנו אירועים ואנחנו קוראים להם כדי לנהל אותם. במקרה של ספריית Rxjs, היא כבר מכילה את האירועים והיא משמשת לכתיבת תוכניות שמטפלות בדאטה א-סינכרוני ובאירועים על ידי שימוש ברצף של Observables. יש לנו אפשרות לטיפול קל יותר בפעולות שמתבצעות אחרי שהמידע מוזרם אל התוכנית שלנו.
ספריית RxJS
ספריית RxJS מכילה 3 דברים עיקריים:
- Observables.
- Observers, Schedulers, Subjects – ה-Data Types.
- Operators: Map, FIlter… – פעולות שמבצעים על המידע שהגיע.
כל אלה עוזרים לנו לעבוד עם מידע – Data streams.
מה זה Observables?
Observables הם Data Stream. נניח שיש לנו עגלת קניות בחנות אינטרנטית. משתמש מבצע הזמנה. סטטוס ההזמנה משתנה לאורך השימוש באתר, על שינוי הסטטוס הזה צריך להודיע לחלקים שונים בתוכנית.
אז יש לנו מידע שמשתנה לאורך התוכנית, סטטוס התוכנית. התחלת הזמנה, אישור, שליחה וכו' המידע הזה נשלח, וה-Observable יקבל את כל המידע לגבי המשתנה הזה. יש לנו משתנה אחד שמקבל את כל המידע הזה, הערכים שמשתנים.
אחרי שיש לנו Observable אנחנו צריכים Subscriber. Subscriber מקשיב ל-Observable ומחכה לשינוי במידע.
דוגמא:
אנחנו בערוץ יוטיוב. בערוץ עולה מידע חדש כל יום. זה ה-Observable , הוא מכניס מידע כל יום. כשאנחנו נרשמים לערוץ היוטיוב (Subscriber), אנחנו מקבלים הודעה כשעולה וידאו חדש לערוץ.
התקנת Rxjs
יש מערכות שבאות אם Rxjs מותקן, כמו אנגולר.במידה ורוצים להשתמש בספרייה באפליקציה אחרת שלא מותקן בה Rxjs אפשר להתקין על ידי:
npm i rxjs