inter_isolate_event_channel 1.0.2 copy "inter_isolate_event_channel: ^1.0.2" to clipboard
inter_isolate_event_channel: ^1.0.2 copied to clipboard

Flutter plugin for broadcasting events across multiple isolates/engines via native platform channels.

1.0.2 #

Maintenance #

  • Version bump

1.0.1 #

Documentation #

  • README: Translated all Korean content to English for international accessibility
  • Documentation: Removed "Future Development" section from README

1.0.0 #

๐ŸŽ‰ First Stable Release #

Flutter ๋ฉ€ํ‹ฐ์—”์ง„/๋ฉ€ํ‹ฐ isolate ํ™˜๊ฒฝ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๋Š” ํ”„๋กœ๋•์…˜ ์ค€๋น„ ์™„๋ฃŒ ํ”Œ๋Ÿฌ๊ทธ์ธ

๐Ÿ”„ Breaking Changes

  • ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ: rx_event_channel โ†’ inter_isolate_event_channel
    • RxDart์™€์˜ ํ˜ผ๋™์„ ํ”ผํ•˜๊ณ  ํŒจํ‚ค์ง€์˜ ๋ชฉ์ ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝ
    • ๋ชจ๋“  import ๊ฒฝ๋กœ ์—…๋ฐ์ดํŠธ ํ•„์š”: package:inter_isolate_event_channel/inter_isolate_event_channel.dart

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ํ•œ isolate/engine์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋“  ๋‹ค๋ฅธ isolate/engine์— ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ
  • ์ด๋ฒคํŠธ ํƒ€์ž… ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ์ง€์›
  • ํƒ€์ž… ์•ˆ์ „์„ฑ: Generic์„ ํ†ตํ•œ ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ
  • JSON ์ง๋ ฌํ™” ๊ฒ€์ฆ: emit ์‹œ์ ์— ํŽ˜์ด๋กœ๋“œ ์ž๋™ ๊ฒ€์ฆ
  • Android ๋ฐ iOS ํ”Œ๋žซํผ ์ง€์›
  • ๋„ค์ดํ‹ฐ๋ธŒ ๋ ˆ์ด์–ด๋ฅผ ํ†ตํ•œ ํšจ์œจ์ ์ธ ์ด๋ฒคํŠธ ๋ผ์šฐํŒ…
  • ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์ ์ ˆํ•œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ

๐Ÿ”ง ์ฃผ์š” ๊ฐœ์„ ์‚ฌํ•ญ

  • ํƒ€์ž… ์•ˆ์ „์„ฑ ๊ฐœ์„ :
    • on<T>() ๋ฉ”์„œ๋“œ์— Generic ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”๊ฐ€
    • ํƒ€์ž… ๋ถˆ์ผ์น˜ ์ด๋ฒคํŠธ๋Š” ์ž๋™ ์Šคํ‚ต (๊ด€๋Œ€ ๋ชจ๋“œ)
    • ๊ฐœ๋ฐœ ๋ชจ๋“œ์—์„œ ํƒ€์ž… ๋ถˆ์ผ์น˜ ๊ฒฝ๊ณ  ์ถœ๋ ฅ
  • JSON ์ง๋ ฌํ™” ๊ฒ€์ฆ:
    • emit() ์‹œ์ ์— ํŽ˜์ด๋กœ๋“œ ํƒ€์ž… ๊ฒ€์ฆ
    • ์ง€์› ํƒ€์ž…: null, bool, num, String, List, Map
    • ์žฌ๊ท€์  ๊ฒ€์ฆ์œผ๋กœ ์ค‘์ฒฉ ๊ตฌ์กฐ ์ง€์›
    • ์ž˜๋ชป๋œ ํƒ€์ž… ์ „๋‹ฌ ์‹œ ๋ช…ํ™•ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ฐ•ํ™”: iOS/Android ๋ชจ๋‘ onCancel ์‹œ ์‹ฑํฌ ๋ช…์‹œ์  ์ œ๊ฑฐ
  • Platform Interface ํŒจํ„ด: ์˜ฌ๋ฐ”๋ฅธ Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„ํ‚คํ…์ฒ˜ ์ค€์ˆ˜
  • ํฌ๊ด„์ ์ธ ์—๋Ÿฌ ์ฒ˜๋ฆฌ: ArgumentError, PlatformException ์ฒ˜๋ฆฌ
  • ์™„์ „ํ•œ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€: 28๊ฐœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ํฌํ•จ
    • JSON ์ง๋ ฌํ™” ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ 10๊ฐœ
    • Generic ํƒ€์ž… ์•ˆ์ „์„ฑ ํ…Œ์ŠคํŠธ 7๊ฐœ
  • ์ „๋ฌธ์ ์ธ ๋ฌธ์„œํ™”: ์ƒ์„ธํ•œ README, API ๋ ˆํผ๋Ÿฐ์Šค, ์‚ฌ์šฉ ์˜ˆ์ œ

๐Ÿ“ฑ ํ”Œ๋žซํผ

  • Android: API ๋ ˆ๋ฒจ ์ง€์›, CopyOnWriteArraySet ์‚ฌ์šฉํ•œ thread-safe ๊ตฌํ˜„
  • iOS: iOS 12.0+, Weak reference ํŒจํ„ด์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€

๐Ÿ“– API

  • InterIsolateEventChannel.emit(String eventType, dynamic payload) - ์ด๋ฒคํŠธ ๋ฐœ์ƒ
    • JSON ์ง๋ ฌํ™” ๊ฒ€์ฆ ํฌํ•จ
    • ์ž˜๋ชป๋œ ํƒ€์ž… ์ „๋‹ฌ ์‹œ ArgumentError ๋ฐœ์ƒ
  • InterIsolateEventChannel.on<T>(String eventType) - ํŠน์ • ํƒ€์ž…์˜ ์ด๋ฒคํŠธ ๊ตฌ๋…
    • Generic ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํƒ€์ž… ์•ˆ์ „์„ฑ ํ™•๋ณด
    • ํƒ€์ž… ๋ถˆ์ผ์น˜ ์ด๋ฒคํŠธ ์ž๋™ ํ•„ํ„ฐ๋ง

โš ๏ธ ์•Œ๋ ค์ง„ ์ œ์•ฝ์‚ฌํ•ญ

  • ๋™์ผ ํ”„๋กœ์„ธ์Šค ๋‚ด isolate/engine ๊ฐ„ ํ†ต์‹ ๋งŒ ์ง€์› (ํฌ๋กœ์Šค ํ”„๋กœ์„ธ์Šค ๋ฏธ์ง€์›)
  • ์ด๋ฒคํŠธ ํŽ˜์ด๋กœ๋“œ๋Š” JSON ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ ํƒ€์ž…์ด์–ด์•ผ ํ•จ
  • ์ด๋ฒคํŠธ ์ „๋‹ฌ ํ™•์ธ(acknowledgement) ๋ฏธ์ง€์›
  • ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฐฉ์‹์ด๋ฏ€๋กœ ํŠน์ • ๋Œ€์ƒ๋งŒ ์ง€์ • ๋ถˆ๊ฐ€

๐Ÿ”ฎ ํ–ฅํ›„ ๊ณ„ํš

  • ์ด๋ฒคํŠธ ํ™•์ธ(acknowledgement) ์ง€์›
  • ํŠน์ • ๋Œ€์ƒ(๋“ค)์—๊ฒŒ๋งŒ ์ด๋ฒคํŠธ ๋ฐœ์†ก ๊ธฐ๋Šฅ
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค IPC ์ง€์›
  • ์ด๋ฒคํŠธ ์šฐ์„ ์ˆœ์œ„ ๋ฐ ํ์ž‰
1
likes
145
points
18
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin for broadcasting events across multiple isolates/engines via native platform channels.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on inter_isolate_event_channel

Packages that implement inter_isolate_event_channel