์น์ฑ์ ์์ฑํ๋ฉด Flutter ๊ธฐ๋ฐ ๋ค์ดํฐ๋ธ ์ฑ์ผ๋ก ์๋ ๋ณํ๋ฉ๋๋ค.
Vue, React, Angular, Svelte ๋๋ ์์ JavaScript๋ก
20๊ฐ ์ด์์ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ์ 3์ค์ ์ฝ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
// ๋จ 3์ค๋ก ์์
import FlutterBridge from './flutter-bridge.js';
const bridge = new FlutterBridge();
await bridge.getLocation(); // ๋!
๋ง์ ๊ฐ๋ฐ์๋ค์ด ๊ฐ์ ๊ณ ๋ฏผ์ ํ๊ณ ์์ต๋๋ค
๊ธฐ์กด ์น ์ฝ๋ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด์
ํธ์ ์๋ฆผ, ์์น ์ถ์ , ์นด๋ฉ๋ผ ๋ฑ ๋ชจ๋ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ์
๊ฐ๋จํ ์ฝ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค
โก ๋ณต์กํ ์ค์ ์์ด ๊ฐ๋จํ๊ฒ ์์ | ํ์ต ์๊ฐ ๋ญ๋น ์ ๋ก
๋งค๋ฌ ๋๊ฐ๋ ๋น์ฉ ์์ด, ํฉ๋ฆฌ์ ์ธ ์ ํ์ ํ์ธ์.
๋ณต์กํ ์ฑ ๊ฐ๋ฐ ๋น์ฉ์ ํ๊ธฐ์ ์ผ๋ก ์ค์์ต๋๋ค.
ํ์ํ ๊ธฐ๋ฅ๋ง ์ ํํ์ฌ ํฉ๋ฆฌ์ ์ผ๋ก ์ด์ฉํ์ธ์.
๋ค์ดํฐ๋ธ ์ฑ์ '๊ป๋ฐ๊ธฐ'์ผ ๋ฟ์
๋๋ค.
์น๋ง ์์ ํ๋ฉด ์ฑ์ ์๋์ผ๋ก ์
๋ฐ์ดํธ๋ฉ๋๋ค.
์คํ ์ด ์ฌ์ฌ๋ 1๋
์ ํ ๋ฒ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.
์ํ๋ ํ๋ ์์ํฌ๋ก ๋ฐ๋ก ์์ํ์ธ์
์์กด์ฑ ์์
๊ฐ์ฅ ๊ฐ๋จํ ์์
โจ ๋์ผํ API๋ก ๋ชจ๋ ํ๋ ์์ํฌ์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค
๐ ํต์ฌ: ์น์ฑ ๊ฐ๋ฐ์ ์์ ํ ์ฌ๋ฌ๋ถ ์์ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ ํธ์ถ์ ์น์ฑ ์ฝ๋๋ก ์ ์ดํ๊ณ , Flutter๋ ์คํ ํ๊ฒฝ๋ง ์ ๊ณตํฉ๋๋ค.
Vue.js๋ง ์์๋ ๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ ๊ฐ๋ฅ. ํ ๋ฒ ์์ฑ์ผ๋ก ์น/iOS/Android ๋ชจ๋ ์ง์.
์ค์ ์๋ํ๋ ์ฑ์ ์ง์ ๋ค์ด๋ก๋ํ์ฌ ํ ์คํธํด๋ณด์ธ์
๊ฑธ์ ์ ์ถ์ + GPS ์์น ๊ธฐ๋ก + ํ ํ๋ฉด ์์ ฏ
// ์ฃผ์ ๊ธฐ๋ฅ
- ์ค์๊ฐ ์์น ์ถ์
- ๊ฑธ์ ์ ์นด์ดํฐ
- ํ ์์ ฏ ์
๋ฐ์ดํธ
- ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ
๊ธฐ์กด ์น ์ผํ๋ชฐ์ ๋ค์ดํฐ๋ธ ๋ก๊ทธ์ธ, QR ์ค์บ, ์์ฒด ์ธ์ฆ ๊ฒฐ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ํ์ด๋ธ๋ฆฌ๋ ์ฑ ์์์ ๋๋ค.
// ์ฃผ์ ๊ธฐ๋ฅ
- ๋ค์ดํฐ๋ธ ๋ก๊ทธ์ธ (์นด์นด์ค/์ ํ)
- QR ์ฝ๋ ์ค์บ๋
- ์์ฒด ์ธ์ฆ ๊ฒฐ์
- ์น์ฌ์ดํธ ๋ํ
๐ฑ Android APK์ iOS IPA (์๋ฎฌ๋ ์ดํฐ) ๋ชจ๋ ์ ๊ณต
๋ชจ๋ ์์ ์ฑ ๋ณด๊ธฐ โ๊ถ๊ธํ์ ์ ์ ํ์ธํ์ธ์
ํ์ฌ ๋ฒ ํ ํ ์คํธ ๋จ๊ณ๋ก ๋ฌด๋ฃ๋ก ์ ๊ณต๋๊ณ ์์ผ๋ฉฐ, ์ ์ ์ถ์ ํ์๋ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ ๊ณต๋ ์์ ์ ๋๋ค. ๊ฐ์ธ ๊ฐ๋ฐ์์ ์คํํธ์ ์ ์ํด ๋ถ๋ด ์๋ ๊ฐ๊ฒฉ ์ ์ฑ ์ ์ค๋น ์ค์ ๋๋ค.
์น์ฑ์ ๋ค์ดํฐ๋ธ ์ฑ์ผ๋ก ๋ง๋๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ