티스토리 뷰

iOS/면접질문 모음

Reactive programming란

malrang-malrang 2022. 8. 19. 17:54

Reactive programming란

🔑 핵심 키워드:  비동기적 데이터 흐름과 변화의 전파에 중점을둔 프로그래밍

 

반응형 앱을 만들기 위한 비동기적 데이터 흐름과 변화의 전파에 중점을둔 프로그래밍 페러다임입니다.

Reactive programming을 위해서 Swift는 Combine이라는 framework를 제공하고 있으며,
Third party framework로 Rx등이 있습니다.

꼬리질문

비동기 프로그래밍이란 무엇인가요?

🔑 핵심 키워드: 여러 작업을 동시에 작업하는 Rx또는 Combine등 프레임워크는 비동기 작업의 콜백처리를 쉽게 할 수 있게 해준다.

 

비동기 프로그래밍이랑 여러 작업을 동시에 작업하는 것입니다.

동시에 작업을 처리할 수 있도록 쓰레드를 나눠 작업합니다.
Swift는 비동기 작업을 위한 API인 GCD와 Operation을 제공하고 있습니다.
하지만, 위와 같은 API를 사용해 작업 결과로 다음 작업을 하기 쉽지 않습니다. 즉, 콜백에 대한 처리가 어렵습니다. (탈출 클로저나, 딜리게이트 패턴등을 사용하여야 한다.)
때문에 Combine이나 Rx와 같이 비동기 프로그래밍을 위한 프레임워크에선 Observable 패턴을 이용하여 위문제를 해결했습니다. Observer을 연결시켜 비동기 작업을 통한 데이터의 흐름을 만들 수 있습니다.

비동기 프로그래밍을 위해선 Rx와 같은 프레임워크를 꼭 사용해야 하나요?

🔑 핵심 키워드: Rx와같은 프레임워크는 비동기 프로그래밍을 하도록 도와주는 도구일뿐 이며 사용하지 않아도됩니다.

 

그것은 아닙니다.

비동기 프로그래밍 즉 reactive programming과 Rx는 같지 않습니다.
Rx는 Reactive Extension의 약자로 말 그대로 reactive를 확장한 프래임워크입니다. 편하게 비동기 프로그래밍을 도와주는 도구입니다.
Rx없이도 클로저나, 딜리게이트 패턴등을 사용하여 구현할 수 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함