서론
Reactive Programming이 무엇인지, ReactiveX / RxJava는 무엇인지 대해서 설명합니다.
📚 TL;DR
📖 Reactive Programming 이란
- 먼저, 특정 이벤트가 발생 했을 때 어떤 행동을 할 지 서술하는 방식을 이벤트 기반 프로그래밍이라 함
- 옵저버 패턴은, 데이터의 변화가 감지되면 옵저버들에게 데이터가 변화했음을 알려 줌
- 따라서, 옵저버 패턴을 사용하면 데이터의 변화를 하나의 이벤트, 데이터 흐름으로 다룰 수 있게 됨
- 데이터가 변경 되는것을 하나의 이벤트로 보고, 이벤트가 발생 했을 때 ( == 데이터가 변경 되었을 때 ) 어떤 작업을 진행 할 지 서술 해놓는 방식으로 개발하는 것이 반응형 프로그래밍
📖 RactiveX, RxJava 란
- ReactiveX는 Reactive Programming을 쉽게 할 수 있도록 도와주는 API를 제공하는 라이브러리
- ReactiveX를 활용하면, 데이터 흐름들을 서로 엮거나, 변환하여 다른 이벤트 흐름을 쉽게 만들어 낼 수 있음
- ReactiveX를 Java를 활용하여 구현한 라이브러리 → RxJava
📖 Reactive Programming 의 이점
- 데이터의 변화에 대응하는 pipeline을 한눈에 볼 수 있다.
- 콜백을 제거하고, 데이터 흐름으로 만들 수 있다.
- 데이터의 변화들을 엮어서 하나의 데이터 흐름으로 통합 하기 쉽다.
📚 Reactive Programming 이란
📖 Event Driven Programming 이란
어떤 프로그램에서 유저가 로그인 버튼을 클릭 했을 때, 로그인 작업을 진행하는 서비스를 개발한다고 가정 해 봅시다.