[Devfest Songdo 2023] 3. ์นด์นด์˜ค๋ฑ…ํฌ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ํ›„๊ธฐ

2023. 12. 10. 23:46ใ†Experiences/Activities

 

 

 

 

 

iOS ๊ฐœ๋ฐœ ๊ด€๋ จ ์„ธ์…˜์€ ์—†์–ด์„œ ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๋“ค์œผ๋Ÿฌ ์™”์Šต๋‹ˆ๋‹ค : )

 

 

 

 

 

 

 

 

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป

๊ฐœ๋ฐœ ๊ด€๋ จ ๊ณ ๋ฏผ๋“ค๊ณผ 

์—ํ”ผ์†Œ๋“œ๋ฅผ ์ด์•ผ๊ธฐํ•ด์ฃผ์…จ๋Š”๋ฐ 

๋‚˜๋„ ๊ฐ™์ด ๊ณ ๋ฏผํ•ด๋ณด๋ฉด์„œ, ๋ชฐ์ž…ํ•ด์„œ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

๋‹ค์–‘ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ์ ‘๊ทผ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์–ด์„œ

๊ต‰์žฅํžˆ ์žฌ๋ฏธ์žˆ๊ณ , ์œ ์ตํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ํ”„๋กœํ•„ ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜

  • ํ”„๋กœํ•„ UI ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ๊ฒƒ์ธ๊ฐ€?
  • ์–ด๋–ค ์‹œ์ ์— ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๊ฒƒ์ธ๊ฐ€?
  • ํด๋ฆญ ์‹œ ์–ด๋–ค ํ”„๋กœํ•„์ด ๋ฉ”์ธ์ธ๊ฐ€?
  • ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‚ด๋ถ€์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค
  • ์ต์ˆ™ํ•œ ์นด์นด์˜ค๋ฑ…ํฌ UI๋ฅผ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์ดํ•ด๊ฐ€ ์ž˜ ๋˜์—ˆ๋‹ค

 

 

 

 

 

 

 

 

 

 

 

์ด๋ฏธ์ง€ ํ™”์งˆ ์ €ํ•˜ ํ˜„์ƒ

  • ์ฒ˜์Œ์—๋Š” ์„œ๋ฒ„ ๋ฌธ์ œ๋กœ ํŒŒ์•…
  • Circle crop API ์ค‘ down sample ๋ฌธ์ œ 
  • Center Outside API๋Š” upscale ์ง€์›
  • ๋Œ€๋ถ€๋ถ„ ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋” ์ค‘์š”
    ์†Œ์Šค ํ’ˆ์งˆ์— ๋งž๋„๋ก ๋‚˜์˜จ optional์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ๋™์ž‘์ด ์ด์ƒํ•  ๋•Œ๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฒดํฌํ•˜์ž
    ์ฃผ์„๋„ ์ž˜ ์ฝ๊ณ , ์ฝ”๋“œ๋ฅผ ์ž˜ ์ฝ์ž 

 

 

 

 

 

 

 

 

 

 

UI ํ…Œ์ŠคํŠธ & ์ด๋ฏธ์ง€ 

  • ์นด์นด์˜ค๋Š” ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ๋งŽ์ด ํ•œ๋‹ค.
  • Mock or Spy / fake ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉ

 

  • Placeholder๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ๋‹ฌ๋ฆฌ
  • ํŠน์ • ์ผ€์ด์Šค๋Š” ํ•„์ˆ˜์ ์œผ๋กœ ์ด๋ฏธ์ง€๊ฐ€ ์™€์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 
  • ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ 
  • ์žฅ๋น„ ์—ฐ๊ฒฐ ์‹œ ์–ด๋–ค ์„ธํŒ…์„ ํ•ด์•ผํ•  ์ง€ ๊ฐ€์ด๋“œ๋ผ์ธ

 

  • ๊ฐ€๋กœ์ฑ„์„œ ์„ฑ๊ณต์œผ๋กœ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๊ธฐ
  • UI ํ…Œ์ŠคํŠธ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ
  • ํ•˜๋“œ์›จ์–ด ์†Œํ”„ํŠธ์›จ์–ด ์Šคํ† ๋ฆฌ์ง€ ์˜ํ–ฅ์„ ์•ˆ ๋ฐ›๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ
  • ํŠน์ • ํ•˜๋“œ์›จ์–ด์˜ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•œ ๋กœ์ง ๋„ฃ์–ด์•ผ ํ•จ
    ex) ํ”Œ๋ฆฝ์ด ๋ฐ˜์œผ๋กœ ์ ‘ํ˜€์„œ ์Šคํฌ๋กค ๋กœ์ง ์ˆ˜์ •

 

 

 

 

 

UI ๊ด€๋ จ ๊ฐœ๋ฐœ ๋‚ด์šฉ์ด๋ผ์„œ ๋”์šฑ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค!

 

 

 

 

 

 

 

 

 

 

์ž์—ฐ์Šค๋Ÿฌ์šด ์ œ์Šค์ณ

  • ์ž”์•ก ์ˆจ๊ธด ์ดํ›„ ๋‹ค์‹œ ๋ณด์—ฌ์ค„ ๋•Œ, ์Šฌ๋ผ์ด๋“œ ์ œ์Šค์ณ ๊ตฌํ˜„
  • Textview์˜ ์ œ์Šค์ณ, ์‚ฌ๋žŒ๋งˆ๋‹ค ์‹œ์ž‘ํ•˜๋Š” ํฌ์ธํŠธ๊ฐ€ ๋‹ค๋ฆ„
  • ๊ตฌ๊ธ€๊ณผ ์• ํ”Œ์˜ ์ ์ ˆํ•œ ํ„ฐ์น˜ ํฌ๊ธฐ์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ (HIG, AMD)
  • ์‚ฌ์šฉ์ž๋งˆ๋‹ค ํฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์˜์—ญ๋„ ๋‹ค๋ฆ„
    ex) ์™ผ์†์žก์ด์™€ ์˜ค๋ฅธ์†์žก์ด ์œ ์ €์˜ ์ฐจ์ด์ 

 

 

 

 

 

 

 

 

 

 

 

  • ํ„ฐ์น˜ ์˜์—ญ๋„ ๋Š˜์—ฌ์•ผ ํ•œ๋‹ค
  • ์ œ์Šค์ฒ˜์˜ ๋ฐฉํ–ฅ์€?
  • ํŒจ๋”ฉ์„ ํ‚ค์šฐ๋Š” ๊ฒƒ์„ ์ œ์•ˆ
  • ์ง์ ‘ ํ„ฐ์น˜๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์›€

 

 

 

 

 

 

 

 

 

 

๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์— ๋Œ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ

  • ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋Šฅ๋ณ„ ๋ชจ๋“ˆํ™” 
  • ์นด์นด์˜ค๋ฑ…ํฌ ์šฉ์œผ๋กœ ์ปค์Šคํ…€ํ™” 
  • ํšŒ์‚ฌ ๋ณ„ ๋””์ž์ธ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณตํ†ต ์ฝ”๋“œ๋“ค 
  • ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…๋“ค์„ ํ•œ๋ฒˆ์— generate ํ•˜๋„๋ก
  • ๋ฐ๋ชจ ์•ฑ / ๋ชจ๋“ˆ๋งŒ ์‹คํ–‰ํ•˜๋Š” ์•ฑ์„ ํ•˜๋‚˜ ๋งŒ๋“ฆ

 

 

 

 

 

๊นƒํ—ˆ๋ธŒ ์ž”๋””๋ฐญ UI๊ฐ™๊ณ  ๋„ˆ๋ฌด ๋ง˜์— ๋“ค์—ˆ๋˜ ๋””์ž์ธ

 

 

 

 

 

  • Single App Module์—์„œ ๊ณ„์ธต ๋‹จ์œ„์˜ ๋ชจ๋“ˆ๋กœ
  • UI / Domain / Data
  • ๊ฒฉ๋ฆฌํ•œ๋‹ค๋Š” ์ž…์žฅ์—์„œ ํ”ผ์ฒ˜ ๋ณ„ ๋ถ„๋ฆฌ
    ํ•˜์ง€๋งŒ ๋˜ ๊ณตํ†ต์ธ ๋ถ€๋ถ„๋„ ์กด์žฌ

 

  • ์ด์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋Š” ์ƒ˜ํ”Œ ์•ฑ
  • ๋นŒ๋“œ ์‹œ๊ฐ„์€ ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“ˆ ์ˆ˜์— ์˜ํ–ฅ์„ ๋ฐ›์Œ
  • ๊ธฐ์กด ๋ณธ ์•ฑ ํ•˜๋‚˜๋ฅผ ๋Œ๋ฆฌ๋˜ ์ƒํ™ฉ์—์„œ
    ์ด์ œ๋Š” ์›ํ•˜๋Š” ๋ชจ๋“ˆ๋งŒ ๋ชจ์•„์„œ ๋นŒ๋“œ
    ๋˜ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ชจ๋“ˆ๋“ค์„ ๊ตฌ์„ฑ O

 

 

 

 

 

 

 

 

 

 

  • ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์ž‘์€ ๋‚œ์ด๋„๊ฐ€ ์–ด๋ ค์šด ํŽธ
  • ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋ฅผ ํด๋ก ํ•ด์„œ, ์›ํ–ˆ๋˜ ๋™์ž‘์˜ ์ŠคํŠธ๋ง์„ ์ฐพ์Œ
    ์–ด๋–ค ๋ถ€๋ถ„์„ custom ํ•  ์ˆ˜ ์žˆ์„์ง€ ์‚ดํŽด๋ณด๊ธฐ
  • ์—ญ์œผ๋กœ import๋ฅผ ์ฐพ์•„๊ฐ€๋ฉด์„œ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„

 

  • ์ œ์ž‘์— ๋Œ€ํ•œ ๋‚œ์ด๋„๊ฐ€ ์–ด๋ ค์›€
  • ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‚ด๋ถ€ ์ฝ”๋“œ ๋™์ž‘์ด ๋‹ฌ๋ผ์ง€๋ฉด ๊ณ„์† ์ˆ˜์ •ํ•ด์•ผ ํ•จ
  • ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค๋ฉด, template์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•

 

 

 

 

 

๐Ÿ“Œ UI ๊ด€๋ จ ๊ณ ๋ฏผ๋“ค๊ณผ ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ์ด์•ผ๊ธฐ๋กœ ํ’€์–ด์ฃผ์…”์„œ,
์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•ด์ฃผ์…จ์ง€๋งŒ iOS ์•ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋กœ์„œ๋„ ๋ฐฐ์šธ ์ ์ด ๋งŽ์•˜๋˜ ๊ฐ•์˜์˜€๋‹ค.

์•ฑ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋Š๊ผˆ๋˜ ์–ด๋ ค์šด ์ ๋“ค์„ ๋– ์˜ฌ๋ ค๋ณผ ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. :)