Uporaba tako Plugin.ble kot mvvmcross.plugin.ble v istem projektu je tehnično mogoča, vendar morda ni najučinkovitejši ali priporočljiv pristop. Tukaj je razlog:
1. namen in funkcionalnost:
- Plugin.ble je vtičnik za navzkrižno platformo, zasnovan za dostop do Bluetooth z nizko energijo (BLE). Primerno je za projekte, ki ne potrebujejo arhitekture MVVM ali dodatnih funkcij, ki jih ponuja MVVMcross.
- mvvmcross.plugin.ble na drugi strani je zasnovan posebej za projekte, ki uporabljajo okvir MVVMcross. Vključuje funkcijo BLE v arhitekturo MVVM, kar omogoča vbrizgavanje odvisnosti in druge funkcije MVVMcross.
2. odvisnost in prekrivanje:
- mvvmcross.plugin.ble dejansko navaja vtičnik.ble interno. To pomeni, da če uporabljate mvvmcross.plugin.ble, posredno uporabljate tudi Plugin.ble. Vendar bi lahko uporaba obeh izrecno privedla do nepotrebne zapletenosti in potencialnih konfliktov.
3. Uporaba in integracija:
- Če je vaš projekt zgrajen z mvvmcross, je uporaba mvvmcross.plugin.ble bolj preprosta, ker se dobro integrira z vzorcem MVVM in omogoča vbrizgavanje odvisnosti. Ibluetoothle in iadapter Services lahko rešite z uporabo MVVMcross -ovega zabojnika MOC.
- Če imate raje preprostejši, ne-MVVM pristop, lahko zadostuje Plugin.ble. Če pa se odločite za uporabo obeh, poskrbite, da boste skrbno upravljali z njihovimi primerki in funkcionalnostmi, da se izognete konfliktom.
4. Potencialna vprašanja:
- Uporaba obeh vtičnikov bi lahko privedla do zmede pri upravljanju primerov in ravnanju z operacijami BLE. Morda boste končali z več adapterji ali BLE Services, kar bi lahko povzročilo nepričakovano vedenje ali napake.
5. Priporočilo:
- Če vaš projekt uporablja mvvmcross, se držite mvvmcross.plugin.ble za doslednost in enostavnost integracije.
- Če vaš projekt ne uporablja mvvmcross, je Plugin.ble preprostejša izbira.
- Izogibajte se uporabi obeh, razen če imate določeno zahtevo, ki zahteva njihovo kombinirano uporabo, in poskrbite, da boste skrbno ravnali z njihovo integracijo.
Če povzamemo, čeprav je tehnično mogoče uporabiti oba vtičnika v istem projektu, ga na splošno ni priporočljivo, razen če za to imate prepričljiv razlog. Izbira mora temeljiti na arhitekturi vašega projekta in posebnih potrebah.
Navedbe:[1] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-hould-i-utIle-for-bluetooth-low-e
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[3] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[4] https://forum.ionicframework.com/t/both-bble-bluetoothle-plugins-seem-not-tO-be-laoad-at-all/176776
[5] https://www.nuget.org/packages/mvvmcross.plugin.ble/2.2.0-pre5
[6] https://www.npmjs.com/package/cordova-plugin-bluetoothle
[7] https://github.com/mrozema/xamarin-bluetooth-le
[8] https://community.qlik.com/t5/qlikview-app-dev/multiple-versions-of-similar-data-for-all-tables-in-tata-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-fforms-plugins-ble-mvvmcross-plugins-ble