[WIL] ์˜์А๋žญ ๐Ÿ’ซ, ์ฃผ๊ฐ„ ํ•™์Šต๋Ÿ‰ ์ด์ •๋ฆฌ

๊น€์˜๊ด‘ยท2026๋…„ 1์›” 30์ผ

โญ Dio Package - 2๏ธโƒฃ

Dio๋Š” Flutter์—์„œ ์‚ฌ๋ž‘๋ฐ›๋Š” HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.
๊ฐ„๋‹จํ•˜๊ฒŒ api ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ํ†ตํ•œ ๊ฒ€์ฆ ๋ฐ ๋ถ€๊ฐ€๊ธฐ๋Šฅ๊นŒ์ง€ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ”๋กœ ์ „ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ, RequestOptions๋ฅผ ๋งŒ๋“  ๋’ค ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ๊ฑฐ์ณ ์„œ๋ฒ„๋กœ ๋‚ ์•„๊ฐ„๋‹ค.
์ด๋•Œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์—๋Š” TCP/IP ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ ์ด๋ถ€๋ถ„์€ ์ถ”ํ›„ ์ˆ˜์ค€๋ณ„ ๋ถ„๋ฐ˜์—์„œ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

โญ Clean Architecture - 2๏ธโƒฃ

์ด๋ฒˆ์ฃผ์— ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์Ÿ์€ ๋ถ€๋ถ„์€ ๋‹จ์—ฐ Clean Architecture ๋ถ€๋ถ„์ด๋‹ค.
MVVM ์•„ํ‚คํ…์ฒ˜์™€ ๋‹ค๋ฅด๊ฒŒ ์˜์กด์„ฑ์„ Entity๋กœ ๋ชจ์€๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.
Flutter๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ถ€๋Š” ์ˆœ์ˆ˜ Dart์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜๋ฉฐ ์™ธ๋ถ€(Service, UI)๊ณ„์ธต์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ์™ธ๋ถ€ DB, API ๋“ฑ์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค.

MVVM๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ณต์žกํ•œ ๋ฉด๋„ ์žˆ์ง€๋งŒ, Google์ด ๊ฐœ๋ฐœํ•œ ํ”„๋ ˆ์ž„์›Œํฌ flutter์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋งŒํผ ์•ฑ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์กŒ์„ ๋•Œ์˜ ์ด์ ์ด ๋ถ„๋ช…ํžˆ ์กด์žฌํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค.
compose๋ฅผ ํ•™์Šตํ•  ๋•Œ๋Š” MVVM, ์ฆ‰ ๋‹จ๋ฐฉํ–ฅ Layer ๊ณ„์ธต์— ๋Œ€ํ•ด์„œ๋งŒ ๊ณต๋ถ€ํ–ˆ์—ˆ๋Š”๋ฐ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

๊ฒฐ๋ก  : ์•„ํ‚คํ…์ฒ˜์— ์ •๋‹ต์€ ์—†๋‹ค, ๋‚ด๊ฐ€ ๋งŒ๋“ค๋ฉด ์˜๊ด‘ํ‚คํ…์ฒ˜๋‹ค.

โญ Responsive UI - 1๏ธโƒฃ

flutter ๊ณต์‹๋ฌธ์„œ์— Adaptive and reponsive design์ด๋ผ๋Š” ๋ชฉ์ฐจ๊ฐ€ ์žˆ๋‹ค.
์ ์‘ํ˜•๊ณผ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์— ๊ด€ํ•œ ๋ถ€๋ถ„์ธ๋ฐ ์•„์ง 1ํšŒ๋…๋„ ๋๋‚ด์ง€ ๋ชป ํ–ˆ๋‹ค.

์ด๋ถ€๋ถ„๊ณผ ์ถ”๊ฐ€๋กœ Constrains, ๋ชจ๋ฐ”์ผ๊ณผ ํƒœ๋ธ”๋ฆฟ, ๋…ธํŠธ๋ถ๊ณผ PC๋ฅผ ์œ„์ฃผ๋กœ ์ง์ ‘ ์‹ค์Šตํ•ด๋ด์•ผ๊ฒ ๋‹ค.
๋„์ „ ๊ณผ์ œ์—๋„ ๋ฐ˜์‘ํ˜• UI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๋ฐ ์ด๋ถ€๋ถ„์„ ์œ„์ฃผ๋กœ ์‹ค์Šต ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

profile
์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž

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