๐ [V2 ๊ฐ๋ฐ] ๋
์ ์ต๊ด ํ์ฑ ํ๋ซํผ Flutter ๊ฐ๋ฐ์(์ฑ)๋ฅผ ์ฐพ์ต๋๋ค! (Riverpod)
์๋
ํ์ธ์! ์ ํฌ๋ ๊ฑด๊ฐํ ๋
์ ์ต๊ด์ ๋ง๋ค์ด๊ฐ๋ ํ๋ซํผ ๋ถ์คํ ์
๋๋ค.
์ด๋ฏธ v1 ์ฑ์ ์ฑ๊ณต์ ์ผ๋ก ์ถ์ ๋ฐ ์ด์ํ ๊ฒฝํ์ด ์์ผ๋ฉฐ, ์ฌ์ฉ์๋ถ๋ค์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ํ ๋จ๊ณ ๋ ๋์ฝํ๊ณ ์ v2 ๊ฐ๋ฐ์ ์งํ ์ค์
๋๋ค. ํ์ฌ ๋์์ธ๊ณผ ๋ฐฑ์๋ ๊ฐ๋ฐ์ด ์๋ฃ๋ ์ํ๋ก, ์ ํฌ์ ํจ๊ป ๋ฉ์ง ์ฌ์ฉ์ ๊ฒฝํ์ ๋ง๋ค์ด๋๊ฐ ์ค๋ ฅ ์๋ Flutter ๊ฐ๋ฐ์๋ถ์ ๊ตฌํ๊ณ ์ ํฉ๋๋ค.
โจ ํ๋ก์ ํธ ์๊ฐ
ํ๋ก์ ํธ: ๋
์ ์ต๊ด ํ์ฑ ๋ฐ ๊ด๋ฆฌ ํ๋ซํผ v2 ๊ฐ๋ฐ
ํ๋ก์ ํธ ์์ฝ: ์ฌ์ฉ์๋ค์ด ๊พธ์คํ ์ฑ
์ ์ฝ๊ณ , ๊ธฐ๋กํ๋ฉฐ, ์๋ก ๋๊ธฐ๋ถ์ฌ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ๋๋ ์๋น์ค์
๋๋ค. v2์์๋ ๊ฐ์ธํ๋ ์ถ์ฒ, ์์
๊ธฐ๋ฅ ๊ฐํ ๋ฑ ๊ณ ๋ํ๋ ๊ธฐ๋ฅ์ ์ ๋ณด์ผ ์์ ์
๋๋ค.
ํ ๊ตฌ์ฑ: ํ์ฌ ๋์์ด๋ 2๋ช
, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ 1๋ช
, ๋ฐฑ์๋ ๊ฐ๋ฐ์ 1๋ช
์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ธฐ์ ์คํ: ์ ํฌ๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Riverpod๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์งํ ๋ฐฉ์:
์จ๋ผ์ธ/๋น๋๋ฉด ํ์
์ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค.
์ฃผ 1ํ ์ ๊ธฐ ํ์ ๋ฐ ๋์ค์ฝ๋(Discord), ๋
ธ์
(Notion), ์นด์นด์คํก(Kakaotalk)๋ฅผ ํตํ ์ ์ฐํ๊ณ ํจ์จ์ ์ธ ์ํต์ ์งํฅํฉ๋๋ค.
๐ฏ ์ด๋ฐ ๋ถ์ ์ฐพ๊ณ ์์ด์!
โ์๊ฒฉ ์๊ฑด
Flutter๋ฅผ ์ด์ฉํ ์์ฉ ์์ค์ ์ฑ ๊ฐ๋ฐ ๋ฐ ์ถ์ ๊ฒฝํ์ด ์์ผ์ ๋ถ
Riverpod์ ๋ํ ๊น์ ์ดํด์ ์ค์ ํ๋ก์ ํธ ์ ์ฉ ๊ฒฝํ์ด ์์ผ์ ๋ถ
์์ฑ๋ ๋์์ธ ์์๊ณผ API ๋ช
์ธ์๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋ ๋์ UI์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ ๋ถ
๊ธฐ์กด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ์ํํ๊ฒ ํ์
ํ๊ณ , ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ํจ๊ป ์ฑ์ฅํ ์์ง๊ฐ ์์ผ์ ๋ถ
Git์ ํตํ ํ์ ๊ด๋ฆฌ ๋ฐ ๋ธ๋์น ์ ๋ต ํ์ฉ์ ๋ฅ์ํ์ ๋ถ
โญ์ด๋ฐ ๊ฒฝํ์ด ์๋ค๋ฉด ๋ ์ข์์! (์ฐ๋ ์ฌํญ)
Firebase, Supabase ๋ฑ BaaS ์ฌ์ฉ ๊ฒฝํ์ด ํ๋ถํ์ ๋ถ
๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค(Riverpod ๊ธฐ๋ฐ)๋ฅผ ๋น ๋ฅด๊ฒ ํ์
ํ๊ณ ๊ฐ์ ํด ๋ณธ ๊ฒฝํ์ด ์์ผ์ ๋ถ
์ฑ ์ฑ๋ฅ ์ต์ ํ(๋ฉ๋ชจ๋ฆฌ, ๋ ๋๋ง ๋ฑ) ๊ฒฝํ์ด ์์ผ์ ๋ถ
App Store / Play Store ์ฑ ๋ฐฐํฌ ๋ฐ CI/CD ๊ตฌ์ถ ๊ฒฝํ์ด ์์ผ์ ๋ถ
๋
์๋ ์ต๊ด ํ์ฑ์ ๋ํ ๊ด์ฌ๊ณผ ์ดํด๋๊ฐ ๋์ผ์ ๋ถ
๐ป ์ฃผ์ ์
๋ฌด
Flutter(Riverpod) ๊ธฐ๋ฐ์ v2 ์ฑ ํ๋ก ํธ์๋ ๊ฐ๋ฐ
์๋ฃ๋ ๋์์ธ ์์คํ
๋ฐ UI/UX ์์์ ์ฝ๋๋ก ์ ํํ๊ฒ ๊ตฌํ
๋ฐฑ์๋ ๊ฐ๋ฐ์์ ํ์
ํ์ฌ API ์ฐ๋ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
๊ธฐ์กด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์์ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๊ธฐ์ ์ ์ธ ์์ฌ๊ฒฐ์ ์ฐธ์ฌ
๐ ์ฐธ์ฌ ํํ
๊ฒ์ฆ๋ ์๋น์ค ๊ฒฝํ: ์ด๋ฏธ ์ถ์๋ v1 ์๋น์ค๋ฅผ ๋ฐํ์ผ๋ก v2๋ฅผ ๊ฐ๋ฐํ๋ฉฐ ์ฌ์ฉ์์ ํผ๋๋ฐฑ์ ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒฝํ์ ํ ์ ์์ต๋๋ค.
ํฌํธํด๋ฆฌ์ค ๊ฐํ: ์์ฑ๋ ๋์ ํ๊ณผ ํจ๊ป ์์ฉ ์๋น์ค๋ฅผ ํ ๋จ๊ณ ๋ฐ์ ์ํค๋ ์๋ฏธ ์๋ ํฌํธํด๋ฆฌ์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๐ ์ง์ ๋ฐฉ๋ฒ
์ด๋ฏธ ์์ฑ๋ ๊ธฐํ๊ณผ ๋์์ธ ์์์, Riverpod๋ฅผ ํ์ฉํ์ฌ ์ค๋กฏ์ด ๊ฐ๋ฐ์ ์ง์คํ๋ฉฐ ์ต๊ณ ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ ๊ฐ๋ฐ์๋ถ์ ๋ง์ ์ง์์ ๊ธฐ๋ค๋ฆฝ๋๋ค!
๊ฐ์ฌํฉ๋๋ค.
๐ [V2 ๊ฐ๋ฐ] ๋ ์ ์ต๊ด ํ์ฑ ํ๋ซํผ Flutter ๊ฐ๋ฐ์(์ฑ)๋ฅผ ์ฐพ์ต๋๋ค! (Riverpod)
์๋ ํ์ธ์! ์ ํฌ๋ ๊ฑด๊ฐํ ๋ ์ ์ต๊ด์ ๋ง๋ค์ด๊ฐ๋ ํ๋ซํผ ๋ถ์คํ ์ ๋๋ค.
์ด๋ฏธ v1 ์ฑ์ ์ฑ๊ณต์ ์ผ๋ก ์ถ์ ๋ฐ ์ด์ํ ๊ฒฝํ์ด ์์ผ๋ฉฐ, ์ฌ์ฉ์๋ถ๋ค์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ํ ๋จ๊ณ ๋ ๋์ฝํ๊ณ ์ v2 ๊ฐ๋ฐ์ ์งํ ์ค์ ๋๋ค. ํ์ฌ ๋์์ธ๊ณผ ๋ฐฑ์๋ ๊ฐ๋ฐ์ด ์๋ฃ๋ ์ํ๋ก, ์ ํฌ์ ํจ๊ป ๋ฉ์ง ์ฌ์ฉ์ ๊ฒฝํ์ ๋ง๋ค์ด๋๊ฐ ์ค๋ ฅ ์๋ Flutter ๊ฐ๋ฐ์๋ถ์ ๊ตฌํ๊ณ ์ ํฉ๋๋ค.
โจ ํ๋ก์ ํธ ์๊ฐ
ํ๋ก์ ํธ: ๋ ์ ์ต๊ด ํ์ฑ ๋ฐ ๊ด๋ฆฌ ํ๋ซํผ v2 ๊ฐ๋ฐ
ํ๋ก์ ํธ ์์ฝ: ์ฌ์ฉ์๋ค์ด ๊พธ์คํ ์ฑ ์ ์ฝ๊ณ , ๊ธฐ๋กํ๋ฉฐ, ์๋ก ๋๊ธฐ๋ถ์ฌ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ๋๋ ์๋น์ค์ ๋๋ค. v2์์๋ ๊ฐ์ธํ๋ ์ถ์ฒ, ์์ ๊ธฐ๋ฅ ๊ฐํ ๋ฑ ๊ณ ๋ํ๋ ๊ธฐ๋ฅ์ ์ ๋ณด์ผ ์์ ์ ๋๋ค.
ํ ๊ตฌ์ฑ: ํ์ฌ ๋์์ด๋ 2๋ช , ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ 1๋ช , ๋ฐฑ์๋ ๊ฐ๋ฐ์ 1๋ช ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ธฐ์ ์คํ: ์ ํฌ๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Riverpod๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์งํ ๋ฐฉ์:
์จ๋ผ์ธ/๋น๋๋ฉด ํ์ ์ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค.
์ฃผ 1ํ ์ ๊ธฐ ํ์ ๋ฐ ๋์ค์ฝ๋(Discord), ๋ ธ์ (Notion), ์นด์นด์คํก(Kakaotalk)๋ฅผ ํตํ ์ ์ฐํ๊ณ ํจ์จ์ ์ธ ์ํต์ ์งํฅํฉ๋๋ค.
๐ฏ ์ด๋ฐ ๋ถ์ ์ฐพ๊ณ ์์ด์!
โ์๊ฒฉ ์๊ฑด
Flutter๋ฅผ ์ด์ฉํ ์์ฉ ์์ค์ ์ฑ ๊ฐ๋ฐ ๋ฐ ์ถ์ ๊ฒฝํ์ด ์์ผ์ ๋ถ
Riverpod์ ๋ํ ๊น์ ์ดํด์ ์ค์ ํ๋ก์ ํธ ์ ์ฉ ๊ฒฝํ์ด ์์ผ์ ๋ถ
์์ฑ๋ ๋์์ธ ์์๊ณผ API ๋ช ์ธ์๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋ ๋์ UI์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ ๋ถ
๊ธฐ์กด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ์ํํ๊ฒ ํ์ ํ๊ณ , ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ํจ๊ป ์ฑ์ฅํ ์์ง๊ฐ ์์ผ์ ๋ถ
Git์ ํตํ ํ์ ๊ด๋ฆฌ ๋ฐ ๋ธ๋์น ์ ๋ต ํ์ฉ์ ๋ฅ์ํ์ ๋ถ
โญ์ด๋ฐ ๊ฒฝํ์ด ์๋ค๋ฉด ๋ ์ข์์! (์ฐ๋ ์ฌํญ)
Firebase, Supabase ๋ฑ BaaS ์ฌ์ฉ ๊ฒฝํ์ด ํ๋ถํ์ ๋ถ
๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค(Riverpod ๊ธฐ๋ฐ)๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ ๊ฐ์ ํด ๋ณธ ๊ฒฝํ์ด ์์ผ์ ๋ถ
์ฑ ์ฑ๋ฅ ์ต์ ํ(๋ฉ๋ชจ๋ฆฌ, ๋ ๋๋ง ๋ฑ) ๊ฒฝํ์ด ์์ผ์ ๋ถ
App Store / Play Store ์ฑ ๋ฐฐํฌ ๋ฐ CI/CD ๊ตฌ์ถ ๊ฒฝํ์ด ์์ผ์ ๋ถ
๋ ์๋ ์ต๊ด ํ์ฑ์ ๋ํ ๊ด์ฌ๊ณผ ์ดํด๋๊ฐ ๋์ผ์ ๋ถ
๐ป ์ฃผ์ ์ ๋ฌด
Flutter(Riverpod) ๊ธฐ๋ฐ์ v2 ์ฑ ํ๋ก ํธ์๋ ๊ฐ๋ฐ
์๋ฃ๋ ๋์์ธ ์์คํ ๋ฐ UI/UX ์์์ ์ฝ๋๋ก ์ ํํ๊ฒ ๊ตฌํ
๋ฐฑ์๋ ๊ฐ๋ฐ์์ ํ์ ํ์ฌ API ์ฐ๋ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
๊ธฐ์กด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์์ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๊ธฐ์ ์ ์ธ ์์ฌ๊ฒฐ์ ์ฐธ์ฌ
๐ ์ฐธ์ฌ ํํ
๊ฒ์ฆ๋ ์๋น์ค ๊ฒฝํ: ์ด๋ฏธ ์ถ์๋ v1 ์๋น์ค๋ฅผ ๋ฐํ์ผ๋ก v2๋ฅผ ๊ฐ๋ฐํ๋ฉฐ ์ฌ์ฉ์์ ํผ๋๋ฐฑ์ ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒฝํ์ ํ ์ ์์ต๋๋ค.
ํฌํธํด๋ฆฌ์ค ๊ฐํ: ์์ฑ๋ ๋์ ํ๊ณผ ํจ๊ป ์์ฉ ์๋น์ค๋ฅผ ํ ๋จ๊ณ ๋ฐ์ ์ํค๋ ์๋ฏธ ์๋ ํฌํธํด๋ฆฌ์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๐ ์ง์ ๋ฐฉ๋ฒ
์ง์ ์๋ฅ:
๊ฐ๋จํ ์๊ธฐ์๊ฐ
Flutter ๋ฐ Riverpod ๊ฐ๋ฐ ์ญ๋์ ๋ณด์ฌ์ค ์ ์๋ ํฌํธํด๋ฆฌ์ค (GitHub ๋งํฌ, ์ฐธ์ฌํ๋ ํ๋ก์ ํธ ์ค๋ช , ๊ธฐ์ ๋ธ๋ก๊ทธ ๋ฑ)
์ง์ ๋ฐฉ์: ์๋ ์คํ์นดํก์ผ๋ก ํธํ๊ฒ ์ง์ํด์ฃผ์ธ์.
์คํ์นดํก: [https://open.kakao.com/o/sxWr4uEh]
์ด๋ฏธ ์์ฑ๋ ๊ธฐํ๊ณผ ๋์์ธ ์์์, Riverpod๋ฅผ ํ์ฉํ์ฌ ์ค๋กฏ์ด ๊ฐ๋ฐ์ ์ง์คํ๋ฉฐ ์ต๊ณ ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ ๊ฐ๋ฐ์๋ถ์ ๋ง์ ์ง์์ ๊ธฐ๋ค๋ฆฝ๋๋ค!
๊ฐ์ฌํฉ๋๋ค.