Το MVVMCROSS είναι ένα ισχυρό πλαίσιο MVVM (Model-View-ViewModel) σχεδιασμένο για ανάπτυξη εφαρμογών Cross-Platform εντός του οικοσυστήματος .NET. Υποστηρίζει διάφορες πλατφόρμες, όπως το Xamarin.ios, το Xamarin.android, το Xamarin.forms, την Παγκόσμια Πλατφόρμα Windows (UWP), το Ίδρυμα Παρουσίας των Windows (WPF) και άλλα [1] [3] [4]. Ακολουθεί μια επισκόπηση των βασικών χαρακτηριστικών της και του τρόπου με τον οποίο λειτουργεί:
Βασικά χαρακτηριστικά του MVVMCROSS
- MVVM Αρχιτεκτονική μοτίβο: Το MVVMCROSS υλοποιεί το μοτίβο MVVM, το οποίο χωρίζει τη λογική εφαρμογής σε τρία διασυνδεδεμένα εξαρτήματα: μοντέλο, προβολή και ViewModel [3].
-Σύστημα πλοήγησης: Παρέχει ένα ισχυρό σύστημα πλοήγησης, επιτρέποντας την εύκολη διαχείριση των μεταβάσεων ViewModel-to-ViewModel [2] [4].
- δέσμευση δεδομένων: Το MVVMCROSS περιλαμβάνει μια προσαρμόσιμη μηχανή δέσμευσης, επιτρέποντας στους προγραμματιστές να δημιουργούν προσαρμοσμένες συνδέσεις για τις απόψεις τους [4].
- Αναστροφή του ελέγχου (IOC) και έγχυση εξάρτησης: Το πλαίσιο υποστηρίζει τη ΔΟΕ μέσω έγχυσης εξάρτησης, διευκολύνοντας τη χαλαρή σύζευξη και τη δοκιμασία [3] [4].
-Υποστήριξη συγκεκριμένης πλατφόρμας: Προσφέρει εκτεταμένη υποστήριξη για χαρακτηριστικά και λειτουργίες που σχετίζονται με την πλατφόρμα [3].
- Plugins and Extensions: Το MVVMCross περιλαμβάνει ένα πλαίσιο plugin που επιτρέπει στους προγραμματιστές να ενσωματώνουν εύκολα πρόσθετες λειτουργίες όπως οι GPs, ο εντοπισμός και άλλα [4].
πώς λειτουργεί το mvvmcross
έργα πυρήνα και UI
Οι εφαρμογές MVVMCross συνήθως αποτελούνται από δύο κύρια μέρη:
- Core Project: Αυτό περιέχει την επιχειρηματική λογική, το ViewModels, τις υπηρεσίες και τα μοντέλα. Συνήθως εφαρμόζεται ως τυποποιημένη βιβλιοθήκη .NET για να εξασφαλιστεί η συμβατότητα μεταξύ των πλατφόρμας [2].
- Έργα UI: Κάθε πλατφόρμα (π.χ. iOS, Android) διαθέτει το δικό της έργο UI, το οποίο περιλαμβάνει τον κωδικό και τις προβολές που αλληλεπιδρούν με το βασικό έργο [2].
ΚΛΕΙΔΑΚΑΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΚΑΙ ΑΡΧΙΚΗ
- Κατηγορία εφαρμογών: Βρίσκεται στο βασικό έργο, αυτή η κλάση είναι υπεύθυνη για την καταχώριση προσαρμοσμένων αντικειμένων με το δοχείο της ΔΟΕ και την προετοιμασία της λογικής εφαρμογής [2].
- AppStart Object: Προαιρετικό, αυτό το αντικείμενο καθορίζει ποιο ViewModel θα παρουσιάσει πρώτα κατά την εκκίνηση της εφαρμογής [2].
- Κλάση εγκατάστασης: Βρέθηκε σε κάθε έργο πλατφόρμας, αυτή η κλάση αρχικοποιεί το MVVMCross και καταγράφει τις ειδικές υπηρεσίες πλατφόρμας [2].
διαδικασία αρχικοποίησης
1. Εκκίνηση πλατφόρμας: ξεκινά η διαδικασία εκκίνησης της εγγενούς πλατφόρμας.
2. MVVMCROSS SETUP: Η κλάση `setup` αρχικοποιεί το πλαίσιο σε δύο βήματα:` initializePrimary` (κύριο νήμα) και `initializesecondary '(νήμα φόντου) [2].
3. Αρχικοποίηση εφαρμογών: Η κλάση `App` αρχικοποιείται και παρέχει ένα αντικείμενο` AppStart 'για τη διαχείριση του πρώτου βήματος πλοήγησης [2].
Ξεκινώντας με το MVVMCROSS
Για να ξεκινήσει ένα νέο έργο MVVMCross, οι προγραμματιστές μπορούν να χρησιμοποιήσουν πρότυπα όπως το MVXScaffolding. Το πλαίσιο είναι διαθέσιμο μέσω πακέτων Nuget, τα οποία πρέπει να εγκατασταθούν τόσο στα έργα του πυρήνα όσο και στην πλατφόρμα [3] [4]. Για λεπτομερείς οδηγούς και τεκμηρίωση, ο επίσημος ιστότοπος MVVMCross και ο αποθετήριο GitHub είναι εξαιρετικοί πόροι [1] [4].
Αναφορές:[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://www.mvvmcross.com/documentation/getting-started/getting-started
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/blog/
[6] https://github.com/mvvmcross
[7] https://x.com/mvvmcross?lang=en
[8] https://www.nuget.org/profiles/mvvmcross