기업에서 가장 공통적으로 요구하는 기술 스택인 비동기 처리를 위한 프레임워크인 RxSwift를 배워보도록 하겠습니다.
RxSwift
RxSwift = Reactive Extension Swift의 약자로 swift를 반응형 프로그래밍 하기 위한 라이브러리라고 할 수 있습니다.
RxSwift를 사용하는 이유
1. 비동기 실행 코드를 이해하기 힘듬(애플의 API에서 제공하는 delegate패턴을 그대로 사용하고 구현코드를 확인할 수 없어 데이터의 흐름 파악에 어려움이 있다.)
2. RxSwift와 MVVM와 밀접한 연관
반응형 프로그래밍
반응형 프로그래밍이란, 데이터의 흐름 및 변경사항을 전파(emit?)하는데 중점을 둔 프로그래밍 패러다임입니다. 이 패러다임을 사용할 경우, 주변환경/ 데이터에 변화가 생길 때 연결된 실행 모델이 변경사항을 받아 동작하도록 설계하는 방식입니다.
https://babbab2.tistory.com/182
RxSwift) RxSwift가 도대체 뭔데요(Reactive Programming)
안녕하세요!! 소들입니다 :> 저는 Let's Swift 티케팅에 낙제하고 퇴근 후 포스팅이나 쓰는 사람입니다 ㅋㅋ;;;;; 아쉬움은 뒤로하고 RxSwift의 드디어 첫 걸음마 포스팅을 써보려고 합니다 RxSwift... 어
babbab2.tistory.com
설명이 잘 되어있어 인용하겠습니다.
단순 변수 안에 두개의 정수를 합하여 sum 변수에 할당하는 코드입니다.
var a = 10
var b = 20
var sum = a + b
print(sum) //30
만약 a를 20으로 값을 변경하더라도 일반적인 프로그래밍에서는 합의 결과값(sum)이 변화하지 않습니다.
a = 20
print(sum) // 30
앞서 말했듯이 반응형 프로그래밍에서는 "주변환경/ 데이터에 변화가 생길 때 연결된 실행 모델이 변경사항을 받아 동작하도록 설계하는 방식"이라고 했습니다.
a = 20
print(sum) // 40
a값이 변화하였고 변경사항을 적용하여 결과값이 적용이 되었습니다.
그러기 위해서는 a의 값이 변경되는지 "관찰"을 하고 변경이 되었다면 변경되었다면 sum에게 "전파"해야 합니다.
이러한 반응형 프로그래밍을 가능하게 위해서는 Observable(피관찰자), Observer(관찰자), Operater 주요 3가지 개념이 존재합니다.
'RxSwift' 카테고리의 다른 글
RxSwift) Observer (0) | 2024.01.29 |
---|---|
RxSwift) 간단한 숫자 증가앱 (0) | 2024.01.15 |
RxSwfit) Subject (0) | 2023.01.06 |
RxSwift) Observer (0) | 2023.01.06 |