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

Μελλοντική ανάπτυξη εφαρμογών .NET με την πλατφόρμα Uno

Αν αφιερώσετε χρόνο να ακούσετε και να μιλήσετε με προγραμματιστές των Windows, θα γνωρίζετε ότι υπάρχει μεγάλη σύγχυση και απογοήτευση για την κατεύθυνση της πλατφόρμας, ειδικά γύρω από το .NET και το UWP (Universal Windows Platform). Η Microsoft προσπαθεί να σχεδιάσει μια γραμμή κάτω από τις διαφορές μεταξύ των UWP και των παλαιότερων SDK των Windows, ενώ προσπαθεί να φέρει όλους στο μέλλον .NET 5 με την ανακοίνωση Build 2020 για το Project Reunion, αλλά θα συνεχίσει να χρειάζεται χρόνος για να παραδοθεί μια ενοποιημένη πλατφόρμα.

Πολλά από αυτά οφείλονται στον τρόπο με τον οποίο έχουν παραδοθεί στο παρελθόν οι ενημερώσεις πλατφόρμας των Windows: σε συνδυασμό με εκδόσεις λειτουργικού συστήματος Το Project Reunion βασίζεται στην εργασία με τα στοιχεία διεπαφής χρήστη WinUI, αποσυνδέοντας τα από τα υποκείμενα λειτουργικά συστήματα και επιτρέποντας στην πλατφόρμα προγραμματιστή να εξελιχθεί πολύ πιο γρήγορα από ό, τι πριν.

Η ανάπτυξη μιας ανοιχτής πηγής προσέγγισης στην πλατφόρμα δίνει περισσότερες ευκαιρίες να φέρει το μοντέλο ανάπτυξης .NET (και τον κωδικό σας) σε όσο το δυνατόν περισσότερες πλατφόρμες. Ένα παράδειγμα για το πώς θα λειτουργήσει αυτό είναι η εφαρμογή WinUI της Uno Platform, η οποία κυκλοφόρησε πρόσφατα την τρίτη σημαντική κυκλοφορία της.

Παρουσιάζοντας το Uno Platform 3.0

Αν δεν έχετε δει την πλατφόρμα Uno στο παρελθόν, ίσως είναι πιο εύκολο να το σκεφτείτε ως εναλλακτική λύση για το Xamarin που σας επιτρέπει να δημιουργήσετε κώδικα .NET που εκτελείται σε iOS, Android, macOS και στον Ιστό. Έχω γράψει για το Uno στο παρελθόν ως έναν τρόπο παράδοσης οικείων διεπαφών χρήστη μέσω του Διαδικτύου χρησιμοποιώντας το WinUI με το WebAssembly και το πλαίσιο ανάπτυξης της Microsoft Blazor.

Το Uno Platform 3.0 αναπτύσσεται για να υποστηρίζει το WinUI 3.0 παράλληλα με το WinUI 2.0. Με αυτόν τον τρόπο μπορείτε να συνδυάσετε και να συνδυάσετε νέα και τρέχοντα στοιχεία ελέγχου, μια προσέγγιση που θα πρέπει να λειτουργεί καλά παράλληλα με τη σταδιακή διάθεση τόσο του WinUI 3.0 όσο και του API Reunion Project σε επίπεδο συστήματος.

Υπάρχουν πολλά που θα σας αρέσουν στο Uno, ειδικά ότι υπάρχει ελάχιστη ή καθόλου καμπύλη μάθησης. Ο κώδικας μπορεί να δημιουργηθεί στο αγαπημένο σας IDE και να χρησιμοποιεί υπάρχοντα εργαλεία και πλαίσια, παρέχοντας ένα κοινό επίπεδο διεπαφής χρήστη για όλες τις εκδόσεις κώδικα. Πρέπει να γράψετε μόνο τα C # και XAML μία φορά, με τον κώδικα WinUI να εκτελείται απευθείας στα Windows και μέσω του Uno σε άλλες πλατφόρμες, δημιουργώντας πάνω από τα εγγενή εργαλεία του Xamarin για iOS, macOS και Android και χρησιμοποιώντας την εφαρμογή Mono-WASM στο Ιστός.

Χρήση του Uno για μεταφορά εφαρμογών .NET σε macOS

Στο κάτω μέρος, η εφαρμογή macOS της Uno βασίζεται στις ομοιότητες μεταξύ του AppKit και του UIKit του iOS. Αυτό επιτρέπει στην ομάδα ανάπτυξης να δημοσιεύσει τις υπάρχουσες εφαρμογές ελέγχου iOS. Αν και αυτό λειτουργεί, ορισμένα στοιχεία ελέγχου εξακολουθούν να έχουν προβλήματα, οπότε αξίζει να πειραματιστείτε προτού αναπτύξετε οποιονδήποτε κώδικα στους χρήστες σας. Ωστόσο, είναι ένας αποτελεσματικός τρόπος για να μεταφέρετε υπάρχουσες εφαρμογές .NET από τα Windows σε macOS. Με την ανάπτυξη βασικών βιβλιοθηκών macOS, η Uno ελπίζουμε ότι θα επιτρέψει στον κώδικά σας να τρέχει στο Apple Silicon που βασίζεται πρόσφατα σε ARM.

Η υποστήριξη Mac στο Uno είναι σχετικά νέα, ξεκινά τον Μάιο του 2020, με εκ νέου εφαρμογή της εφαρμογής Windows Calculator σε macOS και δημοσιεύεται μέσω του macOS store της Apple. Η δημιουργία μιας έκδοσης macOS του υπάρχοντος κώδικα απαιτεί τη χρήση ενός συνόλου νέων προτύπων Uno και του εργαλείου γραμμής εντολών των Windows .NET. Αφού εγκαταστήσετε τα νέα πρότυπα είτε για Uno 2.3 είτε για 3.0, μπορείτε να δημιουργήσετε ένα ικρίωμα εφαρμογών για μια εφαρμογή macOS με το ίδιο όνομα με το έργο που θέλετε να στοχεύσετε.

Στη συνέχεια, μπορείτε να μετακινήσετε αυτό το έργο στον ίδιο φάκελο με τα υπόλοιπα αρχεία της εφαρμογής σας και να προσθέσετε το νέο έργο σε μια υπάρχουσα λύση του Visual Studio. Συντάξτε τον κωδικό σας για macOS, χρησιμοποιώντας το Visual Studio για Mac και διαμορφώστε τις ρυθμίσεις του προσομοιωτή iPhone για να στοχεύσετε τη συσκευή σας macOS ανάπτυξης.

Καθώς δεν μπορείτε να χρησιμοποιήσετε το Visual Studio για Mac για να εργαστείτε σε εφαρμογές Windows WinUI, είναι καλή ιδέα να χρησιμοποιήσετε το Git ή μια παρόμοια πλατφόρμα ελέγχου πηγαίου κώδικα για την πλήρη λύση σας, ώστε να μπορείτε να διαχειριστείτε αλλαγές κώδικα για macOS και για Windows. Εάν εργάζεστε σε μια έκδοση WebAss Assembly της εφαρμογής σας, χρησιμοποιήστε το Visual Studio Code για να το δημιουργήσετε με τις επεκτάσεις εντοπισμού σφαλμάτων C # και JavaScript. Η υποστήριξη MacOS διατίθεται και στα Uno 2.4 και 3.0, με την τελευταία έκδοση να δείχνει μια εφαρμογή αναπαραγωγής βίντεο πολλαπλών πλατφορμών βασισμένη σε WinUI που είναι διαθέσιμη σε όλα τα κύρια καταστήματα εφαρμογών.

Χρησιμοποιώντας το WinUI 3.0 στο Uno

Εάν σκοπεύετε να εργαστείτε με το WinUI 3.0, πρέπει να χρησιμοποιήσετε την πρόσφατη έκδοση του Uno 3.0. Και πάλι, χρησιμοποιήστε τα πρότυπα .NET της Uno Platform για να ρυθμίσετε τις σκαλωσιές για τον κώδικά σας. Εάν μεταφέρετε τον υπάρχοντα κώδικα στο WinUI 3.0, πρέπει να αλλάξετε το χώρο ονομάτων που χρησιμοποιείτε, τόσο για τα στοιχεία ελέγχου της Microsoft όσο και για τον κωδικό Uno — κάτι που είναι αρκετά εύκολο να κάνετε χρησιμοποιώντας τα εργαλεία αναδιαμόρφωσης ενσωματωμένα στο Visual Studio.

Μια ενδιαφέρουσα πτυχή της πλατφόρμας Uno είναι η υποστήριξη για συσκευές διπλής οθόνης. Λαμβάνοντας τον υπάρχοντα κώδικα στο Uno και προσθέτοντας τα στοιχεία ελέγχου διπλής οθόνης, θα πρέπει να μπορείτε να μεταφέρετε εφαρμογές από τα Windows στο επερχόμενο Surface Duo που βασίζεται στο Android με ελάχιστες αλλαγές. Με τη Microsoft να δίνει προτεραιότητα σε εφαρμογές για κινητές συσκευές διπλής οθόνης και να συνεργάζεται με την Google για τη βελτίωση της υποστήριξης σε επερχόμενες εκδόσεις Android, εργαλεία όπως το Uno θα είναι μια σημαντική διαδρομή για τη λήψη των υπαρχόντων εμπειριών σε μεγάλες οθόνες και tablet από τα Windows και τη μεταφορά τους σε υλικό Android διπλής οθόνης .

Uno Platform και το μέλλον της ανάπτυξης εφαρμογών .NET

Είναι σαφές ότι η Microsoft στοχεύει να εξαλείψει τη σύγχυση σχετικά με τον τρόπο δημιουργίας εφαρμογών στο .NET οικοσύστημα, χρησιμοποιώντας το WinUI και το Project Reunion για να παρέχει πολύ απαραίτητη σαφήνεια για το μέλλον. Όμως, όσο γρήγορα υπόσχεται η Microsoft ότι θα παραδοθούν, εξακολουθούν να είναι πολύ αργά για πολλούς προγραμματιστές. Τόσο η πλατφόρμα Uno όσο και το MAUI του Xamarin είναι τρόποι για να αποκτήσετε πρόσβαση σε αυτές τις τεχνολογίες πιο γρήγορα, πέρα ​​από τον υπάρχοντα κωδικό .NET.

Προσθέτοντας υποστήριξη macOS και Web UI στο .NET, η πλατφόρμα Uno φαίνεται να είναι μια καλύτερη επιλογή για τη στόχευση όσο το δυνατόν περισσότερων χρηστών με τη λιγότερη αλλαγή κώδικα. Είναι ένας δρόμος προς το μέλλον .NET που θα εξοικονομήσει πολύ χρόνο ανάπτυξης και θα περιορίσει το φορτίο υποστήριξης στο ελάχιστο.

Η χρήση του Uno πρέπει να αποδεικνύει μελλοντικά τον υπάρχοντα κωδικό .NET και με άλλους τρόπους. Οι εφαρμογές WebAssembly και αυτόνομες εφαρμογές WASI (WebAssembly System Interface) στο πρόγραμμα περιήγησης θα πρέπει να απλοποιήσουν τη διαδικασία μεταφοράς του κωδικού σας σε μια νέα γενιά υλικού αιχμής, ειδικά συσκευές μικρής μορφής και συσκευές μικρής οθόνης που βασίζονται σε ARM και άλλους επεξεργαστές χαμηλής ισχύος.