본문 바로가기
Programming 개발은 구글로/JAVA[Android]

[RxJava] 2. Reactive Programming 이란?

by 40대직장인 2022. 5. 26.

Reactive Programing

: 데이터의 흐름과 전달에 관한 프로그래밍 패러다임을 뜻한다.

 

🟦 명령형 프로그래밍 vs 리액티브 프로그래밍

Imperative Programming(명령형 프로그래밍)

: 작성된 코드가 정해진 순서대로 실행됨

 

Reactive Programming(리액티브 프로그래밍)

:데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트 되는 방식

 

기존의 프로그래밍 방식을 Pull 방식, Reactive 프로그래밍 방식을 Push 방식이라고도 한다.


Pull 방식은 데이터를 사용하는 곳(Consumer)에서 데이터를 직접 가져와서 사용한다면, Push 방식은 데이터의 변화가 발생한 곳에서 새로운 데이터를 Consumer에게 전달한다.

 

리액티브 프로그래밍의 개념(위키 펌)

컴퓨터 프로그램에는 세가지 종류가 있다.

첫째는 주어진 입력값을 바탕으로 결과를 계산하는 변환프로그램. 일반적으로 컴파일러와 수치 계산 프로그램입니다.

두 번째는 상호작용프로그램으로 프로그램이 주도하는 속도로 사용자 혹은 다른 프로그램과 상호작용을 합니다. 사용자의 관점에서 볼때 시분할 시스템은 상호작용프로그램입니다.

리액티브 프로그램은 주변의 환경과 끊임없이 상호작용을 하는데 프로그램이 주도하는 것이 아니라 환경이 변하면 이벤트를 받아 동작합니다.

상호작용 프로그램은 자신의 속도에 맞춰 일하고 대부분 통신을 담당한다. 반면에 리액티브 프로그램은 외부 요구에 끊임없이 반응하고 처리한다.

 

🟩 Android 에서 RxJava 설정하기

RxJava는 ReactiveX의 Java 언어 라이브러리로, 2013년 2월 넷플릭스에서 처음 소개하였다.

2016년 10월 RxJava2를 발표하였으며 가장 최근인 2020년 2월 RxJava3를 배포했다.

 

app레벨에서 build.gradle의 dependency에 아래의 내용을 추가

implementation "io.reactivex.rxjava2:rxjava:2.3.14" // 최신버전 3.14

 

 

최신버전은 아래에 링크에서 참조해주세요. (최신 버전  3.14)
https://github.com/ReactiveX/RxJava
 

 

 

혹시라도 RxKotlin쓰실분은

implementation 'io.reactivex.rxjava2:rxkotlin:3.0.1' // 최신버전 3.0.1

 

 

 

https://github.com/ReactiveX/RxKotlin

 

 


참고글: RXJAVA

2022.05.30 - [Programming Android[Java]] - [RxJava] RxJava에 대하여...

 

 

 

 

댓글