Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mohu použít plugin.ble i mvvmcross.plugin.ble ve stejném projektu


Mohu použít plugin.ble i mvvmcross.plugin.ble ve stejném projektu


Použití obou plugin.ble i mvvmcross.plugin.ble ve stejném projektu je technicky možné, ale nemusí to být nejúčinnější nebo doporučeným přístupem. Tady je důvod:

1. Účel a funkčnost:
- Plugin.ble je plugin mezi platformami určený k přístupu k funkčnosti Bluetooth Low Energy (BLE). Je vhodný pro projekty, které nevyžadují architekturu MVVM nebo další funkce poskytované společností MVVMCross.
- mvvmcross.plugin.ble, na druhé straně, je speciálně navržen pro projekty pomocí rámce MVVMCross. Integruje funkčnost BLE do architektury MVVM, což umožňuje injekci závislosti a další funkce MVVMCross.

2. závislost a překrývání:
- mvvmcross.plugin.ble skutečně odkazuje plugin.ble interně. To znamená, že pokud používáte mvvmcross.plugin.ble, nepřímo používáte také plugin.ble. Použití jak explicitně, mohlo by však vést k zbytečné složitosti a potenciálním konfliktům.

3. použití a integrace:
- Pokud je váš projekt vytvořen s MVVMCross, použití mvvmcross.plugin.ble je jednodušší, protože se dobře integruje se vzorem MVVM a umožňuje injekci závislosti. Služby IBLUETOOTHLE a IADAPTER můžete vyřešit pomocí kontejneru IOC MVVMCross.
- Pokud dáváte přednost jednoduššímu přístupu bez MVVM, může stačit plugin.ble. Pokud se však rozhodnete používat obojí, ujistěte se, že pečlivě spravujete jejich instance a funkce, abyste se vyhnuli konfliktům.

4. Potenciální problémy:
- Použití obou pluginů by mohlo vést ke zmatku při řízení instancí a manipulaci s BLE. Můžete skončit s běhu několika adaptérů nebo BLE služeb, které by mohly způsobit neočekávané chování nebo chyby.

5. Doporučení:
- Pokud váš projekt používá mvvmcross, držte se mvvmcross.plugin.ble pro konzistenci a snadnost integrace.
- Pokud váš projekt nepoužívá mvvmcross, plugin.ble je jednodušší volba.
- Vyvarujte se používání obou, pokud nemáte konkrétní požadavek, který vyžaduje jejich kombinované použití, a zajistíte, abyste jejich integraci pečlivě zvládli.

Stručně řečeno, i když je technicky možné použít oba pluginy ve stejném projektu, obecně se nedoporučuje, pokud k tomu nemáte přesvědčivý důvod. Volba by měla být založena na architektuře a specifických potřebách vašeho projektu.

Citace:
[1] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-shold-iturity-for-lluetooth-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---loaded-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-luetooth-le
[8] https://community.qlik.com/t5/qlikview-app-dev/multiple-versions-of-similar-data-for-all-tabulku-in-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble