Skip to content
Youngkyu Song edited this page Nov 9, 2024 · 2 revisions

๐Ÿ“ท ํฌํ† ๊ฒŒ๋” - For Together

๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์นœ๊ตฌ๋“ค๊ณผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•จ๊ป˜ ์ฐ๊ณ  ํŽธ์ง‘ํ•˜๋Š” ์‚ฌ์ง„ ์ดฌ์˜ ์•ฑ

แ„†แ…ฉแ†จแ„‹แ…ฅแ†ธ แ„‡แ…ขแ„‚แ…ฅ

ํŒ€์› ์†Œ๊ฐœ

S009_๊น€๊ธฐ์˜ S034_์†ก์˜๊ทœ S035_์†ก์˜ํ›ˆ S077_ํ™์Šน์™„
ํŒฉํŠธ๋Š” ์ฝ”๋“œ๊ฐ€ ๊ฑด
๊ฐ•ํ•ด์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฑฐ์ž„.
์ด ๋˜ํ•œ ์žก์Šค์˜ ์€ํ˜œ๊ฒ ์ง€์š”. ๋””๋ฒ„๊น… ๋‹ค ํ•ด์คฌ์ž–์•„. ์ •์ƒํ™”... ํ•ด์•ผ๊ฒ ์ง€?
iOS iOS iOS iOS
S009_๊น€๊ธฐ์˜ S034_์†ก์˜๊ทœ S035_์†ก์˜ํ›ˆ S077_ํ™์Šน์™„
๊ฑด๊ฐ•ํ•œ ์ฝ”๋“œ๋ฅผ ์จ๋‚ด๋Š”
๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์‹ถ์Šต๋‹ˆ๋‹ค.
์ง€๋Š”๊ฑฐ์—์š”?
์ด๊ฒจ.
๋””๋ฒ„๊น… ๋‹ค ํ•ด์คฌ์ž–์•„. ์ •์ƒํ™”... ํ•ด์•ผ๊ฒ ์ง€?
iOS iOS iOS iOS

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

ํ™˜๊ฒฝ ๋ฒ„์ „
XCode 16+
Swift 5.9
Deployment Target iOS 16+
Packaging SPM

์•„ํ‚คํ…์ณ ๊ตฌ์กฐ

3-layer Clean Architecture ๋ฅผ ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์งง์€ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„๋™์•ˆ ํŒ€์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ข…์ ์œผ๋กœ test double๊ณผ demo ์•ฑ์„ ํ™œ์šฉํ•ด ์ž‘์—…๊ฐ„์˜ ์ข…์†์„ฑ์„ ๋Š์–ด ๋…๋ฆฝ์ ์ธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

1234

๊ธฐ์ˆ  ์Šคํƒ

WebRTC

์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜์ƒ/์Œ์„ฑ/๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

iOS ๊ฐœ๋ฐœ์ž๋ฐ–์— ์—†๋Š” ํ”„๋กœ์ ํŠธ์˜€๊ณ , ์งง์€ ๊ธฐ๊ฐ„ ๋‚ด์— ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•˜๋‹ค๋ณด๋‹ˆ

์„œ๋ฒ„ ์ž‘์—…์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด p2p ๋ฐฉ์‹์ธ WebRTC ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

AVFoundation

์นด๋ฉ”๋ผ ์ดฌ์˜ ๋ฐ ํŽธ์ง‘ ๊ทธ๋ฆฌ๊ณ  VoIP ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Vision

์˜์ƒ์—์„œ ์‚ฌ๋žŒ์˜ ์–ผ๊ตด์„ ์ธ์‹ํ•˜๊ณ , ์ด๋ฏธ์ง€ ์ „์ฒ˜๋ฆฌ ๋ฐ ํ›„์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Combine

๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ UI ๋ฐ”์ธ๋”ฉ์„ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์„ ํƒ์ง€๋กœ๋Š” RxSwift๊ฐ€ ์žˆ์—ˆ๊ณ , ์„ฑ๋Šฅ๊ณผ ํผ์ŠคํŠธ ํŒŒํ‹ฐ๋ผ๋Š” ์ด์œ ์—์„œ Combine์„ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‹ค์–‘ํ•œ UI ์ปดํฌ๋„ŒํŠธ์™€์˜ ๋ฐ”์ธ๋”ฉ์ด ํ•„์š”ํ–ˆ๋‹ค๋ฉด RxSwift์™€ RxCocoa๋ฅผ ์‚ฌ์šฉํ–ˆ๊ฒ ์ง€๋งŒ, ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„  ํ™”๋ฉด์ด ์ ๊ณ  ๋น„๊ต์  UI ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๊ฐ„๋‹จํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Swift Concurrency

GCD๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๊ณ , Combine์— ๋น„ํ•ด ๋‹จ๋ฐœ์„ฑ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋„คํŠธ์›Œํ‚น๊ณผ ๊ด€๋ จ๋œ ์ž‘์—…์€ Concurrency๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , UI๋ฐ”์ธ๋”ฉ์€ Combine์„ ์‚ฌ์šฉํ•ด ๊ฐ ๋น„๋™๊ธฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์žฅ์ ์„ ํ™œ์šฉํ•ด๋ณด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿท๏ธ ๋ฐ”๋กœ๊ฐ€๊ธฐ Wiki ํŒ€ ๋…ธ์…˜ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ์ปจ๋ฒค์…˜ ํšŒ์˜๋ก ๊ธฐํš/๋””์ž์ธ
Clone this wiki locally