Vertaamalla mvvmcross.plugin.ble ja plugin.ble, molempia käytetään pääsemään Bluetooth -matalan energian (BLE) toiminnallisuuteen eri alustoilla, kuten Android, iOS, MacOS ja Windows. Ne palvelevat kuitenkin erilaisia tarkoituksia ja niillä on selkeät lähestymistavat BLE -operaatioiden käsittelyyn.
mvvmcross.plugin.ble
Tämä laajennus on suunniteltu erityisesti käytettäväksi MVVMCross-kehyksessä, joka on alustojen välinen MVVM-kehys. Se integroi BLE-toiminnallisuuden saumattomasti MVVMCROSS-sovelluksiin rekisteröimällä `Ibluetoothle` ja` iadapter` laiskoina aloittamattomina singletoneina. Tämä mahdollistaa näiden palvelujen helpon injektoinnin ja ratkaisun MVVMCross -kehyksessä.
Yksi tärkeimmistä eduista MVVMCross.plugin.ble on sen integrointi MVVMCross -kehykseen, mikä helpottaa BLE -toimintojen hallintaa MVVMCross -sovelluksissa. Siinä ei kuitenkaan ole luonnostaan käsittele erityisiä ongelmia, joita plugin.ble ei ehkä käsittele, koska se perustuu plugin.ble: ään taustalla olevan BLE -toiminnallisuuden suhteen.
plugin.ble
** plugin.ble on yleisempi BLE-laajennus, jota voidaan käyttää erilaisissa .NET-pohjaisissa sovelluksissa, mukaan lukien .NET Maui -projektit. Se tarjoaa alustojen välisen sovellusliittymän BLE-operaatioille, mutta ei sisällä MVVM-spesifisiä ominaisuuksia.
** plugin.blellä on useita rajoituksia, etenkin Androidilla, kuten vaatimusominaisuuksien kirjoituksia, jotka on suoritettava päälankalle ja peräkkäisen BLE -komennon suorittamisen täytäntöönpano GATT -virheiden välttämiseksi [2]. Lisäksi se neuvoo välimuisti -ominaispiirteitä tai palvelutapauksia yhteysistuntojen välillä virheellisten viitteiden estämiseksi [2].
MVVMCROSS.Plugin.ble käsittelemät erityiset kysymykset
Vaikka mvvmcross.plugin.ble ei luonnostaan korjaa ongelmia, joita plugin.ble ei käsittele, se tarjoaa jäsennellyn tavan hallita BLE -palveluita MVVMCross -kehyksessä. Tämä voi auttaa lieventämään palvelun ratkaisuun ja riippuvuuden injektioon liittyviä kysymyksiä, joita voi syntyä, kun käytetään plugin.ble suoraan.
Esimerkiksi mvvmcross.plugin.ble auttaa välttämään `nollreferenceException` -kysymyksiä varmistamalla, että palvelut on rekisteröity ja ratkaistaan MVVMCross -kehyksessä [3]. Kyse on kuitenkin enemmän puitteiden integroinnista sen sijaan, että puututaan tiettyihin BLE -toiminnallisuusrajoituksiin.
johtopäätös
Yhteenvetona voidaan todeta, että mvvmcross.plugin.ble tarjoaa kätevän BLE -toiminnallisuuden integroinnin MVVMCross -sovelluksiin, hyödyntämällä plugin.ble taustalla oleville BLE -toiminnoille. Vaikka se ei erityisesti korjaa ongelmia, joita plugin.ble ei käsittele, se tarjoaa jäsennellyn lähestymistavan BLE -palveluiden hallintaan MVVMCross -kehyksessä. Jos kehität sovellusta, joka käyttää MVVMCross, mvvmcross.plugin.ble on parempi valinta. Muiden sovellusten, kuten .NET Maui -projektien, plugin.ble saattaa olla sopivampi.
Viittaukset:[1] https://www.nuget.org/packages/mvmcross.plugin.ble/
[2] https://www.nuget.org/packages/plugin.ble/
[3] https://stackoverflow.com/questions/36522920
.
[5] https://punchrough.com/android-ble-guide/
[6] https://github.com/xabre/xamarin-bluetooth-le/issues/524
.
.