์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

Flutter ์‘์šฉ - ๊ณต๊ณต API๋ฅผ ํ™œ์šฉํ•œ ์•ฑ ๋งŒ๋“ค๊ธฐ (MVVM ํŒจํ„ด)

๊ณต์  ๋งˆ์Šคํฌ ์žฌ๊ณ  ์•ฑ์„ ๋งŒ๋“ค๊ณ  ์Šค๋งˆํŠธํฐ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ธ MVVM ํŒจํ„ด์„ ์ ์šฉํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๋ฉฐ ํ”Œ๋Ÿฌํ„ฐ ์•ฑ ๊ฐœ๋ฐœ์„ ์ตํž™๋‹ˆ๋‹ค.

Thumbnail

์ค‘๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ๊ณต๊ณต API ํ™œ์šฉ ๋ฐฉ๋ฒ•

  • MVVM ํŒจํ„ด์„ ์ ์šฉ ํ•œ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•

๊ณต๊ณต API๋กœ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ฐฐ์šฐ๋Š”
์‹ค์ „ ํ”Œ๋Ÿฌํ„ฐ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ.

2024๋…„ ์˜์ƒ ์žฌ์ดฌ์˜ ์—…๋ฐ์ดํŠธ ์ ์šฉ!!

ํ”Œ๋Ÿฌํ„ฐ ์•ฑ ๊ฐœ๋ฐœ ์‘์šฉ,
์™œ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?  

โœ”๏ธ ์ด ๊ฐ•์˜์—์„œ๋Š”!
ํ”Œ๋Ÿฌํ„ฐ๋กœ ๊ณต์  ๋งˆ์Šคํฌ ์žฌ๊ณ  ์•ฑ์„ ๋งŒ๋“ค๊ณ 
MVVM ํŒจํ„ด์„ ์ ์šฉํ•ด ๋ด…๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌํ„ฐ๋Š” ๊ณต๊ณต API๋ฅผ ํ™œ์šฉํ•œ ์•ฑ์„ ๋งŒ๋“œ๋Š”๋ฐ ์•„์ฃผ ์ ์ ˆํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
ํ”Œ๋Ÿฌํ„ฐ ์ž…๋ฌธ์ž๋ฅผ ๋ฒ—์–ด๋‚˜๋ ค๋ฉด ํŒจํ„ด์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌ์กฐํ™”๋œ ์•ฑ์„ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” MVVM ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ ๊ตฌ์กฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐ•์˜์—์„œ ๋ฐฐ์šฐ๋Š” ๋‚ด์šฉ

๊ณต์  ๋งˆ์Šคํฌ ์žฌ๊ณ  ์•ฑ์„ ๋งŒ๋“ค๊ณ  MVVM ํŒจํ„ด์„ ์ ์šฉํ•˜์—ฌ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณต๊ณต ์ •๋ณด API๋ฅผ ์‚ฌ์šฉํ•œ HTTP ํ†ต์‹ 
  • ํ˜„์žฌ ์œ„์น˜ ์ •๋ณด ์‚ฌ์šฉ
  • Provider๋ฅผ ์‚ฌ์šฉํ•œ ์ƒํƒœ ๊ด€๋ฆฌ
  • MVVM ํŒจํ„ด ์ ์šฉ
  • ๋ฆฌํŒฉํ„ฐ๋ง


๊ฐ•์˜ ํŠน์ง•

์–ด๋ ค์šด ๊ฐœ๋…์€ ๋„ํ•ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.


์„น์…˜๋ณ„ ์†Œ๊ฐœ

  1   ์ผ๋‹จ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๋งˆ์Šคํฌ ์žฌ๊ณ  ์•ฑ
โ€ข ๋จผ์ € ์•ฑ์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. 

  2   ์„ค๊ณ„๋ฅผ ๊ณ ๋ คํ•œ ์•ฑ ๊ฐœ๋ฐœ
โ€ข ๊ทธ๋ฆฌ๊ณ  MVVM ํŒจํ„ด์„ ๋ฐฐ์šฐ๊ณ  ์ ์šฉํ•ด ๋‚˜๊ฐ€๋ฉฐ ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.


๋‹ค๋ฃจ๋Š” ํˆด

์ด ๊ฐ•์˜์—์„œ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!

  • ์ฑ•ํ„ฐ1 ์€ Null Safety ์ ์šฉ ์ „์— ์ฐ์€ ์˜์ƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผํ•˜์ง€ ๋ง๊ณ  ๋ˆˆ์œผ๋กœ๋งŒ ๋ณด์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
  • ๋น„์ •๊ธฐ์ ์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์„ ์ ์šฉํ•˜์—ฌ Github์„ ์—…๋ฐ์ดํŠธ ํ•ฉ๋‹ˆ๋‹ค.
  • ์Šค์Šค๋กœ ๋˜๋Š” ์ œ๊ณต๋˜๋Š” Github์„ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ์ตœ์‹  ์ฝ”๋“œ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์ด ๋“ฃ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์งˆ๋ฌธ Q&A

Q. ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์•„์ง ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์—†๋Š”๋ฐ ๋“ค์–ด๋„ ๋˜๋‚˜์š”?

์•„๋‹ˆ์š”. ํ”Œ๋Ÿฌํ„ฐ์™€ Dart์–ธ์–ด ๊ธฐ์ดˆ ์ง€์‹์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ž…๋ฌธ์„œ๋‚˜ ์ตœ์†Œ ๋ฌด๋ฃŒ๋กœ ๊ณต๊ฐœ๋œ ํ”Œ๋Ÿฌํ„ฐ ์ž…๋ฌธ ๋™์˜์ƒ ๊ฐ•์˜ ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•ด์•ผ ๊ฐ•์˜๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


 

๊ฐ•์˜ ์„ ํƒ ๊ฐ€์ด๋“œ

๋ณธ์ธ์ด ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๊ฐ•์˜๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”.

 

์—ฐ๊ด€ ๋กœ๋“œ๋งต

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Flutter ์ž…๋ฌธ, ์ค‘๊ธ‰ ๊ฐ•์ขŒ๋ฅผ ๋ณด์‹  ๋ถ„

  • ํ”Œ๋Ÿฌํ„ฐ ๊ธฐ์ดˆ, Dart ๋ฌธ๋ฒ•์„ ์ˆ™์ง€ํ•œ ๋ถ„ ์ค‘์—์„œ MVVM ํŒจํ„ด์„ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ํ”Œ๋Ÿฌํ„ฐ ๊ธฐ์ดˆ

  • Dart

์•ˆ๋…•ํ•˜์„ธ์š”
์˜ค์ค€์„์ž…๋‹ˆ๋‹ค.

10,426

๋ช…

์ˆ˜๊ฐ•์ƒ

689

๊ฐœ

์ˆ˜๊ฐ•ํ‰

817

๊ฐœ

๋‹ต๋ณ€

4.7

์ 

๊ฐ•์˜ ํ‰์ 

13

๊ฐœ

๊ฐ•์˜

๊ต์œกํ•˜๊ณ  ์ฑ… ์“ฐ๋Š” ๊ฐœ๋ฐœ์ž ์˜ค์ค€์„์ž…๋‹ˆ๋‹ค.
'์˜ค์ค€์„์˜ ์ƒ์กด์ฝ”๋”ฉ' ์œ ํŠœ๋ธŒ ์ฑ„๋„๊ณผ ์ƒ์กด์ฝ”๋”ฉ (https://survivalcoding.com) ๊ต์œก ํ”Œ๋ž˜ํผ์„ ์šด์˜์ค‘์ž…๋‹ˆ๋‹ค.

์ €์„œ
์˜ค์ค€์„์˜ ํ”Œ๋Ÿฌํ„ฐ ์ƒ์กด์ฝ”๋”ฉ (ํ•œ๋น›๋ฏธ๋””์–ด 2020)
์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ: ์ฝ”ํ‹€๋ฆฐ ํŽธ (ํ•œ๋น›๋ฏธ๋””์–ด 2018)
๋  ๋•Œ๊นŒ์ง€ ์•ˆ๋“œ๋กœ์ด๋“œ (๋ฃจ๋น„ํŽ˜์ดํผ 2018)

์ฃผ์š”๊ฒฝ๋ ฅ
์˜ค๋ Œ์ง€(OhRange) ๋Œ€ํ‘œ
์„ธ๋ฏผ์ง์—…์ „๋ฌธํ•™๊ต ์ •๋ณด๊ธฐ์ˆ ๊ฐœ๋ฐœ ์ง์—…ํ›ˆ๋ จ๊ต์‚ฌ
์ˆ˜์›์Šค๋งˆํŠธ์•ฑ๊ฐœ๋ฐœํ•™์› ์šด์˜
LG์ „์ž MC์‚ฌ์—…๋ถ€
์ผ๋ณธ ์•„์ด์น˜ํ˜„ (ๆ ช)ๆฑๆตท็†็ง‘ Security์‚ฌ์—…๋ถ€
์ผ๋ณธ ์•„์ด์น˜ํ˜„ (ๆ ช)ๆ—ฅๆœฌใƒ†ใ‚ฏใ‚ทใƒผใƒ‰ IT์‚ฌ์—…๋ถ€

LinkedIn: https://www.linkedin.com/in/junsuk5/

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

32๊ฐœ โˆ™ (4์‹œ๊ฐ„ 0๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!