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

.NET 5: Τι σημαίνει η συγχώνευση του .NET Framework και του .NET Core

Η στρατηγική .NET της Microsoft μπορεί να ήταν λίγο ασαφής πρόσφατα, με δύο ξεχωριστές πτυχές ανάπτυξης στο γνωστό .NET Framework και το νέο, ανοιχτού κώδικα .NET Core. Ένα κοινό σύνολο βιβλιοθηκών .NET Standard που αποσκοπούσε στην ένωση των δύο, δίνοντας στους προγραμματιστές έναν τρόπο να συνεργάζονται με οποιαδήποτε από τις διαφορετικές εκδόσεις .NET σε όλες τις πλατφόρμες προορισμού τους, από τα Windows έως τα κινητά στον Ιστό. Αλλά αυτό σήμαινε ακόμη ότι πρέπει να σκεφτούμε ποιος χρόνος εκτέλεσης .NET να χρησιμοποιήσετε: Core, Xamarin, Mono ή Framework;

Παρουσιάζουμε το .NET 5, το μέλλον του .NET

Στο Build 2019, η Microsoft παρουσίασε τα σχέδιά της για το μέλλον του .NET, ανακοινώνοντας ότι η επόμενη σημαντική κυκλοφορία μετά το .NET Core 3 θα ήταν μια μεμονωμένη έκδοση του .NET που θα ονομάζεται .NET 5. Με βάση την ταχεία ανάπτυξη του ανανεωμένου και του νέου .NET Πυρήνας, η Microsoft στοχεύει στην εκτέλεση πολλών υπαρχόντων .NET Framework 4.8 API και λειτουργιών στο .NET 5, μαζί με νέα API και υπηρεσίες. Δεν συγκλίνουν μόνο οι βιβλιοθήκες της βασικής τάξης. Η Microsoft εκμεταλλεύεται την ευκαιρία να φέρει μαζί τους διαφορετικούς μεταγλωττιστές .NET, εξελισσόμενοι τόσο τα JIT του .NET Core (just-in-time) όσο και τα μοντέλα σύνταξης της Mono.

Δεν είναι εκπληκτική απόφαση. Το .NET Framework δεν προχωρούσε τόσο γρήγορα όσο το .NET Core, σταθμίστηκε από τον παλαιό κώδικα. Αυτό, σε συνδυασμό με την αυξανόμενη εστίαση της Microsoft στην ανάπτυξη πολλαπλών πλατφορμών, εξασφάλισε ότι ήταν αναπόφευκτη μια αποφασιστική μετάβαση από το σχεδόν είκοσι ετών Πλαίσιο στο νεότερο Core. Η απόρριψη του πυρήνα από το όνομα είναι επίσης λογική. Με τα API που έχουν προστεθεί από την κυκλοφορία και την υποστήριξη για τις τυπικές βιβλιοθήκες .NET, το .NET Core δεν είναι πλέον ένας επαναληπτικός πυρήνας. Με το .NET 5 που σηματοδοτεί το τέλος της ανάπτυξης για το .NET Framework, είναι σαφώς καιρός για ένα νέο όνομα.

Ακόμα κι έτσι, δεν πρόκειται να αλλάξει εν μία νυκτί. Το .NET Core 3 είναι ακόμη προς αποστολή και δεν θα δούμε το .NET 5 μέχρι το φθινόπωρο του 2020. Μια προγραμματισμένη ημερομηνία αποστολής του Νοεμβρίου 2020 μας δίνει σχεδόν 18 μήνες για να ετοιμάσουμε τον κώδικα μας, με τις εκδόσεις προεπισκόπησης διαθέσιμες κάποια στιγμή στο πρώτο εξάμηνο του 2020.

Τι συμβαίνει στο .NET Framework;

Ένα πράγμα που η Microsoft καθιστά σαφές: .NET Core 3 θα είναι η τελευταία έκδοση στη θύρα .NET Framework API. Επομένως, δεν θα υπάρχουν επιπλέον API Framework στο .NET 5 και ορισμένες παλαιότερες τεχνολογίες όπως οι φόρμες Web και το Ίδρυμα Επικοινωνίας των Windows δεν θα είναι μέρος της νέας πλατφόρμας. Εάν θέλετε να πραγματοποιήσετε μετάβαση από το .NET Framework 4.8, τότε θα πρέπει να βρείτε εναλλακτικές, υποστηριζόμενες τεχνολογίες. Προς το παρόν η Microsoft συνιστά το Blazor να αντικαταστήσει τις φόρμες Web και το gRPC για να αντικαταστήσει το WCF. Είναι λογικές εναλλακτικές λύσεις, παρέχοντάς σας υποστήριξη πολλαπλών πλατφορμών που δεν θα ήταν διαθέσιμη μέσω παλαιότερων τεχνολογιών και με το Blazor να χρησιμοποιεί Web Assembly ή να προσφέρει στοιχεία ελέγχου διακομιστή στο ASP.NET, υποστηρίζουν τώρα πολύ νεότερες και υψηλότερες επιδόσεις τεχνολογίες.

Οι συμβουλές της Microsoft στους προγραμματιστές είναι να αρχίσουν να χρησιμοποιούν το .NET Core 3 για όλες τις νέες εφαρμογές, αλλά είναι σημαντικό να σημειωθεί ότι αυτό δεν είναι το τέλος των εφαρμογών σας .NET Framework. Η Microsoft δεσμεύεται να υποστηρίξει μακροπρόθεσμα το .NET Framework, οπότε αν έχετε κώδικα που εκτελείται στο .NET Framework 4.8 δεν θα χρειαστεί να ενημερωθεί έως ότου είστε έτοιμοι να κάνετε τη μετατόπιση. Σε τελική ανάλυση, αυτή τη στιγμή αποστέλλει βασικά εργαλεία προγραμματιστή, συμπεριλαμβανομένου του Visual Studio, που δημιουργήθηκε χρησιμοποιώντας το .NET Framework. Ακόμα και τότε, με συμβατότητα βασικής κλάσης μεταξύ πολλών από το νέο .NET και το παλιό χάρη στο .NET Standard, η μετεγκατάσταση δεν πρέπει να είναι επώδυνη και θα σας δώσει την ευκαιρία να εκτελέσετε αυτόν τον κώδικα σε πολλά άλλα μέρη.

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

Ένας χρόνος εκτέλεσης μεταξύ πλατφορμών για έναν κόσμο μεταξύ πλατφορμών

Με την ενοποίηση των .NET Core, .NET Standard και Xamarin σε μία πλατφόρμα, η Microsoft στοχεύει να καταλάβει το cross-platform high land. Ο κώδικάς σας (με κάποια εργασία διεπαφής χρήστη) θα μπορεί να εκτελείται σε Windows, Linux, iOS, Android και άλλα, με υποστήριξη για πολλές διαφορετικές κατηγορίες συσκευών. Προσθέτοντας την υποστήριξη .NET Core 3 για την επιφάνεια εργασίας των Windows, υπάρχει ένα ευρύ φάσμα εφαρμογών που μπορούν να ενσωματωθούν στο .NET 5, ειδικά αν επωφεληθείτε από τα χειριστήρια UWP που εκτελούνται οπουδήποτε, χάρη στην υποστήριξη τρίτων .NET εργαλεία από την Uno και οι υπολοιποι.

Καθώς οι υλοποιήσεις .NET υπερβαίνουν το .NET Core, θα εξακολουθεί να υπάρχει χώρος για τις τυπικές βιβλιοθήκες .NET. Οι κοινές βιβλιοθήκες διευκολύνουν τη στόχευση πολλαπλών εκδόσεων του .NET από τον ίδιο πηγαίο κώδικα και όλος ο κώδικας .NET 5 θα χρησιμοποιεί το .NET Standard, απλοποιώντας την προώθηση κώδικα από παλαιότερες εκδόσεις του .NET Core και από άλλες υλοποιήσεις .NET όπως Mono ή Xamarin.

Λήψη της επιχείρησης .NET σωστά

Μια πτυχή της ανακοίνωσης .NET 5 είναι ένα τακτικό πρόγραμμα κυκλοφορίας για το .NET. Η τοποθέτηση του .NET σε ετήσιο ρυθμό, με μια εξαμηνιαία έκδοση μακροπρόθεσμης υποστήριξης, θα ανακουφίσει την πρόσθετη πίεση στους προγραμματιστές, προσθέτοντας ένα επίπεδο προβλεψιμότητας που λείπει. Γνωρίζοντας ότι το .NET 6 θα ακολουθήσει το 2021, το οποίο θα ακολουθήσει το .NET 7 ένα χρόνο αργότερα, και με τέσσερα χρόνια υποστήριξης για τις μακροπρόθεσμες εκδόσεις υποστήριξης θα διευκολύνει τον προγραμματισμό νέων λειτουργιών και κύκλων ζωής εφαρμογών. Θα επιτρέψει στη Microsoft και το υπόλοιπο Ίδρυμα.NET να δημοσιεύουν σαφείς οδικούς χάρτες για το τι να περιμένουν και πότε να το περιμένουν.

Εκτός του οικοσυστήματος .NET, υπάρχει μια άλλη ευκαιρία εδώ για τη Microsoft και η εστίασή της στις συνδρομές εργαλείων προγραμματιστή. Με τους τροποποιημένους όρους αδειοδότησης της Oracle για την Java, ο χρόνος εκτέλεσης ανοιχτού κώδικα χωρίς δικαιώματα θα είναι ελκυστικός για πολλές υπάρχουσες ομάδες ανάπτυξης Java. Αυτή η προθεσμία 18 μηνών για την έναρξη του .NET 5 θα μπορούσε να θεωρηθεί ως χρόνος για να εκπαιδεύσετε τους προγραμματιστές σας σε νέες γλώσσες και εργαλεία και να σχεδιάσετε την επανεφαρμογή εφαρμογών στις μικροϋπηρεσίες του .NET.

Συνολικά, το αποτέλεσμα είναι ένας οδικός χάρτης .NET φιλικός προς τους προγραμματιστές. Η Microsoft και το Ίδρυμα .NET δεσμεύονται για τακτικές ενημερώσεις και για έναν ενιαίο χρόνο εκτέλεσης μεταξύ πλατφορμών, ενώ παράλληλα διασφαλίζουν ότι οι παλαιότερες εφαρμογές .NET Framework δεν εγκαταλείπονται. Η μακροπρόθεσμη υποστήριξη θα βοηθήσει τις ομάδες ανάπτυξης να σχεδιάσουν κύκλους ζωής της εφαρμογής, επιλέγοντας τι θα αναβαθμιστεί και πότε. Μπορείτε να ξεκινήσετε με τις τρέχουσες προεπισκοπήσεις του .NET Core 3, έτοιμοι για κυκλοφορίες 2020.