$ account chipweinberger
This repository implements **flutter_blue_plus**, a Flutter plugin library for Bluetooth Low Energy (BLE) communication across Android, iOS, macOS, Linux, and Web platforms. It provides a unified Dart API to perform BLE scanning, connect to devices, discover GATT services/characteristics/descriptors, read/write data, subscribe to notifications, and manage bonding and MTU negotiation. The architecture follows Flutter's federated plugin pattern: a common platform interface package defines abstract contracts and serialization messages, while separate packages implement the native side using MethodChannel (Android Java, iOS/macOS Objective-C, Linux Dart/BlueZ, Web JS interop). The library is designed for production use, featuring per-device operation queues via a mutex factory, robust error handling, streaming state updates, and conveniences like automatic subscription cleanup on disconnect. It is commercially licensed, requiring a paid license for commercial use. The codebase is well-structured with clear separation of concerns, though it carries a moderate amount of deprecated API surface and some platform-specific workarounds. The example app demonstrates all major features and serves as both a test harness and reusable UI pattern for BLE exploration.