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

Κατανόηση. NET MAUI και το μέλλον του Xamarin

Το 2000, το Επαγγελματικό Συνέδριο Προγραμματιστών της Microsoft αφορούσε τον καθορισμό της σκηνής για το .NET, παρουσιάζοντας πολλές από τις τεχνολογίες που χρησιμοποιήσαμε τις τελευταίες δύο δεκαετίες. Είκοσι χρόνια μετά, είναι δίκαιο να πούμε ότι η Microsoft έχει πατήσει ένα κουμπί επαναφοράς στην επέκταση του .NET και των πολλών πλαισίων προγραμματιστών. Στο Build 2020, η εταιρεία παρουσίασε τον χάρτη πορείας της για τα επόμενα είκοσι χρόνια, βασιζόμενη στην ανακοίνωση του Project Reunion.

Το μέλλον είναι ένα .NET

Είναι πιθανό να κοιτάξουμε πίσω έξι χρόνια περίπου για να δούμε τις ρίζες του σήμερα στην ανοικτή προμήθεια του .NET και τη δημιουργία του .NET Foundation. Η πλατφόρμα χρειαζόταν ένα ανεξάρτητο σώμα για να το καλύψει μέσω της μετάβασης από το παλιό .NET Framework σε ένα νέο, χωρίς κληρονομιά, αρθρωτό .NET Core. Αυτή η μετάβαση έπρεπε να περιλαμβάνει περισσότερα από τα Windows. έπρεπε να φέρει μαζί τους πελάτες για κινητά της Xamarin και τις πλατφόρμες τρισδιάστατων παιχνιδιών της Unity, καθώς και να επεκτείνει την εμβέλεια του .NET σε macOS και σε Linux.

Αυτό μας φέρνει στο 2020 και την επερχόμενη μετάβαση από τη γήρανση .NET Framework 4 σε ένα νέο .NET 5, την επόμενη μεγάλη έκδοση του .NET Core με τα περισσότερα από τα γνωστά API .NET Framework και χώρους ονομάτων. Αυτός ο μετασχηματισμός θα ξεκινήσει μεγάλες αλλαγές για τα εργαλεία ανάπτυξης της Xamarin για κινητά και πολλαπλές πλατφόρμες της Microsoft, καθώς η Microsoft μετατοπίζει τις τεχνικές προσπάθειες από το Xamarin's Mono σε .NET 5.

Συγκέντρωση Mono και .NET στο .NET 6

Ένα πράγμα είναι ξεκάθαρο: Η Microsoft δεν πετάει τόσο τις επενδύσεις της όσο και τις επενδύσεις σας στο Xamarin. Ο Μόνο δεν θα πάει πουθενά ακόμα. Πολλά μεγάλα έργα εξαρτώνται από το Mono και θα δούμε ότι ο Xamarin συνεχίζει να εξελίσσεται για να υποστηρίζει νέες εκδόσεις Android και iOS. Αλλά αν θέλετε νέες δυνατότητες και νέα API και ένα ευρύτερο μοντέλο ανάπτυξης πολλαπλών πλατφορμών, τότε η μελλοντική σας στρατηγική ανάπτυξης θα βασίζεται στο .NET 5 και στο τρέχον ετήσιο πρόγραμμα κυκλοφορίας .NET. Ένα πλήρες, ενοποιημένο .NET είναι ακόμη πολύ μακριά, και παρόλο που το .NET 5 θα είναι ένα σημαντικό βήμα προς τα εμπρός, δεν θα δούμε ενοποίηση μέχρι τα τέλη του 2021 και την προγραμματισμένη κυκλοφορία της επόμενης μακροπρόθεσμης έκδοσης υποστήριξης, .NET 6.

Η πρόθεση δεν είναι να αντικαταστήσετε εντελώς το Mono, αλλά να έχετε ένα κοινό σύνολο βιβλιοθηκών τάξης και μία μεμονωμένη αλυσίδα εργαλείων για το .NET Core και για το Mono, με βάση την εργασία που ήδη συμβαίνει σε λειτουργίες επιπέδου πλατφόρμας όπως το. βιβλιοθήκες. Αυτό αφήνει μια ενδιαφέρουσα ερώτηση: Πώς μοιάζει η διεπαφή χρήστη μεταξύ πλατφορμών στο συγκλόνιο μέλλον; Παρόλο που υπάρχει μια επιλογή πολλαπλής πλατφόρμας στη θύρα WinUI 3 της πλατφόρμας Uno, με υποστήριξη φορητών συσκευών μαζί με το WebAssembly και macOS, τα στοιχεία ελέγχου που αποστέλλει η Microsoft στο WinUI είναι στοιχεία ελέγχου επιφάνειας εργασίας των Windows και λειτουργούν καλύτερα σε εφαρμογές επιτραπέζιων υπολογιστών και tablet.

Εξέλιξη πλαισίου διεπαφής διεπαφής για το .NET

Το Xamarin προσφέρει μια εναλλακτική λύση στο WinUI για ανάπτυξη πολλαπλών πλατφορμών. Η στρατηγική μεταξύ πλατφορμών βασίζεται σε ένα συνδυασμό υποστήριξης XAML για εγγενή στοιχεία ελέγχου τόσο για iOS όσο και για Android, παράλληλα με τις δικές της φόρμες Xamarin μεταξύ πλατφορμών. Το Xamarin Forms είναι μια πλατφόρμα ανάπτυξης MVVM (model-view-viewmodel) από μόνη της, με τη δική της εμφάνιση και αίσθηση ελέγχου με βάση τη γλώσσα σχεδιασμού υλικών του Android. Οι φόρμες Xamarin παρέχουν στις εφαρμογές iOS και Android μια συνεπή εμφάνιση και αίσθηση, ενώ παράλληλα τους παρέχουν πρόσβαση σε εγγενείς λειτουργίες και υπηρεσίες.

Με το .NET 6 που προορίζεται να ενοποιήσει τις διάφορες πλατφόρμες .NET, το Xamarin Forms είναι η λογική βάση για ένα νέο σύνολο εργαλείων UI για κινητά και ένα νέο πλαίσιο διεπαφής διεπαφής για το .NET. Η Microsoft αποκάλυψε αυτήν τη νέα προσέγγιση στο Build 2020, αποκαλώντας την. NET Multiplatform App UI (MAUI).

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

Το νέο μοντέλο έργου που συνοδεύει το .NET 6 είναι το κλειδί αυτής της προσέγγισης, καθώς εφαρμόζει μια πιο λογική ομαδοποίηση στις ενότητες που χρησιμοποιούνται σε εφαρμογές πολλαπλών πλατφορμών και στον τρόπο δημιουργίας και ανάπτυξης του κώδικα. Ωστόσο, παρά τις διαρθρωτικές αλλαγές στα έργα, ο κώδικας που γράφετε αύριο θα πρέπει να μοιάζει πολύ με τον σημερινό, αλλά είναι ευκολότερο να αναπτυχθεί σε πολλές πλατφόρμες και να ενημερώνεται συνεχώς με αλλαγές στα API πλατφόρμας και στους πόρους σχεδιασμού εφαρμογών.

Ο δρόμος προς το .NET MAUI

Απέχουμε ακόμα μήνες από το να βλέπουμε χρησιμοποιήσιμο κώδικα .NET MAUI, καθώς εξαρτάται από τις δυνατότητες του .NET 6 SDK, αν και ένα αποθετήριο GitHub είναι ήδη ανοιχτό με ορισμένες από τις αρχικές υλοποιήσεις. Όταν μια προεπισκόπηση αποσταλεί προς το τέλος του 2020, αυτό που θα λάβουμε θα πρέπει να είναι αρκετά παρόμοιο με τα υπάρχοντα έντυπα Xamarin, τα οποία θα συνεχίσουν να αναπτύσσονται παράλληλα με το .NET MAUI. Οι βασικές αλλαγές θα αφορούν τον τρόπο δομής των έργων, με έναν νέο χώρο ονομάτων να μετακινείται από το χώρο ονομάτων του Xamarin στο .NET's System.

Ο δημοσιευμένος χάρτης πορείας για το .NET MAUI υποδηλώνει ότι αρχικά θα λάβουμε μια έκδοση προεπισκόπησης με βάση μια μετονομασία της τρέχουσας έκδοσης Xamarin Forms, με κάποιες απλοποιήσεις και νέες λειτουργίες που προέρχονται από τις νέες δυνατότητες του .NET 6. Περισσότερες αλλαγές θα έρθουν κατά τη διάρκεια του 2021 ως .NET MAUI και .NET 6 εξελίσσονται, με τα χειριστήρια macOS και Windows να συνδέονται με Android και iOS έως το καλοκαίρι του 2021. Θα πρέπει να μπορείτε να παραδίδετε ενοποιημένες εφαρμογές έως την προβλεπόμενη κυκλοφορία του Νοεμβρίου 2021, με υποψήφιο για κυκλοφορία που θα κυκλοφορήσει στις Σεπτέμβριος 2021.

Η Microsoft σχεδιάζει άλλες αλλαγές στο Xamarin στο χρονικό πλαίσιο .NET 6, μετακινώντας άλλες βιβλιοθήκες Xamarin στο System και μετονομάζοντας Xamarin.iOS και Xamarin. Android σε .NET για iOS και .NET για Android. Είναι μια λογική κίνηση, αν είναι λίγο λυπηρό για όσους από εμάς παρακολουθήσαμε την ανάπτυξη του Xamarin από τις πρώτες μέρες του Mono.

Ίσως ένας πιο θετικός τρόπος σκέψης είναι ότι, με τη μετάβαση σε μια πλατφόρμα .NET Core ως το θεμέλιο όλων των πραγμάτων. NET, δεν απορροφά τόσο πολύ η Microsoft το Xamarin όσο το Xamarin γίνεται η καρδιά του μέλλοντος ανοιχτού κώδικα του .NET . Αυτή είναι μια καλή κληρονομιά για το έργο Mono.

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