Brug af både plugin.ble og mvvmcross.plugin.ble i det samme projekt er teknisk muligt, men det er måske ikke den mest effektive eller anbefalede tilgang. Her er hvorfor:
1. Formål og funktionalitet:
- Plugin.ble er et tværplatform plugin designet til adgang til Bluetooth Low Energy (BLE) -funktionalitet. Det er velegnet til projekter, der ikke kræver MVVM -arkitektur eller yderligere funktioner leveret af MVVMCross.
- mvvmcross.plugin.ble, på den anden side, er specifikt designet til projekter ved hjælp af MVVMCROSS -rammen. Det integrerer BLE -funktionalitet i MVVM -arkitekturen, hvilket muliggør afhængighedsinjektion og andre MVVMCROSS -funktioner.
2. afhængighed og overlapning:
- mvvmcross.plugin.ble refererer faktisk til plugin.ble internt. Dette betyder, at hvis du bruger mvvmcross.plugin.ble, bruger du også indirekte plugin.ble. Brug af både eksplicit kunne imidlertid føre til unødvendig kompleksitet og potentielle konflikter.
3. brug og integration:
- Hvis dit projekt er bygget med MVVMCROSS, er det mere ligetil at bruge mvvmcross.plugin.ble, fordi det integreres godt med MVVM -mønsteret og giver mulighed for afhængighedsinjektion. Du kan løse Ibluetoothle- og IAdapter -tjenester ved hjælp af MVVMCross's IOC -container.
- Hvis du foretrækker en enklere, ikke-MVVM-tilgang, kan plugin.ble være tilstrækkelig. Men hvis du beslutter at bruge begge dele, skal du sikre dig, at du administrerer deres forekomster og funktionaliteter omhyggeligt for at undgå konflikter.
4. potentielle problemer:
- Brug af begge plugins kunne føre til forvirring i styring af forekomster og håndtering af BLE -operationer. Du ender muligvis med flere adaptere eller BLE -tjenester, der kører, hvilket kan forårsage uventet opførsel eller fejl.
5. Anbefaling:
- Hvis dit projekt bruger MVVMCROSS, skal du holde dig til MVVMCROSS.PLUGIN.BLE for konsistens og let integration.
- Hvis dit projekt ikke bruger MVVMCROSS, er plugin.ble et enklere valg.
- Undgå at bruge begge, medmindre du har et specifikt krav, der kræver deres kombinerede brug, og sørg for, at du håndterer deres integration omhyggeligt.
Sammenfattende, selvom det er teknisk muligt at bruge begge plugins i det samme projekt, anbefales det generelt ikke, medmindre du har en overbevisende grund til at gøre det. Valget skal være baseret på dit projekts arkitektur og specifikke behov.
Citater:)
[2] https://www.mvvmcross.com/documentation/advanced/customizing-sising-app-and-setup
[3] https://www.nuget.org/packages/mvvmcross.plugin.ble/
)
[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-lighilar-data-for-all-tables-in-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble