Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kan ik zowel plugin.ble als mvvmcross.plugin.ble gebruiken in hetzelfde project


Kan ik zowel plugin.ble als mvvmcross.plugin.ble gebruiken in hetzelfde project


Het gebruik van zowel plugin.ble als mvvmcross.plugin.ble in hetzelfde project is technisch mogelijk, maar het is misschien niet de meest efficiënte of aanbevolen aanpak. Dit is waarom:

1. Doel en functionaliteit:
- plugin.ble is een platformonafhankelijke plug-in die is ontworpen voor toegang tot Bluetooth Low Energy (BLE) -functionaliteit. Het is geschikt voor projecten die geen MVVM -architectuur vereisen of aanvullende functies van MVVMCross.
- mvvmcross.plugin.ble is daarentegen specifiek ontworpen voor projecten met behulp van het MVVMCross -framework. Het integreert de BLE -functionaliteit in de MVVM -architectuur, waardoor afhankelijkheidsinjectie en andere MVVMCross -functies mogelijk is.

2. Afhankelijkheid en overlapping:
- mvvmcross.plugin.ble verwijst eigenlijk intern verwijzingen naar plugin.ble. Dit betekent dat als u mvvmcross.plugin.ble gebruikt, u ook indirect plugin.ble gebruikt. Het gebruik van beide kan echter echter leiden tot onnodige complexiteit en potentiële conflicten.

3. Gebruik en integratie:
- Als uw project is gebouwd met MVVMCross, is het gebruik van mvvmcross.plugin.ble eenvoudiger omdat het goed integreert met het MVVM -patroon en afhankelijkheidsinjectie mogelijk maakt. U kunt iBluetoothle- en IADapter -services oplossen met behulp van de IOC -container van MVVMCross.
- Als u de voorkeur geeft aan een eenvoudigere, niet-MVVM-aanpak, kan plugin.ble voldoende zijn. Als u echter besluit om beide te gebruiken, zorg er dan voor dat u hun instanties en functionaliteiten zorgvuldig beheert om conflicten te voorkomen.

4. Potentiële problemen:
- Het gebruik van beide plug -ins kan leiden tot verwarring bij het beheren van instanties en het hanteren van BLE -bewerkingen. U kunt eindigen met meerdere adapters of BLE -diensten die worden uitgevoerd, wat onverwacht gedrag of fouten kan veroorzaken.

5. Aanbeveling:
- Als uw project mvvmcross gebruikt, blijf dan bij mvvmcross.plugin.ble voor consistentie en integratie -gemak.
- Als uw project geen mvvmcross gebruikt, is plugin.ble een eenvoudigere keuze.
- Vermijd beide te gebruiken, tenzij u een specifieke vereiste hebt die hun gecombineerde gebruik noodzakelijk maakt en ervoor zorgt dat u hun integratie zorgvuldig behandelt.

Samenvattend, hoewel het technisch mogelijk is om beide plug -ins in hetzelfde project te gebruiken, wordt het over het algemeen niet aanbevolen tenzij u een dwingende reden hebt om dit te doen. De keuze moet gebaseerd zijn op de architectuur en specifieke behoeften van uw project.

Citaten:
[1] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-schoughould-i-ut-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-ble-bluetoothle-plugins-seem-not-to-loaded-t-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-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble