Hello iOS App๐Ÿ‘‹

Junยท2023๋…„ 2์›” 25์ผ
0

๐ŸŽ iOS

๋ชฉ๋ก ๋ณด๊ธฐ
1/7

Swift ๋ฌธ๋ฒ• ๊ณต๋ถ€๋งŒ ํ•˜๋‹ˆ๊นŒ ์ง€๋ฃจํ•ด์„œ iOS App์„ ๋งŒ๋“œ๋Š” ๊ณต๋ถ€๋„ ๊ฐ™์ด ๋ณ‘ํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ณธ๊ฒฉ์ ์ธ iOS App ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

(iOS App์„ ๊ณต๋ถ€ํ•˜๊ณ  ๋งŒ๋“ค์–ด๋ณธ App๋“ค์€ Github - iOS์— ์˜ฌ๋ฆฌ๊ณ  ์žˆ๋‹ค.)



App?

App์€ Application์˜ ์ค€๋ง๋กœ Application software ๋˜๋Š” Application program์„ ์˜๋ฏธํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๋ชจ๋ฐ”์ผ์ด๋‚˜ ์ปดํ“จํ„ฐ์—์„œ ํŠน์ • ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•˜์ง€๋งŒ, ๋ชจ๋ฐ”์ผ์—์„œ ์ธ์ง€๋„๊ฐ€ ๋” ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๋žŒ๋“ค์€ App = ๋ชจ๋ฐ”์ผ, Program = ์ปดํ“จํ„ฐ๋ผ๋Š” ์ธ์‹์ด ๊ฐ•ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

๊ฐœ๋ฐœ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(Native App), ์›น ์•ฑ(Web App), ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ(Hybrid App)์œผ๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค.


๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(Native App)

๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(Native App)์ด๋ž€ Android ๋˜๋Š” iOS ๊ฐ™์€ ํ•œ ๊ฐ€์ง€ ํŠน์ •ํ•œ ํ”Œ๋žซํผ์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ฐ”์ผ ์•ฑ์ด๋‹ค. Android ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ๊ฒฝ์šฐ๋Š” Kotlin ๋˜๋Š” Java๋กœ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  iOS์˜ ๊ฒฝ์šฐ Swift ๋˜๋Š” Objective-C๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ๊ฐœ๋ฐœ ์™ธ์— Google์ด ๋งŒ๋“  Flutter, Facebook์ด ๋งŒ๋“  React Native๋“ฑ์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋ ˆ์ž„ ์›Œํฌ(Cross-Platform framworks)๋ฅผ ํ†ตํ•œ ๊ฐœ๋ฐœ์˜ ์ธ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค.

  • ์žฅ์  : ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜, ๋„ค์ดํ‹ฐ๋ธŒ API ํ˜ธ์ถœ ๊ฐ€๋Šฅ, ๊ธฐ๊ธฐ ์ž์ฒด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ(์นด๋ฉ”๋ผ, ๋งˆ์ดํฌ, GPS๋“ฑ๋“ฑ)
  • ๋‹จ์  : ๋‹ค๋ฅธ ํ”Œ๋žซํผ๊ณผ ํ˜ธํ™˜ X, ๊ฐœ๋ฐœ ๋น„์šฉ์ด ๋น„์Œˆ, ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ

์›น ์•ฑ(Web App)

์›น ์•ฑ(Web App)์ด๋ž€ ๊ธฐ์ข…์— ์ƒ๊ด€์—†์ด ๋ชจ๋“  ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ๋™์ผํ•œ ์ปจํ…์ธ ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์•ฑ์ด๋‹ค. ๋ชจ๋ฐ”์ผ ์›น์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ธ ์›น ๊ธฐ์ˆ ๋กœ ๊ฐœ๋ฐœ์ด ๋˜์ง€๋งŒ, ๋ชจ๋ฐ”์ผ ์›น๋ณด๋‹ค๋Š” ์ข€ ๋” ๋ชจ๋ฐ”์ผ์— ์ตœ์ ํ™” ๋˜์–ด์žˆ๋‹ค. ์šด์˜์ฒด์ œ(OS)์™€ ์ง์ ‘ ํ†ต์‹ ํ•˜๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์›น ์•ฑ์€ ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์‹คํ–‰๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์•ฑ์„ ๋”ฐ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜์ง€ ์•Š์•„๋„ ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์žฅ์  : ๊ฐœ๋ฐœ ๋น„์šฉ์ด ์ €๋ ด, ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ์งง์Œ, ๋”ฐ๋กœ ์„ค์น˜ X
  • ๋‹จ์  : ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง, ๊ธฐ๊ธฐ ์ž์ฒด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ, ๋ธŒ๋ผ์šฐ์ € API๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ(Hybrid App)

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ(Hybrid App)์ด๋ž€ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(Native App) + ์›น ์•ฑ(Web App)์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์€ HTML ๋“ฑ์˜ ์›น ๋ฌธ์„œ๋กœ ๋งŒ๋“ค๊ณ , ํŒจํ‚ค์ง•์€ Android ๋˜๋Š” iOS์™€ ๊ฐ™์€ ๋ชจ๋ฐ”์ผ ์šด์˜์ฒด์ œ ๋ณ„๋กœ ๋งŒ๋“ ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋„ค์ดํ‹ฐ๋ธŒ ์›น์— ์›น view๋ฅผ ๋„์›Œ์„œ ์›น ์•ฑ์„ ์‹คํ–‰์‹œํ‚จ๋‹ค.

  • ์žฅ์  : ๊ธฐ๊ธฐ ์ž์ฒด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํŽธ๋ฆฌํ•จ, ๋„ค์ดํ‹ฐ๋ธŒ API ๋ธŒ๋ผ์šฐ์ € API ๋‘˜ ๋‹ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๋‹จ์  : ๋””์ž์ธ์— ์ทจ์•ฝ, ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง, ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ ์ง€์‹ ํ•„์š”


๊ณ„ํš

Swift ๋ฌธ๋ฒ• ๊ณต๋ถ€๋Š” ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉฐ ๊พธ์ค€ํžˆ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๊ณ  iOS App ๋งŒ๋“œ๋Š” ๊ณต๋ถ€๋„ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ๊ฐ™์ด ๋ณ‘ํ–‰ํ•˜๋ ค๊ณ ํ•œ๋‹ค. UiKit, SwiftUI๋ฅผ xcode๋ฅผ ํ†ตํ•ด ์ง์ ‘ App์„ ๋งŒ๋“ค๋ฉด์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์ค‘๊ฐ„ ์ค‘๊ฐ„ ๊ฐœ๋…์ด ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ๋ฅผ ํ•˜๋ฉฐ ์ง„ํ–‰์„ ํ•  ๊ฒƒ์ด๋‹ค.

๋‚˜์ค‘์— iOS ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ๋‚˜์„œ๋„ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ข‹์€ ๋‚ด์šฉ์œผ๋กœ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฑ„์›Œ๋‚˜๊ฐ€์•ผ๊ฒ ๋‹ค!

profile
Slow and Steady๐Ÿข

0๊ฐœ์˜ ๋Œ“๊ธ€