Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kan jeg bruke både plugin.ble og mvvmcross.plugin.ble i samme prosjekt


Kan jeg bruke både plugin.ble og mvvmcross.plugin.ble i samme prosjekt


Å bruke både plugin.ble og mvvmcross.plugin.ble i det samme prosjektet er teknisk mulig, men det er kanskje ikke den mest effektive eller anbefalte tilnærmingen. Her er grunnen:

1. Formål og funksjonalitet:
- Plugin.ble er en plugin-plattform-plugin designet for tilgang til Bluetooth Low Energy (BLE) -funksjonalitet. Det er egnet for prosjekter som ikke krever MVVM -arkitektur eller tilleggsfunksjoner levert av MVVMCROSS.
- mvvmcross.plugin.ble, derimot, er spesielt designet for prosjekter ved bruk av MVVMCROSS -rammeverket. Den integrerer BLE -funksjonalitet i MVVM -arkitekturen, noe som gir mulighet for avhengighetsinjeksjon og andre MVVMCROSS -funksjoner.

2. Avhengighet og overlapping:
- mvvmcross.plugin.ble Referanser plugin.ble internt. Dette betyr at hvis du bruker mvvmcross.plugin.ble, bruker du indirekte plugin.ble også. Å bruke begge eksplisitt kan imidlertid føre til unødvendig kompleksitet og potensielle konflikter.

3. Bruk og integrasjon:
- Hvis prosjektet ditt er bygget med MVVMCROSS, er bruk av mvvmcross.plugin.ble mer enkel fordi det integreres godt med MVVM -mønsteret og gir mulighet for avhengighetsinjeksjon. Du kan løse Ibluetoothle og IADapter -tjenester ved å bruke MVVMCROSSs IOC -beholder.
- Hvis du foretrekker en enklere, ikke-MVVM-tilnærming, kan plugin.ble være tilstrekkelig. Imidlertid, hvis du bestemmer deg for å bruke begge deler, må du sørge for at du administrerer deres forekomster og funksjonaliteter nøye for å unngå konflikter.

4. Potensielle problemer:
- Å bruke begge plugins kan føre til forvirring i å håndtere forekomster og håndtere BLE -operasjoner. Du kan ende opp med flere adaptere eller BLE -tjenester som kjører, noe som kan forårsake uventet oppførsel eller feil.

5. Anbefaling:
- Hvis prosjektet ditt bruker mvvmcross, hold deg til mvvmcross.plugin.ble for konsistens og enkel integrasjon.
- Hvis prosjektet ditt ikke bruker MVVMCROSS, er Plugin.BLE et enklere valg.
- Unngå å bruke begge deler med mindre du har et spesifikt krav som nødvendiggjør deres samlede bruk, og sørg for at du håndterer integrasjonen deres nøye.

Oppsummert, selv om det er teknisk mulig å bruke begge plugins i det samme prosjektet, anbefales det generelt ikke med mindre du har en overbevisende grunn til å gjøre det. Valget skal være basert på prosjektets arkitektur og spesifikke behov.

Sitasjoner:
[1] https://learn.microsoft.com/no-us/answers/questions/1518375/which-package-should-i-utilible-for-bluetooth-low-e
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-apps-app-and-setup
[3] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[4] https://forum.ionicframework.com/t/both-bluetoothle-plugins-seem-not-to-be-loaded-hat-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-app/multiple-versions-of-imilar-data-for-all-tables-in-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-blemvvmcross-plugins-ble