Προγραμματισμός

Δημιουργήστε εφαρμογές MVVM με την εργαλειοθήκη κοινότητας των Windows

Η Microsoft ήταν πάντα καλή στη συνεργασία με προγραμματιστές, από τις πρώτες μέρες της ως προμηθευτής γλωσσών. Το πρόγραμμά του έχει εξελιχθεί με την πάροδο των ετών, από μια προσέγγιση από την κορυφή προς τα κάτω, με γνώμονα το Redmond που κορυφώθηκε με τα κανονικά DVD MSDN τεκμηρίωσης, έως το σημερινό πρόγραμμα που βασίζεται στην κοινότητα που περιβάλλεται από τα Microsoft Docs, το Microsoft Learn, μια παγκόσμια ομάδα Azure Developer Advocates, και ένα συνεχώς αναπτυσσόμενο σύνολο εργαλείων και πλαισίων που αναπτύχθηκαν στο GitHub.

Η εργαλειοθήκη κοινότητας των Windows: ένα κιτ εκκίνησης .NET

Η συνεργασία με την κοινότητα παρήγαγε ενδιαφέροντα αποτελέσματα με πιο ακριβή και έγκαιρη τεκμηρίωση χρησιμοποιώντας το GitHub για τη διαχείριση περιεχομένου και μια σειρά έργων ανοιχτού κώδικα υπό την ηγεσία της κοινότητας. Ένα από τα πιο σημαντικά έργα είναι το Windows Community Toolkit, μια σειρά λειτουργιών, στοιχείων ελέγχου και υπηρεσιών για εφαρμογές .NET και UWP. Πρόκειται για ένα έργο που θα γίνει πιο σημαντικό μόνο με τη μετάβαση από το παλαιότερο .NET Framework στο .NET βασισμένο στο .NET 5 και την ανάπτυξη τόσο του Project Reunion όσο και του πολλαπλού πλατφόρμας πολλαπλών μορφών εφαρμογής UI (MAUI).

Το Windows Community Toolkit δεν είναι μια μονολιθική οντότητα που πρέπει να αποσταλεί μαζί με τις εφαρμογές σας. Είναι ένα σύνολο πακέτων NuGet, οπότε μπορείτε να διαλέξετε και να επιλέξετε αυτό που χρειάζεστε, διατηρώντας τον κώδικα και τη βιβλιοθήκη στο ελάχιστο. Εάν δημιουργείτε σύγχρονες εφαρμογές Windows .NET, αξίζει μια ματιά, καθώς περιέχει πολλά σημαντικά χειριστήρια XAML που μπορούν να σας βοηθήσουν να παραδώσετε μια όμορφη και φιλική προς το χρήστη εφαρμογή. Άλλα χρήσιμα εργαλεία περιλαμβάνουν ένα σύνολο βοηθών για τη βελτίωση της απόδοσης της εφαρμογής, ένα σύνολο αναλυτών για κοινές μορφές δεδομένων, συμπεριλαμβανομένης της Markdown, και τον βασικό κώδικα που απαιτείται για την υποστήριξη του πλαισίου ειδοποιήσεων των Windows 10.

Προσθήκη MVVM στο Toolkit

Μία από τις πιο πρόσφατες προσθήκες στο κιτ εργαλείων είναι μια νέα βιβλιοθήκη για την κατασκευή εφαρμογών χρησιμοποιώντας το σχέδιο σχεδίασης MVVM. Το μοντέλο-view-viewmodel βρίσκεται στο επίκεντρο του επερχόμενου πλαισίου MAUI και το .NET χρειάζεται μια καλή, γρήγορη εφαρμογή για να είναι επιτυχής. Το αποτέλεσμα είναι ένα σχετικά ελαφρύ σύνολο εργαλείων MVVM καθώς και ένα σύνολο δείγματος κώδικα.

Υπάρχουν πολλά να σας αρέσουν στη νέα υλοποίηση του MVVM Windows Community Toolkit. Ίσως το πιο χρήσιμο είναι ότι είναι μια σειρά βελτίωσης της απόδοσης σε σύγκριση με συγκρίσιμα εργαλεία .NET MVVM, όπως ο συν-συγγραφέας του Michael Hawker, ο επικεφαλής του έργου Windows Community Toolkit στη Microsoft, επεσήμανε σε μια παρουσίαση στο UnoConf την περασμένη εβδομάδα. Αυτή η βελτίωση θα είναι κρίσιμη για εφαρμογές MAUI, ειδικά όταν στοχεύετε πλατφόρμες για κινητά όπως το Android και το iOS. Μπορεί να μην έχει όλα τα χαρακτηριστικά εναλλακτικών βαρέων βαρών, αλλά για τους περισσότερους σκοπούς είναι μια ιδανική επιλογή και με μερικές από τις εναλλακτικές λύσεις .NET MVVM που δεν αναπτύσσονται πλέον, αξίζει μια ματιά.

Κάντε το UI σας βάσει συμβάντων

Το σχέδιο σχεδίασης MVVM προορίζεται για την υποστήριξη διεπαφών χρήστη βάσει συμβάντων. Στην καρδιά του είναι ένα μοντέλο, το οποίο λειτουργεί ως διεπαφή μεταξύ της εφαρμογής σας και οποιασδήποτε επιχειρηματικής λογικής ή δεδομένων. Η διεπαφή χρήστη σας υλοποιείται από την προβολή, όπως το γνωστό μοτίβο MVC (μοντέλο view controller). Το MVVM διαφέρει από άλλα παρόμοια μοτίβα σχεδίασης στο viewmodel του, το οποίο συνδέει συνδέσμους δεδομένων κατά την προβολή με τα δεδομένα του μοντέλου, παρέχοντας έναν τρόπο αναπαράστασης της κατάστασης του ενός στο άλλο.

Ο κώδικας του μοντέλου προβολής χειρίζεται τις εισόδους και τις εξόδους επεξεργασίας από και προς την προβολή, χρησιμοποιώντας τυπικές συνδέσεις δεδομένων XAML στα στοιχεία ελέγχου. Ο στόχος εδώ είναι να διατηρήσουμε τον κώδικα στο ελάχιστο, έτσι ώστε οι σχεδιαστές να μπορούν να επικεντρωθούν στην παραγωγή εμπειριών χρηστών, ενώ οι προγραμματιστές εργάζονται στον κώδικα back-end και στην επεξεργασία της κατάστασης προβολής βάσει του event. Επιβάλλοντας έναν διαχωρισμό μεταξύ της προβολής και του μοντέλου, μπορείτε να εστιάσετε την ανάπτυξη στη λογική της εφαρμογής, χρησιμοποιώντας πρωτότυπα χειριστήρια πριν μεταβείτε σε μια τελική σχεδίαση χωρίς να επηρεαστεί ο κώδικας που έχει γραφτεί κατά την ανάπτυξη εφαρμογών.

Ξεκινήστε με το Microsoft.MVVM.Toolkit

Ο κωδικός για τη νέα εργαλειοθήκη MVVM είναι πολύ νέος, αλλά είναι αρκετά ώριμος για να υποστηρίξει την ανάπτυξη πρωτοτύπων εφαρμογών. Ίσως το μεγαλύτερο πρόβλημα είναι ότι δεν υπάρχει καμία τεκμηρίωση για το Microsoft.Toolkit.MVVM στον ιστότοπο των Εγγράφων Microsoft, αν και μια μικρή αναζήτηση θα βρει την αρχική δόση τεκμηρίωσης στο GitHub.

Όπως και το υπόλοιπο κιτ εργαλείων κοινότητας των Windows, το MVVM Toolkit εγκαθίσταται από ένα αποθετήριο Nuget. Καθώς εμπνεύστηκε από το τώρα καταργημένο MVVMLight, η μετάβαση από την παλαιότερη εργαλειοθήκη στην εργαλειοθήκη κοινότητας των Windows δεν πρέπει να είναι πολύ δύσκολη.

Ξεκινήστε κατεβάζοντας την έκδοση προεπισκόπησης του MVVM Toolkit από το Nuget και εγκαθιστώντας την στην εφαρμογή σας στο Visual Studio. Αυτό θα φέρει τυχόν εξαρτήσεις και θα δημιουργήσει ένα πλαίσιο που μπορείτε να χρησιμοποιήσετε για να ξεκινήσετε να δημιουργείτε μια εφαρμογή MVVM.

Κάτω από την κουκούλα: ένα σύστημα ειδοποιήσεων σε δράση

Στην ουσία, το MVVM είναι μια αρχιτεκτονική βασισμένη σε μηνύματα που παρακολουθεί γεγονότα τόσο από το μοντέλο όσο και από την προβολή, στέλνοντας ασύγχρονες ειδοποιήσεις μεταξύ των δύο χρησιμοποιώντας το viewmodel. Θα πρέπει να εξοικειωθείτε με τις βασικές βασικές τάξεις που ελέγχουν τον τρόπο με τον οποίο το μοντέλο προβολής ανταποκρίνεται σε τροποποιημένες ιδιότητες στο υποκείμενο μοντέλο. Όταν ένα παρατηρήσιμο αντικείμενο στο μοντέλο αλλάζει κατάσταση, το μοντέλο προβολής προβάλλει μια κατάλληλη ειδοποίηση και το χρησιμοποιεί για να παραδώσει ένα μήνυμα συμβάντος σε μια σύνδεση με ένα στοιχείο ελέγχου διεπαφής χρήστη στην προβολή.

Το κλειδί για τη λειτουργία της εργαλειοθήκης MVVM και ο λόγος για τις σημαντικές βελτιώσεις της απόδοσης σε σχέση με άλλες υλοποιήσεις .NET MVVM, είναι το Messenger Class. Με αυτόν τον τρόπο συνδέετε τα διάφορα στοιχεία μιας εφαρμογής MVVM, εφαρμόζοντας και καταχωρίζοντας τους χειριστές μηνυμάτων. Μπορείτε να το θεωρήσετε ως απλοποιημένο σύστημα δημοσίευσης και εγγραφής, προσφέροντας μόνο υπηρεσίες στο μοντέλο και την προβολή. Οι παραλήπτες και οι αποστολείς πρέπει να εγγραφούν και να μην εγγραφούν εάν δεν χρειάζονται πλέον. Για παράδειγμα, εάν χρησιμοποιείτε το MVVM Toolkit για να ενεργοποιήσετε μια εφαρμογή συνομιλίας και ένας συγκεκριμένος χρήστης αποσυνδεθεί, πρέπει να τις καταργήσετε από την εφαρμογή για να αποφύγετε διαρροές μνήμης.

Σχεδιασμός για MVVM

Έχοντας ένα μοντέλο δημοσίευσης και εγγραφής στην καρδιά της προβολής του μοντέλου έχει πολύ νόημα. Σας επιτρέπει να διασφαλίσετε ότι όλες οι συνδέσεις ελέγχου σας συσχετίζονται με σημεία λήξης μηνυμάτων, δίνοντάς σας έναν τρόπο να δημιουργήσετε μέσω προγραμματισμού τις απαραίτητες αντιστοιχίσεις για τη σύνδεση της προβολής και του μοντέλου με τρόπο που πρέπει να κυμαίνεται μεταξύ πολλαπλών προβολών και πολλαπλών μοντέλων.

Ο διαχωρισμός της προβολής και του μοντέλου με αυτόν τον τρόπο απλοποιεί τη συνολική δομή της εφαρμογής σας, ειδικά όταν θεωρείτε ότι πηγαίνετε μεταξύ ενός μοντέλου δηλωτικού προγραμματισμού στην προβολή XAML και μιας αντικειμενοστραφής προσέγγισης στο μοντέλο σας. Η χρήση ενός μοντέλου προβολής που βασίζεται σε μηνύματα ως στρώμα μετάφρασης μεταξύ αυτών των δύο πολύ διαφορετικών τρόπων προγραμματισμού μειώνει τον κίνδυνο και περιορίζει στο ελάχιστο τον απαιτούμενο αριθμό κώδικα πίσω από τις προβολές σας. Πριν γράψετε οποιονδήποτε κωδικό, βεβαιωθείτε ότι ο σχεδιασμός της εφαρμογής σας περιλαμβάνει αυτές τις αντιστοιχίσεις και τις δεσμεύσεις λεπτομερώς, μαζί με τα μηνύματα που μεταφέρουν, καθώς αυτά είναι τα εσωτερικά σας API για όλη την ενσωμάτωσή σας μεταξύ διεπαφής και οπίσθιου άκρου.

Η εργασία της κοινότητας .NET στο Windows Community Toolkit είναι σημαντική για το μέλλον της πλατφόρμας. Με σημαντικές αλλαγές σε εξέλιξη (η μετάβαση στο .NET 5, ο διαχωρισμός SDK και Windows στο Project Reunion και το μοντέλο διεπαφής διεπαφής πλατφόρμας στο MAUI) με ένα σύνολο στοιχείων ελέγχου και λειτουργιών γίνεται όλο και πιο σημαντικό. Μπορείτε να διαλέξετε και να επιλέξετε τα στοιχεία που θέλετε να ενισχύσετε μόνοι σας .NET ταξίδι. Το MVVM Toolkit μπορεί να είναι ένα από τα νεότερα μέρη του κιτ, αλλά είναι πιθανό να γίνει ένα από τα πιο σημαντικά.

$config[zx-auto] not found$config[zx-overlay] not found