์ ๋ ์ผ๋ฌ์คํธ๋ ์ดํฐ์ ๋์์ด๋๋ก ์ผ์ ํ๋ค๊ฐ 2022๋
, ์ฌํด 2์๋ถํฐ iOS ๊ณต๋ถ๋ฅผ ์์ํด์ ํ์ฌ๋ ์ฐ๊ทน๊ณผ ๋ฎค์ง์ปฌ ํ๊ธฐ๋ฅผ ์ฐ๋ ‘์ฐ๋ฎค๋ก๊ทธ’์ ์ฃผ๋๊ตฐ๊ณผ ํ๊ตญ๊ตฐ์ธ์ ์ํ ์ฝ์ด ๋ฐ ์ฉ์ด ๊ฒ์์ฌ์ ‘ํ๋ฏธ์ฐํฉ์ฌ์ ’, ์ด๋ ๊ฒ 2๊ฐ์ ์ฑ์ ์ถ์ํ์์ต๋๋ค.
์์ง ์ด์ฌํ ๊ณต๋ถํด๊ฐ๋ ์
์ฅ์ด์ง๋ง ์ฃผ๋ณ์ ํ์ฐ๋ค๊ณผ ์ง์ธ๋ค์ด ์ฑ ์ถ์๊น์ง ์ด๋ป๊ฒ iOS ๊ณต๋ถ๋ฅผ ํ๋์ง๋ฅผ ๋ง์ด ๊ถ๊ธํดํด์ ์ด๋ ๊ฒ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค.
์ด ๊ธ์, ๋ฏธ๋์๊ณผ doy.oopy.io ์ 2022๋
12์ ๋ฐํํ ๊ธ๋ก, ํฐ์คํ ๋ฆฌ์ ์ฎ๊ฒจ ์์ฑํ์์ต๋๋ค.
๊ฐ๋ฐ๊ณต๋ถ ํ์๋ผ์ธ
์ ๋ ์ฌํด 2์๊น์ง๋ ํํ์ ๋์์ด๋๋ก ๊ทผ๋ฌด๋ฅผ ํ๊ณ , 3์๋ถํฐ 6์๊น์ง๋ ํ๊ต์์
(12ํ์ )๊ณผ ๋ณํํ๊ณ , ์ดํ์๋ ํดํํ๊ณ iOS ๊ฐ๋ฐ ๊ณต๋ถ์ ์ ๋
ํ์ต๋๋ค.
1. iOS ๊ฐ๋ฐ์ ์์ํ ๊ณ๊ธฐ
์ด์ ์ ํ์ด์ฌ๊ณผ ์ฅ๊ณ ์ ๋ฆฌ์กํธ์ ํ๋ฌํฐ์ ๋จธ์ ๋ฌ๋๊ณผ ์๋๋ก์ด๋ ๊ณต๋ถ๋ฅผ ์ฐ๋จนํ๋ฉด์ ์ ์์ ๋ง์ง ์๋๋ค๋ ๋๋์ ๊ณ์ ๋ฐ์์ต๋๋ค. HCI์ ๊ด์ฌ์ ๊ฐ์ก๋ค๊ฐ ์ธ๊ณต์ง๋ฅ์ ๋งค๋ฃ๋์ด ๋ค์ ๋ํ๊ต CS ์ ๊ณต์ผ๋ก ๋ค์ด๊ฐ๋๋ฐ ํฌ๋ฐ๋ฏน ์๊ธฐ์ ๋ง๋ฌผ๋ ค์ ๊ฐ์์ค๋ ๋ณํํ ๊ต์กํ๊ฒฝ์, ์ฒ์ ๋ฃ๋ ์ ํต์ ์ธ CS ๊ณผ๋ชฉ์ ๊ณต๋ถํ๋ ๊ฒ์ด ์ฝ์ง ์์์ต๋๋ค.
20๋
๋ ํ๋ฐ๊ธฐ๋ถํฐ ์ผ์ ๋ณํํ๊ณ 21๋
๋์๋ ํดํํ๊ณ ์ปค๋ฆฌ์ด ๊ณ ๋ฏผ์ ์ด์ด๊ฐ๋ ์ฐฐ๋์, ์ด์ํ๊ฒ๋ 21๋
๋ ๊ทธ ํด์๋ ๋ชจ๋ฐ์ผ ์ฑ ํ์ฌ์์ UI/UX ๋์์ธ ์ผ์ ์๊พธ๋ง ํ๊ฒ ๋์์ต๋๋ค. ์ฑ ๋์์ธ์ ํ๋ค๋ณด๋ฉด ํ์ฌ ์ฑ์ ์ฐธ๊ณ ์ฉ์ผ๋ก ๋ค์ด๋ฐ์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, ‘๋๋ ์ด๋ฐ ์ฑ์ ๋ง๋ค๊ณ ์ถ๋ค’๋ ๋ง์์ด ์๊พธ๋ง ๋ค์์ต๋๋ค. ๊ทธ๋ ๊ฒ ์์ฐ์ค๋ iOS ๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ๋ง์๋จน๊ฒ ๋์์ต๋๋ค.
์ฒ์์ ์ ๋ง ๋๋ฌด ์๋ฌด๊ฒ๋ ๋ชฐ๋ผ์ iOS ๊ฐ์๋ฅผ ์ด์ฌํ ๊ฒ์ํด๋ดค์๋๋ฐ ์ฃผ๋ก Swift ๋ฌธ๋ฒ์ ์์ธํ ์๋ ค์ฃผ๋ ๊ฐ์๋ค์ด ๋ง์์ต๋๋ค. ๊ทผ๋ฐ ์ ๋ ์์ด ๊ณต๋ถํ ๋๋ ๋ฌธ๋ฒ์ ์ ๋ง ๋๋ฌด ์ซ์ดํ๋ ์ฌ๋์ด์๊ฑฐ๋ ์. ์์ ์ C ์ธ์ด ์์
์ ๋ค์๋ค๊ฐ ํฌ์ธํฐ์์ ํฌ๊ธฐํ๋ ๊ธฐ์ต์ด ์์๋๋ฐ์.
Swift ์ธ์ด๋ฅผ ํ๋๋ ๋ชฐ๋์ง๋ง ๋ฌธ๋ฒ๋ถํฐ ๊ณต๋ถํ๋ฉด ์ง๋ ค๋ฒ๋ฆด ๊ฒ ๊ฐ์์ ์ต๋ํ ์ค์ต์ ํ๋ ๊ฐ์๋ฅผ ์์ฃผ๋ก ์ฐพ์๋ณด๊ฒ ๋์์ต๋๋ค.
๊ฑฐ์ ๋ฌด์ง์ฑ์ผ๋ก ๋ฐ๋ผ์ณค์ง๋ง ๊ทธ๋๋ ์ ๋์ ์ธ ํ์ต์ด ์ ์ฑ์ ์ผ๋ก ๋จธ๋ฆฌ์ ์์ด๋ ๊ฑธ ๋๋ผ๊ฒ ๋์ต๋๋ค. ๋์์ธ ํจํด ๋ฑ ์์ธํ๊ฒ ์๋ ค์ฃผ์์ง๋ง ์ฌ์ ํ ์ฝ๋ ์
๋ทฐ์ ํ
์ด๋ธ๋ทฐ๋ก ๋๋๋์ต๋๋ค.
์ด๋๋ถํฐ๋ ์ข ๋ Swift ์ธ์ด๋ iOS ์ ๋ฐ์ ๋ํด ๋ ์ ์๊ณ ์ถ์ด์ง๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๊ฐ๋ณ๊ฒ ๋์ด๊ฐ๋ ๋ด์ฉ๋ค ๋ค์ ์๋ ์๋ง์ ๋ฐฐ๊ฒฝ์ง์์ด ๊ถ๊ธํ๊ณ ์. UIKit์ ์ด์ฉํด ๊ธฐ๋ณธ์ ์ธ ๋์์ธ์ ์ฑ์ ๋ง๋ค์ด๋ดค์ง๋ง, ์ค์ ๋ด๊ฐ ์ฐ๊ณ ์๋ ์์๊ณ ๋งค๋ ฅ์ ์ธ ์ฑ๋ค์ ๋ง๋๋ ค๋ฉด ์ด๋ป๊ฒ ๋ง๋ค์ด์ผํ์ง? ๋ผ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์์ง๋ ๊ธฐ๋ณธ ๋ฒ ์ด์ค๊ฐ ์๋ค๋ ์ธ์ง๊ฐ ๋ค์ด์ ๋ค๋ฅธ ๊ฐ์์ ๊ณต๋ถ์๋ฃ๋ฅผ ์ฐพ์๋ณด๊ฒ ๋์์ต๋๋ค.
3. ๋ค๋ฅธ ๊ฐ์, ๋ํ๋จผํธ๋ฅผ ์ด์ ์ผ ์ฐพ์๋ด
์ ๋ช
ํ ํ๋ฒ๋ ๊ฐ์์ ์คํ ํฌ๋ ๊ฐ์ ๊ฒํฅ๊ธฐ
- ํ๋ฒ๋ cs50 - ios ๊ฐ์(๋ฌด๋ฃ) + ํ๊ธ์๋ง X
- ์คํ ํฌ๋ ๊ฐ์ (๋ฌด๋ฃ) + ํ๊ธ์๋ง O
http://www.edwith.org/swiftapp
์ด๋ค ๊ฑธ ํด๋ฆญํ๋์ง ํ๋ฉด์ ํฌ๊ฒ ๋ณด์ฌ์ฃผ๊ณ , ์ด๋ค ๊ฐ๋
์ธ์ง ๊ต์ฅํ ๊ผผ๊ผผํ๊ฒ ์๋ ค์ค๋๋ค. ํนํ ์์ ์ฒ์ ์์ํ ๋๋ Xcode ๋ฒํผ ํ๋ํ๋ ์๋ชป ๋๋ฅผ๊น๋ด ๋ฒ๋ฒ ๋จ๋ฉด์ ํด๋ฆญํ๊ณค ํ๋๋ฐ ๊ทธ๋ฐ ๊ฑฑ์ ์ ์์์ฑ๋์ง ํฌ๊ฒํฌ๊ฒ ํ๋ฉด์์ ๋ณด์ฌ์ฃผ๊ณ ์. 4K๋ผ ํ์ง์ด ์ข๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๋ฐ๋ผ๊ฐ๊ธฐ ์ฝ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํจ์คํธ์บ ํผ์ค ๋์์ ํ๋ ์ด์ด๋ณด๋ค๋ ์ ํ๋ธ ํ๋ ์ด์ด๊ฐ ์ง์ํ๋ ๊ธฐ๋ฅ์ด ๋ ๋ง์๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ฌํ๊ฒ ์ ๊ฒฝ์ฐ์ด๋ ์์ฃผ ์์ ์ต์คํํด์ ์์ ๊ณ ๊ณต๋ถ์ ํ๋ฆ์ ์์ํ๊ฒ ํ ์ ์์์ต๋๋ค. ์ผ๋ก๋ก ์ ๋ ์์ฒ๋ผ ๋ฒํผ ์๋ชป ๋๋ฅผ๊น๋ด ๋งฅ๋ถ์ ํธ๋ํจ๋๋ฅผ ์ด์ฉํด ํ๋ฉด์ ํ๋ํด์ ๊ฐ์๋ฅผ ๋ณด๊ณค ํ๋๋ฐ์. ํจ์คํธ์บ ํผ์ค์์๋ ํธ๋ํจ๋ ์ ์ค์ฒ๋ฅผ ํ๋ฉด ๋ณผ๋ฅจ์ด ์กฐ์ ๋๋ ๋ถํธํจ์ด ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ UX๊ฐ ์๋์ด์ ๋ ๋ถํธํ์ด์.
์ฒ์ ๊ณต๋ถํ ๋๋ ์กฐ๊ธ์ด๋ผ๋ ์ฅ์ ๋ฌผ์ด ์๊ธฐ๋ฉด ์ฝ๊ฒ ์ข์ ํ๊ฑฐ๋ ํฌ๊ธฐํ๊ฒ ๋๋ฏ๋ก ํ๋ฆ์ ๋งค๋๋ฝ๊ฒ ๋ง๋ค ์ ์๋ ๊ณต๋ถ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒ ์ ์ผ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ค์ํํธ ๊ณต์๋ฌธ์์ ๊ผผ๊ผผํ ์ฌ์์จ ๋ฌธ๋ฒํธ ์ฝ๊ธฐ
- Swift ๊ณต์๋ฌธ์
- ๊ผผ๊ผผํ ์ฌ์์จ ๋ฌธ๋ฒํธ
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=125241322
์ฑ
๋ ์ฌ๊ณ ๊ณต์๋ฌธ์๋ ์กฐ๊ธ์ฉ ๋ดค์ต๋๋ค. ๊ผผ๊ผผํ ์ฌ์์จ ์ฑ
์ ๊ฒฝ์ฐ ๋งํ๋ฏ์ด ์ ์ ์ฝํ๋ ํธ์ด๋ผ์ ์ฝ๊ธฐ๋ ์ข์์ง๋ง ์ฑ
์ด ๋๊ป๊ฐ ์๊ณ ์ด๋ถ์ ์ง์ํ์ง ์์ต๋๋ค. ์ ๋ ์ข
์ด์ฑ
์ ๋ฌผ์ฑ์ด ์ข์์ ์ฒ์์๋ ์ฌ์์จ๋ฅผ ์ข ์ฝ๋ค๊ฐ, ๊ณต์๋ฌธ์๊ฐ ์ด๋ถ์ ์ง์ํ๊ธธ๋ ๊ณต์๋ฌธ์ ์์ฃผ๋ก ์ฝ๊ฒ ๋์์ต๋๋ค.
์๋ฅผ ๋ค๋ฉด, ‘์ ์ค๋ Alamofire ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ผ๋๋ฐ response์ statusCode๋ฅผ ? ๋ก ์ ๊ทผํ๋ค. ์ด๊ฒ ๋ญ์ง. ์ด๊ฒ
์ต์
๋ ์ฒด์ด๋์ธ๊ฐ’๋ผ๋ ์์ผ๋ก ๊ทธ๋ ๊ทธ๋ ๊ฐ๋ฐ๊ณต๋ถํ๋ฉด์ ํ์ํ๊ฑฐ๋ ์๊ฐ๋๋ ํค์๋๋ฅผ ์ฐพ์ ์ฝ์์ต๋๋ค.
์ฒ์๋ถํฐ ์ฝ์ผ๋ ค๊ณ ํ๊ฒ ๋๋ฉด ‘์ํ์ ์ ์’์์ ์งํฉ๋ง ์ฃผ๊ตฌ์ฅ์ฐฝ ์ฝ๋ ์ฌ๋์ฒ๋ผ ์ ๋ถ๋ถ์์ ๋ชป ํค์ด๋ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ ์. ๋ชจ๋ฐ์ผ ์ด๋ถ ๊ธฐ์ค์ผ๋ก๋ 950ํ์ด์ง์ธ๋ฐ ํ๋ฃจ์ 10ํ์ด์ง์ฉ ์ฝ์ด๋ ๊ผฌ๋ฐ 3๊ฐ์ ๋ด๋ด ์ฝ์ด์ผ ๋๋๋ฐ ์์ ์ด ์๊ธฐ๋ ํ๊ณ ์.
4. ๊ฐ์ธ ํ๋ก์ ํธ ํ๊ธฐ
๊ฝ๋ฅ: 3์ ์ค๋ฐ๋ถํฐ 6์๊น์ง ํ๊ต ํ๋ก์ ํธ
22๋
3์ ์ค์์ ํ๊ต์์ ์งํํ๋ ์๊ธฐ์ฃผ๋์ง๋กํ๋ก์ ํธ๋ก iOS ์ฑ ๊ฐ๋ฐ์ ํ๊ฒ ๋์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ์ ์์ธํ ํ์ธํ ์ ์์ต๋๋ค.
https://kimdee.netlify.app/blog/%ED%95%99%EA%B5%90-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%9C-ios-%EC%95%B1-%EA%BD%81%EB%83%A5-%EB%A7%8C%EB%93%9C%EB%8A%94-%EC%9D%B4%EC%95%BC%EA%B8%B0-1-1/
๊ธฐํ๊ณผ ๋์์ธ, iOS ๊ฐ๋ฐ ๊ณต๋ถ, ํ๊ต๋ฅผ ๋ณตํํ๋ค๋ณด๋ ์ ๊ณต๊ณต๋ถ๊น์ง ์ดํ์์ด ํ ํ๊ธฐ๋ฅผ ๋ณํํด ๋๊ฐ์ต๋๋ค.
์ด ๋ชจ๋ ๊ณผ์ ์ ์ฝ 3๊ฐ์๊ฐ ์งํํ๋๋ฐ์.
์ด ๋, ์ ๋ง ๋ง์ด ํ๋ค์์ง๋ง ํ๋ํ๋ ์์ฑํด๊ฐ๋๋ง๋ค ์ ๊ธฐํ๊ณ ์ฌ๋ฐ์ต๋๋ค.
https://kimdee.notion.site/iOS-2977c7cc689e45cfa391c9d92b7b2e57
์์์ ๋น์ ๊ฐ๋ฐ ํํฉ ๋ฐ ํ๋ก์ ํธ ๋ณด๊ณ ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๊ฝ๋ฅ์ Storyboard๋ก UI๋ฅผ ๋ง๋ค๊ณ Firebase์ Realtime Database์ Auth๋ฅผ ์ด์ฉํด ๋ง๋ ์ฑ์ด์๋๋ฐ์.
์ด ์ฑ์ ๋ง๋ค๋ฉด์ ์ ์ผ ํ๋ค์๋ ๋ถ๋ถ์, ํ์ด์ด๋ฒ ์ด์ค์ ํต์ ํ๋ ๋ถ๋ถ๊ณผ ํ๋ฉด์์ ์
๋ฐ์ดํธ ๋๋ ๋ถ๋ถ์ด ์์ฐจ์ ์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์์์, ์์ฒญ ๋ฒํผ์ ๋๋ฅด๊ณ ๋ค๋ฅธ ํญ์ผ๋ก ๊ฐ์ ํ๋ฉด ๊ฐฑ์ ์ ํ๊ฑฐ๋, ์ฝ๋ ์
๋ทฐ์ ์ค์ ํด๋ refresh control์ ์ด์ฉํด ์ ์ค์ณ๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ๋ก๋ํด์ค๋ ๋ฑ… UX์ ์ผ๋ก ๊ต์ฅํ ๋ถํธํ์ต๋๋ค.
UI๊ฐ ์
๋ฐ์ดํธ ๋๋ ๋์ ๊ทธ ๋ทํธ์์ ๋คํธ์ํฌ ํต์ ์ด ์ผ์ด๋๋ค๋ ๊ฑด ์์์ง๋ง ์ด๊ฑธ ์ด๋ค ์์ผ๋ก ํด๊ฒฐํด์ผ๋๋์ง, ๋ญ๋ก ๊ฒ์ํด์ผ ๋๋์ง์ ๋ํด์์กฐ์ฐจ๋ ๋ชฐ๋์ต๋๋ค. ์ด ๋ ์ฐธ์ผ๋ก ์์ํ๋๋ผ๊ณ ์.
์ด๋ฐ ์์ฌ์์ Swift ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋๋ฅผ ์จ๋ผ์ธ์ผ๋ก ํ๊ฒ ๋์๋๋ฐ์. ๊ทธ ๋ ์๊ฒ ๋ ์ง์ธ์ ํตํด ์์น iOS ๋ถํธ์บ ํ๋ฅผ ์ถ์ฒ๋ฐ๊ณ ์ง์ํ๊ฒ ๋์์ต๋๋ค.
๋ค์ํธ์ ์๋์ ์ด์ด์ง๋๋ค.
์ค๋๋ ์ฝ์ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
๊ถ๊ธํ๊ฑฐ๋ ๋๋๊ณ ์ถ์ ์๊ธฐ๊ฐ ์์ผ์๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์!
์ฌ๋ฐ๊ฒ ์ฝ์ผ์
จ๋ค๋ฉด ๊ณต๊ฐ๊ณผ ๊ตฌ๋
์ ํฐ ํ์ด ๋ฉ๋๋ค.
ํญ์ ๊ฐ์ฌํฉ๋๋ค.
๋๊ธ