inter_isolate_event_channel 1.0.2
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.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 ์ง์
- ์ด๋ฒคํธ ์ฐ์ ์์ ๋ฐ ํ์