** Το mvvmcross.plugin.ble και το plugin.ble χρησιμοποιούνται και για τη λειτουργικότητα χαμηλής ενέργειας Bluetooth (BLE) σε εφαρμογές cross-platform, αλλά εξυπηρετούν ελαφρώς διαφορετικούς σκοπούς και έχουν ξεχωριστά χαρακτηριστικά.
mvvmcross.plugin.ble
-Ενσωμάτωση πλαισίου: Αυτό το plugin είναι ειδικά σχεδιασμένο για χρήση στο πλαίσιο MVVMCross, το οποίο είναι ένα πλαίσιο MVVM (μοντέλο-View-ViewModel) για την ανάπτυξη των πλατφόρμας. Ενσωματώνει καλά στο σύστημα έγχυσης εξάρτησης της MVVMCROSS, επιτρέποντας την εύκολη ανάλυση των υπηρεσιών BLE στην αίτησή σας [1] [7].
- Υποστήριξη πλατφόρμας: Υποστηρίζει ένα ευρύ φάσμα πλατφορμών, όπως το Android, το iOS, το MacOS και τα Windows. Αυτό το καθιστά ευέλικτο για την ανάπτυξη εφαρμογών σε πολλαπλά λειτουργικά συστήματα [7] [9].
- Χρήση: Για να χρησιμοποιήσετε αυτό το plugin, συνήθως εισάγετε την υπηρεσία `agapter 'ή` ibluetoothle' στα μοντέλα προβολής σας. Αυτό επιτρέπει την απλή πρόσβαση σε λειτουργικότητα BLE σε όλη την εφαρμογή σας [1] [7].
- Πρόσθετες λειτουργίες: Βασίζεται στο API Monkey.Robotics, προσθέτοντας χαρακτηριστικά και θέματα καθορισμού που υπάρχουν στο βασικό API. Αυτό μπορεί να προσφέρει μια πιο ισχυρή εμπειρία αλληλεπίδρασης BLE σε σύγκριση με τη χρήση του API βάσης απευθείας [1].
plugin.ble
- Γενικός σκοπός: plugin.ble είναι ένα γενικότερο plugin BLE που μπορεί να χρησιμοποιηθεί σε διάφορα πλαίσια, όχι μόνο MVVMCROSS. Βασίζεται χαλαρά στην υλοποίηση της ρομποτικής πιθήκων [8].
- Υποστήριξη πλατφόρμας: Υποστηρίζει Xamarin, Maui και MVVMCross, καθιστώντας το κατάλληλο για μια ποικιλία σεναρίων ανάπτυξης μεταξύ των πλατφορμών [8].
- Χρήση: Ενώ μπορεί να χρησιμοποιηθεί σε εφαρμογές MVVMCross, δεν απαιτεί τη λειτουργία του πλαισίου MVVMCROSS. Αυτό καθιστά μια καλή επιλογή για έργα που δεν χρησιμοποιούν MVVMCross αλλά εξακολουθούν να χρειάζονται δυνατότητες BLE [4].
- Ευελιξία: Δεδομένου ότι δεν συνδέεται με ένα συγκεκριμένο πλαίσιο MVVM, το plugin.ble προσφέρει ευελιξία όσον αφορά την αρχιτεκτονική εφαρμογών. Μπορεί να χρησιμοποιηθεί τόσο σε έργα MVVM όσο και σε μη MVVM [4].
βασικές διαφορές
- Εξάρτηση πλαισίου: Το MVVMCROSS.plugin.ble είναι στενά ενσωματωμένη στο πλαίσιο MVVMCROSS, ενώ το plugin.ble είναι πιο ευπροσάρμοστο και μπορεί να χρησιμοποιηθεί χωρίς MVVMCROSS.
- Υποστήριξη πλατφόρμας και πλαισίων: Και τα δύο plugins υποστηρίζουν πολλαπλές πλατφόρμες, αλλά το MVVMCROSS.plugin.ble είναι συγκεκριμένα βελτιστοποιημένο για χρήση στο οικοσύστημα MVVMCROSS.
- Πρόσθετα χαρακτηριστικά: mvvmcross.plugin.ble προσθέτει χαρακτηριστικά και διορθώνει θέματα που σχετίζονται με το API Monkey.Robotics, ενδεχομένως προσφέροντας μια πιο εκλεπτυσμένη εμπειρία αλληλεπίδρασης BLE για τους χρήστες MVVMCross.
Συνοπτικά, εάν αναπτύξετε μια εφαρμογή χρησιμοποιώντας το πλαίσιο MVVMCROSS, το MVVMCROSS.plugin.ble μπορεί να είναι η καλύτερη επιλογή λόγω της στενής ενσωμάτωσής του με το MVVMCROSS. Ωστόσο, εάν το έργο σας δεν χρησιμοποιεί MVVMCROSS ή προτιμάτε μια πιο γενική λύση BLE, το plugin.ble θα μπορούσε να είναι πιο κατάλληλο.
Αναφορές:[1] https://github.com/ircca/mvvmcross-bluetoothle
[2] https://github.com/don/cordova-plugin-ble-central
[3] https://stackoverflow.com/questions/36522920
[4] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-shouth
[5] https://github.com/capacitor-community/bluetooth-le
[6] https://forum.ionicframework.com/t/what-is-the-difference-between-plugin-ble-and-bluetoothle/169948
[7] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[8] https://www.nuget.org/packages/plugin.ble/
[9] https://www.nuget.org/packages/mvvmcross.plugin.ble/2.2.0-pre5
[10] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble