ํด๋์ค์ ๊ตฌ์กฐ์ฒด
0. ์ฉ์ด์ ๊ตฌ๋ถ
ํด๋์ค๋ ๊ตฌ์กฐ์ฒด๋ ํ๋์ ํฐ ๋ฐ์ค๋ผ๊ณ ์๊ฐํ ์ ์๋ค. ๊ทธ ๋์ ๋ค๋ค๋ ์์ ๋จ์์ ์๋ฃํ ๋๋ ํจ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ฌถ๋ ๊ณผ์ ์ด๋ค. ์ด์ ๋ฐ๋ผ์ ์ฉ์ด๋ฅผ ์กฐ๊ธ ๊ตฌ๋ถํ ํ์๊ฐ ์๋ค.
- ๋ณ์/์์ : ํ๋กํผํฐ
- ํจ์ : ๋ฉ์๋
์์ 2๊ฐ์ง๋ฅผ ๋ฌถ์ด์ ๋ฉค๋ฒ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ค.
1. ํด๋์ค
- ํ์ ์ ์ฅ
- ์ค์ง์ ์ธ ๊ฐ์ ํ์ ์ ์ฅ(์๋ฃํ์ ๋ฐ๋ผ)
- ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์, ์ฐธ์กฐํ๋ ์ฃผ์๋ ์คํ์ ์ ์ฅ
2. ๊ตฌ์กฐ์ฒด
- ์คํ์ ์ ์ฅ
- ๊ฐ์ ๋ณต์ฌ (๋ ๋ฆฝ์ )
3. ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ(๊ธฐ์ด)
- ์ฝ๋ : ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋
- ๋ฐ์ดํฐ : ์ ์ญ ๋ณ์, ํญ์ ๋ฉ๋ชจ๋ฆฌ ์ฐจ์ง
- ํ : ํด๋์ค๋ ๋ณดํต ํ์ ์ฌ๋ผ๊ฐ, ํด๋์ค๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์
- ์คํ : ํด๋์ค ์์ ํ๋กํผํฐ(์ค์ง์ ์ธ ๊ฐ)์ ์คํ์ ์ฌ๋ผ๊ฐ
4. ์ด๊ธฐํ
ํด๋์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
- ํด๋์ค (์ด๊ธฐํ ์์ ํ์)
- ๊ตฌ์กฐ์ฒด (์ด๊ธฐํ ๊ตฌ๋ฌธ ์์ด๋ ๋์)
Entry Point
- ์คํ ๋ฆฌ๋ณด๋๊ฐ ์ด๊ธฐํ ๋ ๋ ์์ํ๋ ์ง์
- ๊ฐ ์คํ ๋ฆฌ๋ณด๋๋ง๋ค Entry Point๋ฅผ ๊ฐ์ง ์ ์์
์คํ ๋ฆฌ๋ณด๋์ ๋ถ๋ฆฌ(+ Storyboard Reference)
๋ค์๊ณผ ๊ฐ์ด ์คํ ๋ฆฌ๋ณด๋๋ฅผ ๋๋ ์ ์์ ํ๊ณ ์ถ๊ณ , ๋ถ๋ฆฌ๋ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฐ๊ฒฐํด์ ํ๋ฉด ์ ํ ๋ฑ์ ์์ ์ ํ๊ณ ์ถ๋ค.

Storyboard Reference๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๊ฒ์ ์ถ๊ฐํ๋ค.

์ฐ๊ฒฐํ๊ณ ์ถ์ ์คํ ๋ฆฌ๋ณด๋์ ์ด๋ฆ์ ์ฐ๊ฒฐํ๋ค.

์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์๊ฐ์ ์ธ ๋จ์ถ, ์ฝ๋ ๋ผ์ธ ์ ๋จ์ถ
- TextFieldEffects
- SideMenu
- FSCalendar
- Tabman
- IQKeyboardManager
- lottie-ios
๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ด๋ป๊ฒ ์ฐพ๊ณ ์ฌ์ฉํ ๊น?
๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๋ค, ๋๊ธฐ์ ์ด ์ฐ๋ ๊ฒ๋ค์ ์์ ์ ์ด์ง ์๋ ์ถ์ธกํ ์ ์๋ค.
๊ทธ๋ฅ ์ฌ์ฉํด๋ ๋ ๊น? ์ ์๊ถ์ ์๋?
์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ๋ผ์ด์ ์ค ํ๊ธฐ๋ฅผ ๋ช ์ํด์ฃผ์ด์ผ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์๋ค.
Dependency Manager
- CocoaPods : ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง๋ค. ๋น๋ ์๋๊ฐ ๋๋ฆฌ๋ค.
- Carthage : ๋น๋ ์๋๊ฐ ๋น ๋ฅด๋ค. ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋์ ์ผ๋ก ์ ๋ค.
- Swift Package Manager : ์ ํ์ด ์ ์ ๋ฐ ์ง์(ํผ์คํธ ํํฐ), Xcode ๋ด์ฅ๋จ, ์ด์ ์ง์๋ ๋ง์ด ํจ.
- Manually : ์๋ ์ค์น
๋ฒ์ ๊ท์น
- 3.5.1
- ์๋ฆฌ๋ณ๋ก ๊ฐ๊ฐ major, minor, patch๋ฅผ ์๋ฏธํ๋ค.
- major : ๊ต์ฅํ ํฐ ๊ฒ๋ค์ด ๋ณํ๋์์ ๋, ๋ฒ์ ์ด ๋ฐ๋์์ ๋, ๊ธฐ์กด ๋ฒ์ ๊ณผ ํธํ๋์ง ์์ ๋(Swift 2.3 -> 3.0)
- minor : ๊ธฐ๋ฅ์ ์ถ๊ฐ
- patch : ์ ์ง ๋ณด์, ๋ฒ๊ทธ ์์
SPM์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐ
- TextFieldEffects
- FSCalendar
- SideMenu
- IQKeyboardManager
์ ๋ง ๋ง์ด ์ฐ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. 4๊ฐ์ง๋ฅผ ์ค์นํ๊ณ ์ค์ตํด ๋ด.
'๐ฑ SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SeSAC] 220718 TIL (0) | 2022.07.21 |
---|---|
[SeSAC] 220715 TIL (0) | 2022.07.21 |
[SeSAC] 220713 TIL (0) | 2022.07.21 |
[SeSAC] 220712 TIL (0) | 2022.07.13 |
[SeSAC] 220711 TIL (0) | 2022.07.11 |
ํด๋์ค์ ๊ตฌ์กฐ์ฒด
0. ์ฉ์ด์ ๊ตฌ๋ถ
ํด๋์ค๋ ๊ตฌ์กฐ์ฒด๋ ํ๋์ ํฐ ๋ฐ์ค๋ผ๊ณ ์๊ฐํ ์ ์๋ค. ๊ทธ ๋์ ๋ค๋ค๋ ์์ ๋จ์์ ์๋ฃํ ๋๋ ํจ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ฌถ๋ ๊ณผ์ ์ด๋ค. ์ด์ ๋ฐ๋ผ์ ์ฉ์ด๋ฅผ ์กฐ๊ธ ๊ตฌ๋ถํ ํ์๊ฐ ์๋ค.
- ๋ณ์/์์ : ํ๋กํผํฐ
- ํจ์ : ๋ฉ์๋
์์ 2๊ฐ์ง๋ฅผ ๋ฌถ์ด์ ๋ฉค๋ฒ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ค.
1. ํด๋์ค
- ํ์ ์ ์ฅ
- ์ค์ง์ ์ธ ๊ฐ์ ํ์ ์ ์ฅ(์๋ฃํ์ ๋ฐ๋ผ)
- ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์, ์ฐธ์กฐํ๋ ์ฃผ์๋ ์คํ์ ์ ์ฅ
2. ๊ตฌ์กฐ์ฒด
- ์คํ์ ์ ์ฅ
- ๊ฐ์ ๋ณต์ฌ (๋ ๋ฆฝ์ )
3. ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ(๊ธฐ์ด)
- ์ฝ๋ : ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋
- ๋ฐ์ดํฐ : ์ ์ญ ๋ณ์, ํญ์ ๋ฉ๋ชจ๋ฆฌ ์ฐจ์ง
- ํ : ํด๋์ค๋ ๋ณดํต ํ์ ์ฌ๋ผ๊ฐ, ํด๋์ค๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์
- ์คํ : ํด๋์ค ์์ ํ๋กํผํฐ(์ค์ง์ ์ธ ๊ฐ)์ ์คํ์ ์ฌ๋ผ๊ฐ
4. ์ด๊ธฐํ
ํด๋์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
- ํด๋์ค (์ด๊ธฐํ ์์ ํ์)
- ๊ตฌ์กฐ์ฒด (์ด๊ธฐํ ๊ตฌ๋ฌธ ์์ด๋ ๋์)
Entry Point
- ์คํ ๋ฆฌ๋ณด๋๊ฐ ์ด๊ธฐํ ๋ ๋ ์์ํ๋ ์ง์
- ๊ฐ ์คํ ๋ฆฌ๋ณด๋๋ง๋ค Entry Point๋ฅผ ๊ฐ์ง ์ ์์
์คํ ๋ฆฌ๋ณด๋์ ๋ถ๋ฆฌ(+ Storyboard Reference)
๋ค์๊ณผ ๊ฐ์ด ์คํ ๋ฆฌ๋ณด๋๋ฅผ ๋๋ ์ ์์ ํ๊ณ ์ถ๊ณ , ๋ถ๋ฆฌ๋ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฐ๊ฒฐํด์ ํ๋ฉด ์ ํ ๋ฑ์ ์์ ์ ํ๊ณ ์ถ๋ค.

Storyboard Reference๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๊ฒ์ ์ถ๊ฐํ๋ค.

์ฐ๊ฒฐํ๊ณ ์ถ์ ์คํ ๋ฆฌ๋ณด๋์ ์ด๋ฆ์ ์ฐ๊ฒฐํ๋ค.

์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์๊ฐ์ ์ธ ๋จ์ถ, ์ฝ๋ ๋ผ์ธ ์ ๋จ์ถ
- TextFieldEffects
- SideMenu
- FSCalendar
- Tabman
- IQKeyboardManager
- lottie-ios
๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ด๋ป๊ฒ ์ฐพ๊ณ ์ฌ์ฉํ ๊น?
๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๋ค, ๋๊ธฐ์ ์ด ์ฐ๋ ๊ฒ๋ค์ ์์ ์ ์ด์ง ์๋ ์ถ์ธกํ ์ ์๋ค.
๊ทธ๋ฅ ์ฌ์ฉํด๋ ๋ ๊น? ์ ์๊ถ์ ์๋?
์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ๋ผ์ด์ ์ค ํ๊ธฐ๋ฅผ ๋ช ์ํด์ฃผ์ด์ผ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์๋ค.
Dependency Manager
- CocoaPods : ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง๋ค. ๋น๋ ์๋๊ฐ ๋๋ฆฌ๋ค.
- Carthage : ๋น๋ ์๋๊ฐ ๋น ๋ฅด๋ค. ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋์ ์ผ๋ก ์ ๋ค.
- Swift Package Manager : ์ ํ์ด ์ ์ ๋ฐ ์ง์(ํผ์คํธ ํํฐ), Xcode ๋ด์ฅ๋จ, ์ด์ ์ง์๋ ๋ง์ด ํจ.
- Manually : ์๋ ์ค์น
๋ฒ์ ๊ท์น
- 3.5.1
- ์๋ฆฌ๋ณ๋ก ๊ฐ๊ฐ major, minor, patch๋ฅผ ์๋ฏธํ๋ค.
- major : ๊ต์ฅํ ํฐ ๊ฒ๋ค์ด ๋ณํ๋์์ ๋, ๋ฒ์ ์ด ๋ฐ๋์์ ๋, ๊ธฐ์กด ๋ฒ์ ๊ณผ ํธํ๋์ง ์์ ๋(Swift 2.3 -> 3.0)
- minor : ๊ธฐ๋ฅ์ ์ถ๊ฐ
- patch : ์ ์ง ๋ณด์, ๋ฒ๊ทธ ์์
SPM์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐ
- TextFieldEffects
- FSCalendar
- SideMenu
- IQKeyboardManager
์ ๋ง ๋ง์ด ์ฐ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. 4๊ฐ์ง๋ฅผ ์ค์นํ๊ณ ์ค์ตํด ๋ด.
'๐ฑ SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SeSAC] 220718 TIL (0) | 2022.07.21 |
---|---|
[SeSAC] 220715 TIL (0) | 2022.07.21 |
[SeSAC] 220713 TIL (0) | 2022.07.21 |
[SeSAC] 220712 TIL (0) | 2022.07.13 |
[SeSAC] 220711 TIL (0) | 2022.07.11 |