๐ ๊ฐ๋ฐ ํ๊ฒฝ
Vacgom ํ๋ก์ ํธ๋ Web App ํ๋ซํผ์ด๊ณ , ์ ๋ Web ์ ๋ด๋นํ์ฌ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.
App ์ Flutter ๋ก ๊ฐ๋ฐํ๊ณ ์์ผ๋ฉฐ, Web ์์๋ bridge ๋ก ์ฐ๊ฒฐํ์ฌ ์ฐ๋์์ ์ด์ด๊ฐ๊ณ ์์ต๋๋ค.
๋ก๊ทธ์ธ(์นด์นด์ค) - App
์ฝ๊ด๋์ - Web
ํ์๊ฐ์
ํ๋ก์ฐ - Web
ํ์๊ฐ์
์๋ฃ ํ ํ ์ด๋ - App
์ด๋ ๊ฒ ํ๋ก์ฐ๊ฐ ์งํ์ด ๋๊ธฐ ๋๋ฌธ์, ํ์๊ฐ์ ํ ์คํธ๋ฅผ ์ํด์๋ App ์์ ํ๋ฉด์ ๋์์ ํ ์คํธ๊ฐ ํ์ํ์ต๋๋ค.
-> ์นด์นด์ค ๋ก๊ทธ์ธ ํ ๋์ค๋ registerToken ์ด ํ์๊ฐ์ ์๋ฃ api ์ฐ๋์ ํ์ํ๊ธฐ ๋๋ฌธ.
registerToken ์ ๋ค์๊ณผ ๊ฐ์ด ์ฑ์์ ๊ฐ์ ธ์ค๊ณ ์์ต๋๋ค.
const bridge = useVacBridge();
const registerToken = bridge.getRegisterToken();
useSignup(
{
registerToken: registerToken,
nickname,
babies: transformData,
},
{
onSuccess: (data) => {
localStorage.setItem('accessToken', data.accessToken);
localStorage.setItem('refreshToken', data.refreshToken);
router.push(PATH.welcome);
},
onError: (error) => {
setError(error.response.data.error);
},
},
);
};
์ฌ๊ธฐ์ ๋ธ๋ฆฟ์ง๋ useContext ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค.
export const VacBridgeContext = createContext<AbstractVacBridge>(new DummyVacBridge());
export const useVacBridge = () => {
const vacBridge = React.useContext(VacBridgeContext);
return vacBridge;
};
๐ ๋ด๊ฐ ๊ตฌํํ Web ์ด ์ ์๋๋๋์ง ํ์ธํ๊ธฐ ์ํด..
์ฑ ์ฝ๋๋ฅผ ํด๋ก ๋ฐ์์ Webstorm ๊ณผ android studio ์์ ์ฝ๋๋ฅผ ์ด์๋๋ฐ,
๋คํธ ์ค๋ฅ๊ฐ ๊ณ์ํด์ ๋๋ ์ํฉ์ด์์ต๋๋ค.

๋ถ๋ช ๋งฅ dart ๋ฅผ Intall ํ๋๋ฐ๋ ํด๋น ์ค๋ฅ๊ฐ ๋์, ์ด์ ๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ ์ต๋๋ค.
Dart ๊ณต์ ํํ์ด์ง์์ web app ๋น๋ํญ์์ ํ์ธํด๋ดค๋๋,

๋ค์๊ณผ ๊ฐ์ด ๋์์์๊ธฐ ๋๋ฌธ์
์ด์ ๊ฐ์ด ํ๋ฒ ์งํํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
๊ทธ๋์ ํฐ๋ฏธ๋์์ ๋ค์ ์ฝ๋๋ฅผ ํตํด ์ค์น๋ฅผ ์งํํ์ต๋๋ค.
$ brew tap dart-lang/dart
$ brew install dart

-> ์ด๊ฑด Webstorm ์์ ์๋ฌ ํ๋ฉด์ด๋ค.
ํ์ง๋ง Android Studio ์์๋ ์ ์ ์ฉ ๋์ด ์๋ฌ๊ฐ ์กํ๋ ๊ฒ์ ํ์ธํ ์ ์์์ต๋๋ค!
โ ๊ทผ๋ฐ ์๋๋ก์ด๋ ์คํ๋์ค์์ ๋ ์๊ธด SDK ๋ฌธ์

ํ๋ฌํฐ run ํ๋๋ ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊ฒผ๊ณ ,

๋ค์๊ณผ ๊ฐ์ด ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํจ ์ํ๋ก flutter run ์ ํ๋ฉด, ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋๋ฉด ๋ฐ๋ก ์ฑ์ ์คํ์ํฌ ์ ์์ต๋๋ค.
=> ์ฐพ์๋ณด๋, ์ด๋ฐ ์๋ฌ๊ฐ ๋จ๋ฉด Android ๋ฒ์ ๋ณ SDK ๋ฅผ ๋ด๋ ค๋ฐ์์ฃผ๋ฉด๋๋ค๊ณ ํด์, ๋ฐ๋ก ์คํํด๋ณด์์ต๋๋ค.

์ด๋ ๊ฒ ๋ฒ์ ๋ณ๋ก SDK ๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ์์ต๋๋ค.

ํด๊ฒฐ ์ ๋์ด์ ๋ ์ค์น ํ์ต๋๋ค ..
๊ทธ๋๋ ํด๊ฒฐ์ด ์ ๋์ด์,
https://github.com/juliansteenbakker/flutter_secure_storage/issues/674
Can run app with flutter_secure_storage ยท Issue #674 ยท juliansteenbakker/flutter_secure_storage
Hello. I try make an flutter app, but I have an error after installing package flutter_secure_storage. Without this package my app build successfully, but after adding this package I have an error:...
github.com
๋ค์ ๊นํ PR ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๊ณ ,

๋ค์ ๋ถ๋ถ์ ์ง์คํ์ต๋๋ค.
๋ฐฉ๋ฒ์ ๋๊ฐ์ง์ ๋๋ค.
1. โ flutter_secure_storage ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
flutter pub upgrade flutter_secure_storage
2. โ pubspec.yaml์์ ์ต์ ๋ฒ์ ์ ํ์ธํ ํ ์ง์ ์์
dependencies:
flutter_secure_storage: ^9.0.0
์ง๊ธ pubspec.yaml ์ ํ์ฌ ํ๋ฌํฐ ์ํ์ด ์คํ ๋ฆฌ์ง๋ฅผ ํ์ธ ํด๋ณด๋, 4.2.1 ๋ฒ์ ์ธ ๊ฒ์ ํ์ธํ๊ณ ,
์
๊ทธ๋ ์ด๋ ํ๋ ๋ฐฉ๋ฒ์ ์ ํํด๋ณด์์ต๋๋ค.

ํด๋น ๋ฌธ์ ๋ ํด๊ฒฐ๋๊ธด ํ์ง๋ง, ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ ์๊ฒจ์ ๋ ๋ค์ฌ๋ค๋ด์ผํ ๊ฒ ๊ฐ๋ค.
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Architecture] ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ vs ๋ง์ดํฌ๋ก์๋น์ค (0) | 2025.04.03 |
---|---|
[Next.js] Vite ํ๋ก์ ํธ Next.js ๋ก ๋ง์ด๊ทธ๋ ์ด์ (0) | 2025.03.04 |
[WEB] CSR vs SSR ์ฐจ์ด ๋ฐ ํน์ง ( + SPA, MPA ) (1) | 2025.02.15 |
[WEB] React-Query Mutation, invalidateQueries (0) | 2025.02.14 |
[WEB] โป๏ธ ๋ฐ์ดํฐ ํ์นญ SSR (0) | 2025.02.11 |
๐ ๊ฐ๋ฐ ํ๊ฒฝ
Vacgom ํ๋ก์ ํธ๋ Web App ํ๋ซํผ์ด๊ณ , ์ ๋ Web ์ ๋ด๋นํ์ฌ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.
App ์ Flutter ๋ก ๊ฐ๋ฐํ๊ณ ์์ผ๋ฉฐ, Web ์์๋ bridge ๋ก ์ฐ๊ฒฐํ์ฌ ์ฐ๋์์ ์ด์ด๊ฐ๊ณ ์์ต๋๋ค.
๋ก๊ทธ์ธ(์นด์นด์ค) - App
์ฝ๊ด๋์ - Web
ํ์๊ฐ์
ํ๋ก์ฐ - Web
ํ์๊ฐ์
์๋ฃ ํ ํ ์ด๋ - App
์ด๋ ๊ฒ ํ๋ก์ฐ๊ฐ ์งํ์ด ๋๊ธฐ ๋๋ฌธ์, ํ์๊ฐ์ ํ ์คํธ๋ฅผ ์ํด์๋ App ์์ ํ๋ฉด์ ๋์์ ํ ์คํธ๊ฐ ํ์ํ์ต๋๋ค.
-> ์นด์นด์ค ๋ก๊ทธ์ธ ํ ๋์ค๋ registerToken ์ด ํ์๊ฐ์ ์๋ฃ api ์ฐ๋์ ํ์ํ๊ธฐ ๋๋ฌธ.
registerToken ์ ๋ค์๊ณผ ๊ฐ์ด ์ฑ์์ ๊ฐ์ ธ์ค๊ณ ์์ต๋๋ค.
const bridge = useVacBridge();
const registerToken = bridge.getRegisterToken();
useSignup(
{
registerToken: registerToken,
nickname,
babies: transformData,
},
{
onSuccess: (data) => {
localStorage.setItem('accessToken', data.accessToken);
localStorage.setItem('refreshToken', data.refreshToken);
router.push(PATH.welcome);
},
onError: (error) => {
setError(error.response.data.error);
},
},
);
};
์ฌ๊ธฐ์ ๋ธ๋ฆฟ์ง๋ useContext ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค.
export const VacBridgeContext = createContext<AbstractVacBridge>(new DummyVacBridge());
export const useVacBridge = () => {
const vacBridge = React.useContext(VacBridgeContext);
return vacBridge;
};
๐ ๋ด๊ฐ ๊ตฌํํ Web ์ด ์ ์๋๋๋์ง ํ์ธํ๊ธฐ ์ํด..
์ฑ ์ฝ๋๋ฅผ ํด๋ก ๋ฐ์์ Webstorm ๊ณผ android studio ์์ ์ฝ๋๋ฅผ ์ด์๋๋ฐ,
๋คํธ ์ค๋ฅ๊ฐ ๊ณ์ํด์ ๋๋ ์ํฉ์ด์์ต๋๋ค.

๋ถ๋ช ๋งฅ dart ๋ฅผ Intall ํ๋๋ฐ๋ ํด๋น ์ค๋ฅ๊ฐ ๋์, ์ด์ ๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ ์ต๋๋ค.
Dart ๊ณต์ ํํ์ด์ง์์ web app ๋น๋ํญ์์ ํ์ธํด๋ดค๋๋,

๋ค์๊ณผ ๊ฐ์ด ๋์์์๊ธฐ ๋๋ฌธ์
์ด์ ๊ฐ์ด ํ๋ฒ ์งํํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
๊ทธ๋์ ํฐ๋ฏธ๋์์ ๋ค์ ์ฝ๋๋ฅผ ํตํด ์ค์น๋ฅผ ์งํํ์ต๋๋ค.
$ brew tap dart-lang/dart
$ brew install dart

-> ์ด๊ฑด Webstorm ์์ ์๋ฌ ํ๋ฉด์ด๋ค.
ํ์ง๋ง Android Studio ์์๋ ์ ์ ์ฉ ๋์ด ์๋ฌ๊ฐ ์กํ๋ ๊ฒ์ ํ์ธํ ์ ์์์ต๋๋ค!
โ ๊ทผ๋ฐ ์๋๋ก์ด๋ ์คํ๋์ค์์ ๋ ์๊ธด SDK ๋ฌธ์

ํ๋ฌํฐ run ํ๋๋ ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊ฒผ๊ณ ,

๋ค์๊ณผ ๊ฐ์ด ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํจ ์ํ๋ก flutter run ์ ํ๋ฉด, ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋๋ฉด ๋ฐ๋ก ์ฑ์ ์คํ์ํฌ ์ ์์ต๋๋ค.
=> ์ฐพ์๋ณด๋, ์ด๋ฐ ์๋ฌ๊ฐ ๋จ๋ฉด Android ๋ฒ์ ๋ณ SDK ๋ฅผ ๋ด๋ ค๋ฐ์์ฃผ๋ฉด๋๋ค๊ณ ํด์, ๋ฐ๋ก ์คํํด๋ณด์์ต๋๋ค.

์ด๋ ๊ฒ ๋ฒ์ ๋ณ๋ก SDK ๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ์์ต๋๋ค.

ํด๊ฒฐ ์ ๋์ด์ ๋ ์ค์น ํ์ต๋๋ค ..
๊ทธ๋๋ ํด๊ฒฐ์ด ์ ๋์ด์,
https://github.com/juliansteenbakker/flutter_secure_storage/issues/674
Can run app with flutter_secure_storage ยท Issue #674 ยท juliansteenbakker/flutter_secure_storage
Hello. I try make an flutter app, but I have an error after installing package flutter_secure_storage. Without this package my app build successfully, but after adding this package I have an error:...
github.com
๋ค์ ๊นํ PR ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๊ณ ,

๋ค์ ๋ถ๋ถ์ ์ง์คํ์ต๋๋ค.
๋ฐฉ๋ฒ์ ๋๊ฐ์ง์ ๋๋ค.
1. โ flutter_secure_storage ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
flutter pub upgrade flutter_secure_storage
2. โ pubspec.yaml์์ ์ต์ ๋ฒ์ ์ ํ์ธํ ํ ์ง์ ์์
dependencies:
flutter_secure_storage: ^9.0.0
์ง๊ธ pubspec.yaml ์ ํ์ฌ ํ๋ฌํฐ ์ํ์ด ์คํ ๋ฆฌ์ง๋ฅผ ํ์ธ ํด๋ณด๋, 4.2.1 ๋ฒ์ ์ธ ๊ฒ์ ํ์ธํ๊ณ ,
์
๊ทธ๋ ์ด๋ ํ๋ ๋ฐฉ๋ฒ์ ์ ํํด๋ณด์์ต๋๋ค.

ํด๋น ๋ฌธ์ ๋ ํด๊ฒฐ๋๊ธด ํ์ง๋ง, ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ ์๊ฒจ์ ๋ ๋ค์ฌ๋ค๋ด์ผํ ๊ฒ ๊ฐ๋ค.
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Architecture] ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ vs ๋ง์ดํฌ๋ก์๋น์ค (0) | 2025.04.03 |
---|---|
[Next.js] Vite ํ๋ก์ ํธ Next.js ๋ก ๋ง์ด๊ทธ๋ ์ด์ (0) | 2025.03.04 |
[WEB] CSR vs SSR ์ฐจ์ด ๋ฐ ํน์ง ( + SPA, MPA ) (1) | 2025.02.15 |
[WEB] React-Query Mutation, invalidateQueries (0) | 2025.02.14 |
[WEB] โป๏ธ ๋ฐ์ดํฐ ํ์นญ SSR (0) | 2025.02.11 |