** mvvmcross.plugin.ble предлагает несколько дополнительных функций по сравнению с плагином. Вот некоторые ключевые различия и улучшения:
1. Интеграция с структурой MVVMcross: mvvmcross.plugin.ble предназначена для беспрепятственной работы с структурой MVVMcross MVVM. Это означает, что он использует контейнер MVVMcross по контролю (IOC) для управления зависимостями и услугами. Вы можете легко вводить экземпляры `ibluetoothle` и` iAdapter` в ваши модели зрения или другие классы, которые упрощают управление функциональностью BLE в вашем приложении [1] [3].
2. Ленивая инициализация и синглтон -шаблон: плагин регистрируется `ibluetoothle и` iAdapter` как ленивые инициализированные синглтоны. Это гарантирует, что эти услуги создаются только при необходимости, что может улучшить производительность за счет снижения ненужного использования ресурсов. Вы можете разрешить эти услуги, используя контейнер MVVMcross IOC, что облегчает управление их жизненным циклом [1] [9].
3. Дополнительные функции и исправления: mvvmcross.plugin.ble опирается на API Monkey.robotics, добавляя некоторые дополнительные функции и исправления проблем, присутствующих в оригинальной реализации. Это означает, что он обеспечивает более надежный и надежный опыт взаимодействия BLE по сравнению с использованием ванильного плагина. [2] [9].
4. Кроссплатформенная поддержка: в то время как оба плагина поддерживают несколько платформ, mvvmcross.plugin.ble специально предназначены для работы в Android, iOS, MacOS и Windows, что делает его подходящим для приложений, которые необходимо работать в различных операционных системах. Эта кроссплатформенная поддержка усиливается за счет фреймворков MVVMcross [1] [7].
5. Простота использования в проектах MVVMcross: для разработчиков, уже использующих структуру MVVMcross, интегрируя mvvmcross.plugin.ble, проста. Он хорошо согласуется с архитектурой и закономерностями MVVMcross, уменьшая кривую обучения и время разработки для включения функциональности BLE в применение [3] [10].
Таким образом, mvvmcross.plugin.ble предлагает более интегрированный и управляемый подход к разработке BLE, особенно для проектов, которые уже используют структуру MVVMcross. Он предоставляет дополнительные функции, лучшее управление зависимостями и улучшенную кроссплатформенную поддержку по сравнению с ванильным плагином.
Цитаты:[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/ircca/mvvmcross-bluetoothle
[3] https://www.mvvmcross.com/documentation/fundamentals/inversion-of-control-ioc
[4] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-should-itize-for-bluetooth-low-e
[5] https://nugetprodusnc.azure-api.net/packages/mvvmcross.plugin.ble/1.2.0-beta2
[6] https://stackoverflow.com/questions/68648658/bluetooth-using-plugin-ble-to-get-serial-port-for-xamarin-forms
[7] https://www.nuget.org/packages/mvvmcross.plugin.ble/2.2.0-pre5
[8] https://www.fuget.org/packages/mvvmcross.plugin.ble/2.1.0-pre1
[9] https://github.com/mrozema/xamarin-bluetooth-le
[10] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-lugins-ble