질문
1. 설 간에 combine을 공부하던 중 읽은 두 개의 글이 있습니다.
https://zeddios.tistory.com/1307
https://quickbirdstudios.com/blog/async-await-combine-closures/
컴바인이 비동기처리를 위한 프레임워크라고 생각했는데 그것이 아니라고 쓰여있기도 하여 큰 충격을 받았는데요. 공부를 하면 할 수록 이제 async / await 가 있는데 왜 컴바인 써야되는거지? (회사 공고에는 왜 “combine 사용가능한 사람”이 써있지?) 라는 의문이 들었습니다. 그래서 공식문서를 들어가봤는데요
https://developer.apple.com/documentation/combine/using-combine-for-your-app-s-asynchronous-code
맙소사, 밑의 화면캡쳐에도 보이시다시피, 공식문서에서조차 컴바인의 필요성을 부정하는 듯한 뉘앙스를 내비치고 있습니다.
질문은 1. Combine의 원래 존재의 이유, 2. 현업에서 어떤식으로 사용이 되는지, 3. async / await가 생긴 이후로 Combine의 역할 4. 혹, Combine이 구식이라고 하더라도 공고에 쓰여있으면 Combine을 이용한 포트폴리오가 있으면 좋은 것인지
화면캡쳐
멘토링 진행 (2023-01-29 20:00 ~ 21:15)
1. Combine 존재의 이유
비동기 프로그래밍이란? → 해야 할 일을 위임하고 기다리는 방식의 프로그래밍
컴바인 이전에는 어떻게 했는가?
컴바인이란? → 비동기 일처리를 비교적 간편하게 처리할 수 있게 해주는 애플의 새로운 프레임워크
컴바인이 등장하고 어떻게 할 수 있게 됐나?
2. async-await 생긴 이후로 Combine 역할은?
Swift 5.5 에서 async-await 의 등장
오히려 Swift 언어가 늦게 도입한 것임
그래서 async-await 는 최소 몇 버전부터 쓸 수 있는거야?
근데 Swift 버전과 iOS 버전은 무슨 차이인가?
async-await
Combine
이제 Combine 역할?
3. 현업에서는 Combine 을 어떻게 사용하나?
네트워크 코드 (90%)
키보드 감지
TCA 또한 Combine 의존도를 줄이고 Swift Concurrency 를 지원하는 방향으로 변화했음.
4. Combine 이 구식이 되더라도, Combine 사용 경험이 괜찮은 포트폴리오가 될지
async-await 는 Modern Concurrency 혹은 Swift Concurrency 라고 불림
더 공부해보기
5. (보너스) 함수형 프로그래밍 찍먹하기
함수형 프로그래밍이 뭔데?
함수형 프로그래밍 개념 잡기 — Swift
함수형 프로그래밍 개념 잡기 — SwiftUI