๐Ÿ“ฆ Flutter Bridge ์˜ˆ์ œ ๋ชจ์Œ

๊ฐ ์‹คํ–‰ ํ™˜๊ฒฝ๋ณ„ ์™„์ „ํ•œ ๊ตฌํ˜„ ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”

๐ŸŽฏ ํ™˜๊ฒฝ์— ๋งž๋Š” ์˜ˆ์ œ๋ฅผ ์„ ํƒํ•˜์„ธ์š”

Flutter Bridge๋Š” ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์˜ˆ์ œ๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”.

Flutter WebView ํ™˜๊ฒฝ: flutter-bridge.js (13KB, FCM์€ Flutter๊ฐ€ ์ฒ˜๋ฆฌ)
์›น ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ: flutter-bridge-fcm.js (50KB+, FCM์„ Web ์ž์ฒด์—์„œ ์ฒ˜๋ฆฌ)

๐Ÿ“– ์›น์•ฑ ํ‘ธ์‹œ ๊ตฌํ˜„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๋ณด๊ธฐ
๐Ÿ“ฑ
์ผ€์ด์Šค 1: Flutter WebView
flutter-bridge.js
Flutter ์•ฑ ๋‚ด WebView์—์„œ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. Flutter์™€ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•˜๋ฉฐ, FCM์€ Flutter ์•ฑ์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ํฌ๊ธฐ: 13KB
  • FCM ์ฒ˜๋ฆฌ: Flutter ์•ฑ
  • ๊ฐœ์ธ๋ณ„ ํ‘ธ์‹œ: โœ… ์ง€์›
  • Firebase SDK: ๋ถˆํ•„์š”
Flutter ํ†ต์‹  ์œ„์น˜/์นด๋ฉ”๋ผ ์Šคํ† ๋ฆฌ์ง€
๐ŸŒ
์ผ€์ด์Šค 2: ์›น ๋ธŒ๋ผ์šฐ์ €
flutter-bridge-fcm.js
์ˆœ์ˆ˜ ์›น ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง์ ‘ Firebase SDK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FCM์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ํฌ๊ธฐ: 50KB+
  • FCM ์ฒ˜๋ฆฌ: ์›น ์ž์ฒด
  • ๊ฐœ์ธ๋ณ„ ํ‘ธ์‹œ: โœ… ์ง€์›
  • Firebase SDK: ํ•„์ˆ˜
FCM ํ† ํฐ ํ† ํ”ฝ ๊ตฌ๋… Web ์•Œ๋ฆผ
๐Ÿ”„
์ผ€์ด์Šค 3: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ
ํ™˜๊ฒฝ ์ž๋™ ๊ฐ์ง€
ํ™˜๊ฒฝ์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ์ ์ ˆํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋™์ ์œผ๋กœ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ HTML๋กœ ๋ชจ๋“  ํ™˜๊ฒฝ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๊ฐ์ง€: ์ž๋™
  • ๋™์  ๋กœ๋”ฉ: ํ•„์š”ํ•œ ํŒŒ์ผ๋งŒ
  • ์œ ๋‹ˆ๋ฒ„์„ค: ๋ชจ๋“  ํ™˜๊ฒฝ ์ง€์›
  • ์ตœ์ ํ™”: ํ™˜๊ฒฝ๋ณ„ ์ตœ์ ํ™”
์ž๋™ ๊ฐ์ง€ ๋™์  ๋กœ๋”ฉ ์ตœ์ ํ™”
โšก
๋ฐ”๋‹๋ผ JS (๊ธฐ๋ณธ)
flutter-bridge.js
Framework ์—†์ด ์ˆœ์ˆ˜ JavaScript๋กœ Flutter Bridge๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. Flutter WebView ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Framework: ์—†์Œ (๋ฐ”๋‹๋ผ JS)
  • ํ™˜๊ฒฝ: Flutter WebView
  • ๋ณต์žก๋„: ๋‚ฎ์Œ
  • ํ•™์Šต: ์ดˆ๊ธ‰
๋ฐ”๋‹๋ผ JS ์ดˆ๊ธ‰
๐Ÿ”ฅ
๋ฐ”๋‹๋ผ JS (FCM)
flutter-bridge-fcm.js
Framework ์—†์ด ์ˆœ์ˆ˜ JavaScript๋กœ FCM ํ‘ธ์‹œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Framework: ์—†์Œ (๋ฐ”๋‹๋ผ JS)
  • ํ™˜๊ฒฝ: ์›น ๋ธŒ๋ผ์šฐ์ €
  • ๋ณต์žก๋„: ์ค‘๊ธ‰
  • ํ•™์Šต: FCM ์ดํ•ด ํ•„์š”
๋ฐ”๋‹๋ผ JS FCM

๐Ÿ“ฑ ์‹ค์ „ ๋ฐ๋ชจ ์•ฑ

๐Ÿšš
๋ฐฐ๋‹ฌ ์•ฑ
Delivery App
์‹ค์‹œ๊ฐ„ ์œ„์น˜ ์ถ”์  ๋ฐ ์ง€๋„ ์—ฐ๋™ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. Leaflet.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
์ง€๋„ ์œ„์น˜ ์ถ”์ 
๐Ÿฅ
ํ—ฌ์Šค์ผ€์–ด ์•ฑ
Healthcare App
๊ฑธ์Œ ์ˆ˜ ์ธก์ • ๋ฐ ๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์œ„์ ฏ ์—ฐ๋™์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ ์ €์žฅ
๐Ÿ“ฑ
์†Œ์…œ ์•ฑ
Social App
์‚ฌ์ง„ ์ดฌ์˜ ๋ฐ ํ”ผ๋“œ ๊ณต์œ  ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์นด๋ฉ”๋ผ ์—ฐ๋™ ๋ฐ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
์นด๋ฉ”๋ผ ์•Œ๋ฆผ

๐Ÿ“š ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค

๋ฒ„์ „ ๋น„๊ต: ๋ฒ„์ „ ๋น„๊ต ๊ฐ€์ด๋“œ - ๋‘ ๋ฒ„์ „์˜ ์ƒ์„ธ ๋น„๊ต

๋ฐฐํฌ ๊ฐ€์ด๋“œ: ๋ฐฐํฌ ๋ฐฉ๋ฒ• ๊ฐ€์ด๋“œ - NPM, CDN, UMD ๋ฐฐํฌ ๋ฐฉ๋ฒ•

API ๋ฌธ์„œ: README.md - ์ „์ฒด API ๋ ˆํผ๋Ÿฐ์Šค

๊ฐœ์ธ๋ณ„ ํ‘ธ์‹œ: ๊ฐœ์ธ๋ณ„ ํ‘ธ์‹œ ๊ฐ€์ด๋“œ - ๊ฐœ์ธ๋ณ„ ํ‘ธ์‹œ ๊ตฌํ˜„ ๊ฐ€์ด๋“œ