Techniškai įmanoma naudoti ir papildin.ble, ir mvvmcross.plugin.ble tame pačiame projekte, tačiau tai gali būti ne pats efektyviausias ar rekomenduojamas požiūris. Štai kodėl:
1. Tikslas ir funkcionalumas:
- „Pillin.ble“ yra įvairių platformų papildinys, skirtas pasiekti „Bluetooth Low Energy“ (BLE) funkcijas. Tai tinka projektams, kuriems nereikia MVVM architektūros ar papildomų funkcijų, kurias teikia MVVMCross.
- Mvvmcross.plugin.ble, kita vertus, yra specialiai sukurtas projektams, naudojantiems MVVMCross Framework. Tai integruoja BLE funkcionalumą į MVVM architektūrą, leidžiančią įpurškti priklausomybę ir kitas MVVMCross funkcijas.
2. Priklausomybė ir sutapimas:
- mvvmcross.plugin.ble iš tikrųjų nurodo papildinį. Tai reiškia, kad jei naudojate mvvmcross.plugin.ble, jūs taip pat netiesiogiai naudojate papildine.ble. Tačiau naudojant abu tai gali sukelti nereikalingą sudėtingumą ir galimus konfliktus.
3. Naudojimas ir integracija:
- Jei jūsų projektas yra sukurtas naudojant MVVMCross, naudojant mvvmcross.plugin.ble, yra aiškiau, nes jis gerai integruojasi į MVVM modelį ir leidžia įpurškti priklausomybę. Galite išspręsti „IBluetoothle“ ir „Iadapter“ paslaugas naudodami „MVVMCross“ IOC konteinerį.
- Jei jums labiau patinka paprastesnis, ne MVVM požiūris, „Pilm.ble“ gali pakakti. Tačiau jei nuspręsite naudoti abu, įsitikinkite, kad atsargiai valdote jų egzempliorius ir funkcijas, kad išvengtumėte konfliktų.
4. Potencialūs klausimai:
- Abiejų papildinių naudojimas gali sukelti painiavą valdant egzempliorius ir tvarkant BLE operacijas. Jums gali būti naudojami keli adapteriai ar BLE paslaugos, kurios gali sukelti netikėtą elgesį ar klaidas.
5. Rekomendacija:
- Jei jūsų projekte naudojamas MVVMCROSS, pasilikite su mvvmcross.plugin.ble, kad būtų nuoseklūs ir lengvai integracija.
- Jei jūsų projektas nenaudoja „Mvvmcross“, „Pillin.ble“ yra paprastesnis pasirinkimas.
- Venkite naudoti abu, nebent turite konkretų reikalavimą, dėl kurio reikia naudoti juos kartu, ir įsitikinkite, kad atsargiai tvarkote jų integraciją.
Apibendrinant galima pasakyti, kad nors techniškai įmanoma naudoti abu papildinius tame pačiame projekte, paprastai nerekomenduojama, nebent turite įtikinamą priežastį tai padaryti. Pasirinkimas turėtų būti pagrįstas jūsų projekto architektūra ir specifiniais poreikiais.
Citatos:[1] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-hould-itilie-for-bluetooth-low-e
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app ir-setup
[3] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[4] https://forum.ionicframework.com/t/both-ble-bluetoothle-plugins-seem-not---be-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-bluetooth-le
[8] https://community.qlik.com/t5/qlikview-app-dev/multriple-versions-of-similar-data-for-all-lables-in-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble