Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ali obstajajo posebne težave, odpravljene v mvvmcross.plugin.ble, ki vtičnik.ble ne obravnava


Ali obstajajo posebne težave, odpravljene v mvvmcross.plugin.ble, ki vtičnik.ble ne obravnava


Pri primerjavi mvvmcross.plugin.ble in Plugin.ble se oba uporabljata za dostop do funkcionalnosti Bluetooth z nizko energijo (BLE) na različnih platformah, kot so Android, iOS, MacOS in Windows. Vendar pa služijo različnim namenom in imajo različne pristope k ravnanju z BLE.

mvvmcross.plugin.ble

Ta vtičnik je zasnovan posebej za uporabo v okviru MVVMcross, ki je MVVM okvir za navzkrižno platformo. Ble funkcionalnost brezhibno vključuje v aplikacije MVVMcross, tako da registrira `ibluetoothle` in` iadapter` kot lenoinizirane singletone. To omogoča enostavno vbrizgavanje in reševanje teh storitev v okviru MVVMcross.

Ena ključnih prednosti uporabe mvvmcross.plugin.ble je njena integracija z MVVMcross Framework, kar olajša upravljanje operacij v aplikacijah MVVMcross. Vendar pa sam po sebi ne obravnava posebnih vprašanj, ki jih Plugin.ble morda ne bo spoprijel, saj se opira na Plugin.ble za osnovno funkcionalnost BLE.

Plugin.ble

** Plugin.ble je bolj splošni vtičnik BLE, ki ga je mogoče uporabiti v različnih aplikacijah, ki temeljijo na .NET, vključno s projekti .NET MAUI. Ponuja API za več platform za BLE operacije, vendar ne vključuje funkcij, specifičnih za MVVM.

** Plugin.ble ima več omejitev, zlasti na Androidu, na primer zahteva, da se značilno zapišejo na glavni nit in uveljavite zaporedno izvedbo ukaza BLE, da se izognete napake GATT [2]. Poleg tega svetuje proti predpomnjenju značilnih ali storitev med sejami povezav, da se prepreči neveljavne reference [2].

Specifična vprašanja, ki jih obravnava mvvmcross.plugin.ble

Medtem ko mvvmcross.plugin.ble sam po sebi ne odpravlja težav, ki jih Plugin.ble ne obravnava, ponuja strukturiran način za upravljanje storitev v okviru MVVMcross. To lahko pomaga ublažiti težave, povezane z reševanjem storitev in vbrizgavanjem odvisnosti, ki bi lahko nastala pri neposredni uporabi Plugin.ble.

Na primer, mvvmcross.plugin.ble pomaga preprečiti vprašanja "nullreferenceException", tako da zagotovi, da so storitve pravilno registrirane in rešene v okviru MVVMcross [3]. Vendar gre bolj za okvirno integracijo, ne pa za reševanje posebnih omejitev funkcionalnosti BLE.

Sklep

Če povzamemo, mvvmcross.plugin.ble ponuja priročno integracijo BLE funkcionalnosti v aplikacije MVVMcross, pri čemer uporaba Plugin.ble za osnovne operacije BLE. Medtem ko ne odpravlja posebej vprašanj, ki jih Plugin.ble ne obravnava, ponuja strukturiran pristop k upravljanju storitev BLE v okviru MVVMcross. Če razvijate aplikacijo, ki uporablja mvvmcross, je mvvmcross.plugin.ble boljša izbira. Za druge vrste aplikacij, kot so .NET Maui Projects, je lahko bolj primeren Plugin.ble.

Navedbe:
[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://www.nuget.org/packages/plugin.ble/
[3] https://stackoverflow.com/questions/36522920
[4] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-hould-i-utIle-for-bluetooth-low-e
[5] https://punchthrough.com/android-ble-guide/
[6] https://github.com/xabre/xamarin-bluetooth-le/isissue/524
[7] https://stackoverflow.com/questions/38327176/xamarin-fforms-plugins-ble-mvvmcross-plugins-ble
[8] https://github.com/dotnet-bluetooth-le/dotnet-bluetooth-le/issues/901