React ๊ธฐ๋ฐ ์น ๊ฐ๋ฐ๋ก ๊ฐ๋ฐ์ ์์ํ์ผ๋ฉฐ ์ฑ ๊ฐ๋ฐ์ ๋์ ์ธ ui์ ์ธํฐ๋ ํฐ๋ธํ ๋ถ๋ถ์ ์ด๋๋ ค
React Native ์ ์์ํ๊ฒ ๋์๊ณ ๋ ๋ค๋ฅธ ์ธ์ด, ํ๋ ์์ํฌ๋ฅผ ๊ฒฝํ์ ํด๋ณด๊ณ ์ถ์ด์ Flutter ๊ฐ๋ฐ์ ์์ํ๊ฒ ๋์์ต๋๋ค.
๋ํ ํฌ๋ก์คํ๋ซํผ๋ง ๊ฒฝํ ํด์๋ ์ฑ ๊ฐ๋ฐ์๋ผ๊ณ ํ๊ธฐ์๋ ๋ถ์กฑํ๋ค๊ณ ๋๊ผ๊ธฐ ๋๋ฌธ์ Kotlin์ ๊ณต๋ถํ๋ฉฐ ๋ค์ดํฐ๋ธ ์ง์ ๋ํ ๋๋ ค๊ฐ ์์ ์
๋๋ค.
3๋
์ด์์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฒฝ๋ ฅ์ ๋ฐํ์ผ๋ก, Flutter/React Native ๊ธฐ๋ฐ ํฌ๋ก์คํ๋ซํผ ์ฑ 5์ข
์ด์์ ๋จ๋
๋๋ ๋ฆฌ๋ ๊ฐ๋ฐํ ๊ฒฝํ์ด ์์ต๋๋ค. ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ ๊ณผ ์ฑ๋ฅ ์ต์ ํ์ ๊ฐ์ ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ, ๋น ๋ฅธ ํ์ต๋ ฅ๊ณผ ์ฃผ๋์ ์ธ ๋ฌธ์ ํด๊ฒฐ๋ ฅ์ ๋ฐํ์ผ๋ก ํ์ ์ฆ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
์์ ๋ก์ด ์ถ๊ทผ ํ๊ฒฝ์์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์์
ํ ์ ์์ผ๋ฉฐ,
๋ฆฐํ๊ณ ๋น ๋ฅธ ๊ฐ๋ฐ์ ์ถ๊ตฌํฉ๋๋ค.
๐ Stacks
[ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ] Dart, Typescript
[ ํ๋ ์์ํฌ & ๋ผ์ด๋ธ๋ฌ๋ฆฌ ] Flutter, React Native, React, React Query, Recoil, NextJS, Apollo
[ ๊ธฐํ ] Git, Postman, Slack, Notion
๐ ๏ธ Projects
2024.12 ~ 2025.04
ํ์ฌ ํ๋ก์ ํธ
์์ธ ์๋ฆผ์ฅ
์คํ ์ด ๋งํฌ : Android, iOS
์ ๊ฒฌ ์ ์น์์์ ๋์ฑ ์ฝ๊ฒ ์ฌ์ง์ ๋ถ๋ฅํ๊ณ ์๋ฆผ์ฅ์ ์์ฑํ๊ธฐ ์ํ ์๋น์ค (์ด์ด์ ์์ธ ๋ด์ฉ ํ์ธ)
[ํ๋ก ํธ์๋] flutter, riverpod, go_router, flutter_hooks, freezed, firebase
๐ ๋ฌธ์ ์ ์ (Why)
- ์ ๊ฒฌ ์ ์น์ ์ ์๋๋ค์ด ์์ญ ๋ง๋ฆฌ์ ๋ฐ๋ ค๋๋ฌผ ์ฌ์ง์ ์ผ์ผ์ด ๋ถ๋ฅํ์ฌ ์๋ฆผ์ฅ์ ์์ฑํ๋ ๋ฐ ํ๊ท 2-3์๊ฐ์ด ์์๋์ด ์
๋ฌด ํจ์จ์ฑ์ด ํฌ๊ฒ ์ ํ๋๋ ๋ฌธ์ ๊ฐ ์๋ค.
๐ก ๋ฌธ์ ํด๊ฒฐ ์ ๋ต ๋ฐ ๊ณผ์ (How)
๋ชฉํ ์ค์
- ์ฌ์ง ๋ถ๋ฅ ๋ฐ ์๋ฆผ์ฅ ์์ฑ ์๊ฐ 2-3์๊ฐ โ 30๋ถ ์ด๋ด๋ก ๋จ์ถ (85% ํจ์จ์ฑ ํฅ์)
- ์ฌ์ง ๋๋ฝ๋ฅ 5% โ 0.5% ์ดํ๋ก ๊ฐ์
ํต์ฌ ์ ๋ต ๋ฐ ์ ๊ทผ ๋ฐฉ์
- ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ์ํคํ
์ฒ: Stream์ ํ์ฉํ ์ค์๊ฐ ์ฌ์ง ๋ถ๋ฅ UI ๊ตฌํ
- ์ฑ๋ฅ ์ต์ ํ: Isolate๋ฅผ ํ์ฉํ ๋ฉํฐ์ค๋ ๋ฉ์ผ๋ก ๋์ฉ๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ์ฑ๋ฅ ๊ฐ์
- ์ฌ์ฉ์ ๊ฒฝํ ์ต์ ํ: ์ง๊ด์ ์ธ ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฐ ๋ถ๋ฅ ์์คํ
๊ตฌ์ถ
์ญํ ๋ฐ ๊ธฐ์ฌ๋
- Flutter ์ฑ ํ๋ก ํธ์๋ ๊ฐ๋ฐ 100% ๋ด๋น (๊ธฐํ๋ถํฐ ๋ฐฐํฌ๊น์ง ์ ๊ณผ์ )
- ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ํคํ
์ฒ ์ค๊ณ ๋ฐ ๊ตฌํ (70% ๊ธฐ์ฌ)
- ์ฑ๋ฅ ์ต์ ํ ์ ๋ต ์๋ฆฝ ๋ฐ ์ ์ฉ (100% ๋ด๋น
๊ธฐ์ ์คํ ๋ฐ ์ฌ์ฉ ํด
- Frontend: Flutter, Riverpod, go_router, flutter_hooks, freezed
- Backend Integration: Firebase (์ค์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์คํ ๋ฆฌ์ง)
- Performance: Isolate, Stream, ์ด๋ฏธ์ง ์์ถ ์ต์ ํ
- Tools: Git, Postman, Slack, Notion
์์ฌ๊ฒฐ์ ๊ณผ์ ๋ฐ ์ด๋ ค์
- ๋์ ๊ณผ์ : ์์ญ ์ฅ์ ๊ณ ํด์๋ ์ด๋ฏธ์ง ๋์ ์
๋ก๋ ์ ์ฑ ์ฑ๋ฅ ์ ํ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ํ์
- ํด๊ฒฐ ๊ณผ์ : Isolate๋ฅผ ๋์
ํ์ฌ ๋ฉ์ธ ์ค๋ ๋์ ๋ถ๋ฆฌ๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๊ตฌํ โ UI ๋ธ๋กํน ์์ด ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฒ๋ฆฌ
- ์ฑ๊ณผ: ์ด๋ฏธ์ง ์
๋ก๋ ์ฒ๋ฆฌ ์๊ฐ 60% ๋จ์ถ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ 40% ๊ฐ์
๐ ์ฑ๊ณผ ๋ฐ ๊ฒฐ๊ณผ (Result)
- ์ฌ์ง ๋ถ๋ฅ ๋ฐ ์๋ฆผ์ฅ ์์ฑ ์๊ฐ 2-3์๊ฐ โ 25๋ถ์ผ๋ก ๋จ์ถ (87% ํจ์จ์ฑ ํฅ์, ๋ชฉํ ์ด๊ณผ ๋ฌ์ฑ)
- ์ฌ์ง ๋๋ฝ๋ฅ ๊ฐ์
- ์ด๋ฏธ์ง ์
๋ก๋ ์ฒ๋ฆฌ ์๋ ํฅ์, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ 40% ๊ฐ์
2023.10 ~ 2024.11
ํ์ฌ ํ๋ก์ ํธ
์์ธ
์คํ ์ด ๋งํฌ : Android, iOS
๋น์ทํ ๊ณ ๋ฏผ์ ๊ฐ์ง ๋ฐ๋ ค์ธ๋ค๊ณผ ์ํตํ๋ฉฐ, ๋ฐ๋ ค๋๋ฌผ ์์ก์ ๋ชจ๋ ๊ฒ์ ํด๊ฒฐํ ์ ์๋ ๋ฐ๋ ค ์ ๋ฌธ ์ปค๋ฎค๋ํฐ
[ํ๋ก ํธ์๋] flutter, riverpod, go_router, flutter_hooks, freezed, firebase
๐ ๋ฌธ์ ์ ์ (Why)
- ๊ธฐ์กด ๋ฐ๋ ค๋๋ฌผ ์ ๋ณด ํ๋ซํผ๋ค์ด ๋จ์ ์ ๋ณด ์ ๊ณต์ ๊ทธ์ณ ๋ฐ๋ ค์ธ๋ค์ ์ค์ง์ ์ธ ์ํต ์๊ตฌ๋ฅผ ์ถฉ์กฑ์ํค์ง ๋ชปํจ
- ๋ ๊ฑฐ์ ์ฝ๋๋ฒ ์ด์ค(GetX ๊ธฐ๋ฐ)๋ก ์ธํ ์ ์ง๋ณด์ ์ด๋ ค์๊ณผ ์ฑ๋ฅ ์ ํ๋ก ์๋น์ค ์ฌ์ฉ์ ํฐ ๋ถํธํจ
๐ก ๋ฌธ์ ํด๊ฒฐ ์ ๋ต ๋ฐ ๊ณผ์ (How)
๋ชฉํ ์ค์
- ์ฑ ์ฑ๋ฅ ๊ฐ์ : flutter analyze ์ด์ 100% ํด๊ฒฐ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ฐ์
- ์ฝ๋ ํ์ง ํฅ์: ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง 80% ๋ฌ์ฑ
ํต์ฌ ์ ๋ต ๋ฐ ์ ๊ทผ ๋ฐฉ์
- ์ํคํ
์ฒ ํ์ : GetX โ Riverpod ๋ง์ด๊ทธ๋ ์ด์
๋ฐ ํด๋ฆฐ ์ํคํ
์ฒ, MVVM ํจํด ์ ์ฉ
- ์ฑ๋ฅ ์ต์ ํ: ๋ฐ์ดํฐ ์บ์ฑ, ์ด๋ฏธ์ง ์ต์ ํ, Flutter compute ํจ์ ํ์ฉ
- ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ : ์ผ์ธ ์ ํ์ด์ง ๋ทฐ, ์ค์๊ฐ ์นด๋ฉ๋ผ ๊ธฐ๋ฅ, ์ด๋ฏธ์ง ํธ์ง ๊ธฐ๋ฅ ๊ตฌํ
์ญํ ๋ฐ ๊ธฐ์ฌ๋
- ์ ์ฒด ์ํคํ
์ฒ ๋ฆฌํฉํ ๋ง ์ค๊ณ ๋ฐ ๊ตฌํ (100% ๊ธฐ์ฌ)
- ํต์ฌ ๊ธฐ๋ฅ ๊ฐ๋ฐ (์นด๋ฉ๋ผ, ์ด๋ฏธ์ง ํธ์ง, ์ผ์ธ ๋ทฐ) 100% ๋ด๋น
- ์ฑ๋ฅ ์ต์ ํ ์ ๋ต ์๋ฆฝ ๋ฐ ์ ์ฉ (100% ๊ธฐ์ฌ)
๊ธฐ์ ์คํ ๋ฐ ์ฌ์ฉ ํด
- Frontend: Flutter, Riverpod, go_router, flutter_hooks, freezed
- Architecture: Clean Architecture, MVVM Pattern
- Performance: Flutter compute, ๋ฐ์ดํฐ ์บ์ฑ, ์ด๋ฏธ์ง ์ต์ ํ
- Monorepo: Melos๋ฅผ ํ์ฉํ ๋ฉํฐ ํจํค์ง ๊ด๋ฆฌ
- Backend: Firebase (Authentication, Firestore, Storage)
์์ฌ๊ฒฐ์ ๊ณผ์ ๋ฐ ์ด๋ ค์
- ๋์ ๊ณผ์ : ๋๊ท๋ชจ ๋ ๊ฑฐ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์๋น์ค ์ค๋จ ์์ด ์ ์ง์ ์ผ๋ก ๋ฆฌํฉํ ๋ง
- ํด๊ฒฐ ๊ณผ์ : ๊ธฐ๋ฅ๋ณ ๋ชจ๋ํ โ ๋จ๊ณ์ Riverpod ๋ง์ด๊ทธ๋ ์ด์
โ ํด๋ฆฐ ์ํคํ
์ฒ ์ ์ฉ
- ์ฑ๊ณผ: 3๊ฐ์์ ๊ฑธ์น ์ ์ง์ ๋ฆฌํฉํ ๋ง์ผ๋ก ์๋น์ค ์ค๋จ ์์ด ์์ ์ ์ ํ ์๋ฃ
๐ ์ฑ๊ณผ ๋ฐ ๊ฒฐ๊ณผ (Result)
- ์ฑ ์ฑ๋ฅ ๊ฐ์ : flutter analyze ์ด์ 100% ํด๊ฒฐ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ฐ์
- ์ฝ๋ ๋ณต์ก๋ ๊ฐ์, ๊ฐ๋ฐ ์์ฐ์ฑ 2๋ฐฐ ํฅ์
2023.11 ~ 2024.02
์ฌ์ด๋ ํ๋ก์ ํธ
์ํด๋น๊ณ
์ํด์ ๋ง์ถฐ์ ๋น๊ณ ๋ก ๋ชฉํ๋ฅผ ๋ง๋ค์ด ๋ฌ์ฑํ๋ ์๋น์ค
[ํ๋ก ํธ์๋] nextJs, recoil