idev_viewer 1.0.6 copy "idev_viewer: ^1.0.6" to clipboard
idev_viewer: ^1.0.6 copied to clipboard

IDev-based template viewer plugin for Flutter with 100% identical rendering across all platforms (Android, iOS, Web, Windows)

Changelog #

All notable changes to the IDevViewer project will be documented in this file.

1.0.6 - 2025-10-26 #

๐Ÿ”ง Changed #

  • base href๋ฅผ Flutter ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ๋กœ ์ž๋™ ์ˆ˜์ • (/assets/packages/idev_viewer/assets/idev-app/)
  • ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์—์„œ idev-viewer.js ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ ์ž๋™ ์ถ”๊ฐ€
  • postMessage ํ•ธ๋“ค๋Ÿฌ ์ž๋™ ์‚ฝ์ž… ๊ฐœ์„  (Python ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ)
  • ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๊ฐœ์„  (์‚ฌ์ „ ์ฒดํฌ, ์ƒ‰์ƒ ์ถœ๋ ฅ, ๋‹ค๋‹จ๊ณ„ ๊ฒ€์ฆ)

๐Ÿ› Fixed #

  • build-viewer.sh์˜ perl ์ •๊ทœ์‹ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • postMessage ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋ˆ„๋ฝ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •
  • ์ค‘๋ณต ํ…œํ”Œ๋ฆฟ ์ฒ˜๋ฆฌ ๋กœ์ง ์•ˆ์ •ํ™”

๐Ÿ“š Documentation #

  • pub-dev-deployment-guide.md ์—…๋ฐ์ดํŠธ
  • running-guide.md ์—…๋ฐ์ดํŠธ (ํฌํŠธ ๋ฒˆํ˜ธ ํ†ต์ผ, ์—์…‹ ๊ตฌ์กฐ ๋ช…ํ™•ํ™”)
  • README.md ์—…๋ฐ์ดํŠธ (์›Œํฌํ”Œ๋กœ์šฐ ๊ฐ„์†Œํ™”)
  • ๋ถˆํ•„์š”ํ•œ ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ ์•ˆ๋‚ด

๐Ÿ—‘๏ธ Removed #

  • sync-idev-core-sources.sh ์ œ๊ฑฐ (์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ)
  • sync-idev-viewer-assets.sh ์ œ๊ฑฐ (pubspec.yaml assets ์‚ฌ์šฉ)
  • build-idev-viewer-package.sh ์ œ๊ฑฐ (ํ†ตํ•ฉ ๋นŒ๋“œ๋กœ ๋Œ€์ฒด)

๐Ÿ—๏ธ Infrastructure #

  • ํ†ตํ•ฉ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ (build-viewer.sh)๋กœ ๋ชจ๋“  ์ž‘์—… ์ž๋™ํ™”
  • Flutter ํŒจํ‚ค์ง€ ์—์…‹ ์‹œ์Šคํ…œ ์‚ฌ์šฉ (ํ”Œ๋žซํผ๋ณ„ ์—์…‹ ๋””๋ ‰ํ† ๋ฆฌ ์ œ๊ฑฐ)

1.0.0 - 2025-10-26 #

โœจ Added #

  • ์ดˆ๊ธฐ ๋ฆด๋ฆฌ์ฆˆ
  • Flutter Web์šฉ ์ฝ๊ธฐ ์ „์šฉ ํ…œํ”Œ๋ฆฟ ๋ทฐ์–ด ๊ตฌํ˜„
  • iframe ๊ธฐ๋ฐ˜ ๊ฒฉ๋ฆฌ ์‹คํ–‰ ํ™˜๊ฒฝ
  • PlatformView๋ฅผ ์‚ฌ์šฉํ•œ Web ํ†ตํ•ฉ
  • ๋™์  ํ…œํ”Œ๋ฆฟ ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ
  • Hot Restart ์ž๋™ ๊ฐ์ง€ ๋ฐ ์žฌ์‚ฌ์šฉ
  • ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅํ•œ ๋กœ๋”ฉ ํ™”๋ฉด
  • ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ
  • onReady ์ฝœ๋ฐฑ ์ง€์›

๐Ÿ› Fixed #

  • Hot Restart ์‹œ iframe ์ค‘๋ณต ์ƒ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • "Container not found" ์—๋Ÿฌ ํ•ด๊ฒฐ (PlatformView ๋“ฑ๋ก ํƒ€์ด๋ฐ ๊ฐœ์„ )
  • ํ…œํ”Œ๋ฆฟ ์ค‘๋ณต ํ˜ธ์ถœ ๋ฐฉ์ง€ (lastTemplateId ์ค‘๋ณต ์ฒดํฌ)
  • window.flutterConfiguration ์ง€์› ์ค‘๋‹จ ๊ฒฝ๊ณ  ํ•ด๊ฒฐ (engineInitializer ์‚ฌ์šฉ)
  • 404 ์—๋Ÿฌ ํ•ด๊ฒฐ (viewer-app assets ๋“ฑ๋ก)
  • ์ดˆ๊ธฐํ™” ๋ฒ„ํŠผ์ด ์žฌํ™œ์„ฑํ™”๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ๋ทฐ์–ด ํ™”๋ฉด ์ค‘์ฒฉ ๋ฌธ์ œ ํ•ด๊ฒฐ

๐Ÿ”ง Changed #

  • dart:ui์—์„œ dart:ui_web๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (platformViewRegistry)
  • idevAppPath๋ฅผ idev-app์œผ๋กœ ์‚ฌ์šฉ (idev-viewer.js ํฌํ•จ)
  • Ready ํƒ€์ž„์•„์›ƒ์„ 10์ดˆ๋กœ ์ฆ๊ฐ€
  • ์ปจํ…Œ์ด๋„ˆ ID๋ฅผ ๊ณ ์ •๊ฐ’(idev-viewer-container-singleton)์œผ๋กœ ๋ณ€๊ฒฝ
  • ๋””๋ฒ„๊น… ๋กœ๊ทธ ์ œ๊ฑฐ (ํ”„๋กœ๋•์…˜ ์ค€๋น„)
  • viewer-app ์ œ๊ฑฐํ•˜๊ณ  idev-app ๋‹จ์ผ ๊ฒฝ๋กœ๋กœ ํ†ตํ•ฉ

๐Ÿ“š Documentation #

  • ์ƒ์„ธํ•œ ํ†ตํ•ฉ ๊ฐ€์ด๋“œ ์ž‘์„ฑ (VIEWER_INTEGRATION_GUIDE.md)
  • README ์ž‘์„ฑ
  • ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ ์ถ”๊ฐ€
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ฐ€์ด๋“œ ์ถ”๊ฐ€
  • ์‚ฌ์šฉ ์˜ˆ์ œ ์ถ”๊ฐ€

๐Ÿ—๏ธ Architecture #

  • JavaScript ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ Hot Restart ๋Œ€์‘
  • postMessage ๊ธฐ๋ฐ˜ Dart-JavaScript ํ†ต์‹ 
  • ์ค‘๋ณต ๋ฐฉ์ง€ ํ”Œ๋ž˜๊ทธ ์‹œ์Šคํ…œ ๊ตฌํ˜„
  • DOM ์ปจํ…Œ์ด๋„ˆ ๋Œ€๊ธฐ ๋กœ์ง ๊ตฌํ˜„ (50ํšŒ ์žฌ์‹œ๋„, 5์ดˆ)
  • ํ…œํ”Œ๋ฆฟ polling ์ค‘๋ณต ๊ฐ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜

๐Ÿ“ฆ Assets #

  • idev-app (Flutter ์•ฑ + idev-viewer.js) ํฌํ•จ
  • JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ†ตํ•ฉ (idev-viewer.js)

[Unreleased] #

๐Ÿ”ฎ Planned #

  • ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ถ”๊ฐ€ (onEvent ์ฝœ๋ฐฑ)
  • ์„ค์ • ์˜ต์…˜ ํ™•์žฅ (ํ…Œ๋งˆ, ๋กœ์ผ€์ผ)
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • TypeScript ํƒ€์ž… ์ •์˜ ์ถ”๊ฐ€
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
  • E2E ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

๋ฒ„์ „ ํ˜•์‹ #

ํ˜•์‹์€ Keep a Changelog์„ ๋”ฐ๋ฅด๋ฉฐ, ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” Semantic Versioning์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๋ฒ„์ „ ๊ทœ์น™ #

  • MAJOR: ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” API ๋ณ€๊ฒฝ
  • MINOR: ํ•˜์œ„ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • PATCH: ํ•˜์œ„ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ฒ„๊ทธ ์ˆ˜์ •

๋ณ€๊ฒฝ ์œ ํ˜• #

  • Added: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ
  • Changed: ๊ธฐ์กด ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ
  • Deprecated: ๊ณง ์ œ๊ฑฐ๋  ๊ธฐ๋Šฅ
  • Removed: ์ œ๊ฑฐ๋œ ๊ธฐ๋Šฅ
  • Fixed: ๋ฒ„๊ทธ ์ˆ˜์ •
  • Security: ๋ณด์•ˆ ๊ด€๋ จ ๋ณ€๊ฒฝ
1
likes
140
points
29
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

IDev-based template viewer plugin for Flutter with 100% identical rendering across all platforms (Android, iOS, Web, Windows)

Homepage
Repository (GitHub)
View/report issues

Topics

#flutter #viewer #template #idev #cross-platform

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, universal_html

More

Packages that depend on idev_viewer