TrackMyIndoorWorkout / TrackMyIndoorWorkout

Indoor fitness machine (bike, treadmill, rower, kayak / canoe / swim ergometer, elliptical) companion app to record virtual workouts with synthetic GPS track of simply circling on a track shape route
https://TrackMyIndoorWorkout.github.io
Apache License 2.0
37 stars 9 forks source link

Look for another BLE library #210

Open MrCsabaToth opened 2 years ago

MrCsabaToth commented 2 years ago

https://pub.dev/packages/flutter_blue is very inactive, the maintainer openly stated that since the library is working fine for his specific use he probably won't bother much with updating. There are 63 freaking PRs are waiting in the queue (https://github.com/pauldemarco/flutter_blue/pulls) and the maintainer doesn't give a damn. I'm running an own fork for a good while now. It would be great to jump ships to a better maintained plugin.

https://pub.dev/packages/flutter_ble_lib is by Polidea which is also the author of the native libraries https://github.com/Polidea/RxAndroidBle. Interestingly https://github.com/Polidea/FlutterBleLib redirects to https://github.com/dotintent/FlutterBleLib. The plugin is not even null safe though. :P

https://pub.dev/packages/flutter_reactive_ble seems to be well maintained right now and it also uses the https://github.com/Polidea/RxAndroidBle. It'd be good to have some trial branch of the app using that plugin.

MrCsabaToth commented 2 years ago

Looks like people started to maintain a new fork of flutter_ble: https://github.com/pauldemarco/flutter_blue/issues/929, that new fork is https://github.com/boskokg/flutter_blue/

MrCsabaToth commented 2 years ago

Note that the boskokg fork has features which may make flutter_enable unnecessary, like this one displays permissions for iOS https://github.com/pauldemarco/flutter_blue/pull/964

Also note https://github.com/pauldemarco/flutter_blue/issues/979 and https://github.com/pauldemarco/flutter_blue/issues/929

MrCsabaToth commented 2 years ago

boskokg's fork is now https://pub.dev/packages/flutter_blue_plus It also seems he'll co-operate with the https://github.com/espresso3389/flutter_blue fork for foreground service functionalitites

MrCsabaToth commented 2 years ago

Also note this from Tekartik, it depends on flutter_blue_plus: https://github.com/tekartik/bluetooth.dart

MrCsabaToth commented 2 years ago

Another bluetooth lib, this one even has desktop support: https://github.com/woodemi/quick_blue

MrCsabaToth commented 1 year ago

Curation of BLE plugins: https://fluttergems.dev/bluetooth-nfc-beacon/

MrCsabaToth commented 1 year ago

FYI Flutter Tizen picked Phillips Hue's Flutter Reactive BLE instead of Flutter Blue Plus: https://github.com/flutter-tizen/plugins/issues/106#issuecomment-1451529451 (although I think Flutter Reactive BLE uses protobufs as well https://github.com/PhilipsHue/flutter_reactive_ble/tree/master/packages/reactive_ble_mobile/protos)

MrCsabaToth commented 1 year ago

Flutter Blue Plus started to remove the protobuf on iOS platform. Maybe I'll remove it for the Android? See https://github.com/boskokg/flutter_blue_plus/commit/1848617e6ce25385c2a7b4129aa199801bcfee71

Also note that the Flutter Blue Plus maintainer advises to use Quick Blue https://pub.dev/packages/quick_blue However it seems to me that currently that cannot connect to multiple devices simultaneously, or subscribe for more characteristics:

MrCsabaToth commented 1 year ago

Also ref https://github.com/boskokg/flutter_blue_plus/issues/338

MrCsabaToth commented 1 year ago

Flutter Blue Plus seems to be very active thanks to @chipweinberger. Now the ProtoBuf usage is gone, so possibly even Tizen Flutter will pick it up https://github.com/flutter-tizen/plugins/issues/106#issuecomment-1641403184

MrCsabaToth commented 1 year ago

I needed to modify the MTU check with my own fork https://github.com/boskokg/flutter_blue_plus/issues/412

MrCsabaToth commented 8 months ago

Quick Blue maintenance is questioned: https://github.com/woodemi/quick_blue/issues/163 The referenced fork does not have an issue tracker! https://github.com/pisontechnology/quick_blue