티스토리 뷰

오늘은 반응형 프로그래밍의 정의 대해 공부를 해본다.

 

명령형 프로그래밍 방법은 매회 데이터가 바뀔 때마다 명령을 하여 다시 계산을 하는 형태이고, 

반응형 프로그래밍 방법은 데이터가 바뀌면 자동으로 업데이트 되어 결과 값이 바뀌도록 코딩하는 형태이다.

 

이것을 잘 표현하기가 어려운데 아래의 예제가 아주 잘 표현하고 있는 거 같아 가져왔다.

 

 

 

반응형 프로그램은 일종의 코딩 형태 혹은 기법이라고 발하는 게 맞을 거 같다.

특히 반응형으로 코딩하기 위해 만들어 놓은 library가 reactiveX이고 ios에서는 RxSwift라고 보면 된다.

다만, 이를 구현하기 위해 내부의 구조가 아주 높은 수준으로 추상화되어 있다.

 

예를 들면 Obserbable이라는 데이터의 스트림을 Object로 보고 관련 처리 방법들이 API로 제공된다. 

API는 데이터가 변경될 때 해야 하는 처리 들을 미리 API로 만들어 두고 제공한다. 

그래서 별도로 무엇을 구현하기보다는 API를 콜 하는 형태로 사용하고, 연속적으로 처리하는데 유리하다.

 

특히 비동기 작업을 처리할 때, 코딩이 편해지는데,

예를 들면 데이터가 올 때까지 기다리고, 데이터가 오면 다음 작업을 하거나, 아니면 다른 이벤트가 발생할 때 까지 첫 번째 이벤트 발생 후 기다리거나 하는 경우에 코드가 복잡해질 수 있는데 RxSwift를 사용하면 편해진다.

 

다만.. 러닝 커브가... 실제로 사용하려면 아예 새로운 코딩을 하듯 예제를 다 외워야 할 듯하다.

 

// 명령형 프로그래밍
b = 27
c = 33
a = b + c
print(a) // 60
c = 40
print(a) // 60

// 반응형 프로그래밍
b = 27
c = 33
a = b + c
print(a) // 60
c = 40
print(a) // 67

 

 

 

2022.07.12 - [iOS/Rx] - 반응형 프로그래밍(Rx Reactivex RxSwift) -2

 

반응형 프로그래밍(Rx Reactivex RxSwift) -2

UITextField 가 변하는 값에 대해 Rx 형태로 구독을 하고 구독한 값이 변경 되었을 때, 해당 값을 UserDefault로 기록하는 코드를 작성 해 보았다. 순서는 아래와 같다. 1. 스토리 보드에서 UITextField 를 만

iosdevhistory.tistory.com

 

 

참고:

https://academy.realm.io/kr/posts/reactive-programming-with-rxswift/

'iOS > Rx' 카테고리의 다른 글

반응형 프로그래밍(Rx Reactivex RxSwift) -2  (0) 2022.07.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함