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

Τι είναι το .NET Framework; Η απάντηση της Microsoft στην Java

Τι είναι το .NET Framework; Καθορισμένο .NET

 Το .NET είναι ένα πλαίσιο ανάπτυξης λογισμικού - και ένα συνοδευτικό οικοσύστημα εργαλείων, γλωσσών και χρόνων εκτέλεσης - που δημιουργήθηκε από τη Microsoft για να διευκολύνει την ανάπτυξη εφαρμογών σε διάφορες πλατφόρμες, από επιτραπέζιους υπολογιστές έως φορητές συσκευές. Αν και .NET (προφέρεται κουκκίδα, και μερικές φορές γράφτηκε ως .Net) συνδέθηκε αρχικά με το ιδιόκτητο λειτουργικό σύστημα και τις πλατφόρμες των Windows της Microsoft όταν κυκλοφόρησε στις αρχές της δεκαετίας του '90. Οι εφαρμογές .NET μπορούν πλέον να γραφτούν για τον ιστό, MacOS, iOS, Android, Linux και άλλα— και .NET είναι ένα επίσημο πρότυπο και επίσημα διαθέσιμο ως ανοιχτού κώδικα.

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

Κύρια στοιχεία του .NET Framework

Το .NET Framework υπάρχει εδώ και σχεδόν 20 χρόνια και έχει υποστεί πολλές αλλαγές, με τα στοιχεία να κυκλοφορούν και αργότερα να καταργούνται κατά τη διάρκεια αυτής της περιόδου. Προς το παρόν, υπάρχουν τρία κύρια επίπεδα στο .NET:

  • Η τυπική βιβλιοθήκη .NET περιλαμβάνει τα στοιχεία που θα σχηματίσουν την υποδομή για σχεδόν κάθε εφαρμογή που θα γράφατε - τάξεις και τύπους που βοηθούν στην εκτέλεση καθημερινών εργασιών όπως η αντιμετώπιση συμβολοσειρών και πρωτόγονων, η δημιουργία συνδέσεων βάσης δεδομένων, η εκτέλεση λειτουργιών εισόδου / εξόδου και ούτω καθεξής .
  • Προαιρετικός μοντέλα εφαρμογών περιέχει κώδικα υδραυλικών για τις διάφορες πλατφόρμες όπου μπορείτε να αναπτύξετε την εφαρμογή .NET. Υπάρχουν πολλά μοντέλα εφαρμογών για εφαρμογές Windows (μια κληρονομιά της στενής σχέσης του .NET με το συνεχώς εξελισσόμενο λειτουργικό σύστημα της Microsoft) και για άλλες πλατφόρμες επίσης: ASP.NET για εφαρμογές ιστού, για παράδειγμα, και μοντέλα για Mac και διάφορα κινητές πλατφόρμες.
  • ο κοινή υποδομή είναι το βασικό στρώμα των στοιχείων που επιτρέπουν σε ολόκληρο το οικοσύστημα να εκτελεί στην πράξη, από μεταγλωττιστές έως γλώσσες έως στοιχεία χρόνου εκτέλεσης. Αυτά είναι σημαντικά για να κατανοήσουμε τι έχει να προσφέρει το .NET, οπότε θα τα εξετάσουμε με περισσότερες λεπτομέρειες στις επόμενες ενότητες. 

Πώς λειτουργεί το .NET Framework

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

Ο κώδικας που γράφτηκε σε οποιαδήποτε από τις γλώσσες .NET (περισσότερος για τον οποίο σε μια στιγμή) μεταγλωττίζεται σε μια ενδιάμεση γλώσσα bytecode που ονομάζεται κοινή ενδιάμεση γλώσσα, ή CIL. Ο κωδικός CIL δεν είναι αναγνώσιμος από τον άνθρωπο, αλλά μπορεί να μεταφερθεί σε λειτουργικά συστήματα και πλατφόρμες. Στη συνέχεια, το CIL μεταγλωττίζεται ξανά από το Common Language Runtime, ή CLR. Οι εφαρμογές CLR είναι συγκεκριμένες για την πλατφόρμα και συνθέτουν τον κώδικα CIL σε αναγνώσιμο από υπολογιστή κώδικα που μπορεί να εκτελεστεί στην πλατφόρμα της στιγμής. Διαφορετικές εκδόσεις CLR υποστηρίζουν συλλογές just-in-time και front-of-time.

Κατά τη διαδικασία δημιουργίας τοπικού αναγνώσιμου από υπολογιστή κώδικα, το CLR διαχειρίζεται επίσης πολλές λειτουργίες εφαρμογών χαμηλού επιπέδου, όπως η συλλογή απορριμμάτων και το νήμα, που είναι ζωτικής σημασίας για την απόδοση της εφαρμογής, αλλά συχνά κουραστική για τους προγραμματιστές. Μαζί, το CIL και το CLR αποτελούν την υποδομή κοινής γλώσσας .NET (CLI, και ναι, γνωρίζουμε ότι όλες αυτές οι συντομογραφίες είναι παρόμοιες και προκαλούν σύγχυση).

Όλα αυτά πρέπει να ακούγονται οικεία σε οποιονδήποτε έχει εργαστεί με την πλατφόρμα Java, καθώς ακολουθεί το ίδιο βασικό παράδειγμα - οι μεγάλες διαθέσιμες βιβλιοθήκες τάξεων, ο ενδιάμεσος bytecode και ο συγκεκριμένος χρόνος εκτέλεσης για την πλατφόρμα που αυτοματοποιεί τη διαχείριση μνήμης είναι όλα τα χαρακτηριστικά και των δύο προσφορών. .NET αναπτύχθηκε στα τέλη της δεκαετίας του '90, κατά την αρχική ακμή της Java, και αρχικά τοποθετήθηκε ως ανταγωνιστής στην πλατφόρμα Java Enterprise Edition. η γλώσσα Java και η C #, η πρώτη και πιο εμφανής γλώσσα .NET, προέρχονται και οι δύο από το C και είναι σημασιολογικά παρόμοιες.

Ποιες είναι οι γλώσσες προγραμματισμού .NET;

Το C #, που ανακοινώθηκε με πολλούς φίλους μετά την έναρξη του .NET το 2000, είναι η πιο διάσημη και ευρέως χρησιμοποιούμενη γλώσσα προγραμματισμού .NET. Αναπτύχθηκε εσωτερικά από τη Microsoft ως μέρος της πρωτοβουλίας .NET και τα περισσότερα από τα μαθήματα της τυπικής βιβλιοθήκης .NET είναι γραμμένα σε C #. Η γλώσσα είναι αντικειμενοστραφής και έχει σχεδιαστεί ώστε να είναι αρκετά παρόμοια με το C ώστε να είναι εύκολο για τους προγραμματιστές C, C ++, Java και JavaScript να μάθουν και να χρησιμοποιήσουν γρήγορα.

Προς το παρόν, η Microsoft προβλέπει επίσης δύο άλλες γλώσσες προγραμματισμού που μπορούν να χρησιμοποιηθούν για τη σύνταξη του .NET Framework Το ένα είναι το F #, μια λειτουργική γλώσσα προγραμματισμού που ανήκει στην οικογένεια γλωσσών ML που τελικά έχει ρίζες στο LISP. Το άλλο είναι η Visual Basic, η αξιοπρεπής, εύχρηστη γλώσσα προγραμματισμού της Microsoft για την ανάπτυξη εφαρμογών διακομιστή-πελάτη. Αλλά αυτά είναι μόνο η κορυφή του παγόβουνου: Επειδή το .NET αποτελείται από ανοιχτά πρότυπα, ο καθένας μπορεί να γράψει μια γλώσσα που μεταγλωττίζεται στο CIL bytecode και μπορεί να εκτελεστεί από το CLR. Η Βικιπαίδεια διαθέτει μια λίστα με περισσότερα από 20 προγράμματα γλωσσών CLI που διατηρούνται επί του παρόντος. Σχεδόν όλες αντιπροσωπεύουν θύρες .NET από υπάρχουσες γλώσσες, από Pascal έως JavaScript έως και COBOL.

Το γεγονός ότι αυτή η ποικιλία γλωσσών μπορεί να συνυπάρχει στο .NET Framework είναι ένα από τα πλεονεκτήματα της πλατφόρμας. Επειδή ο κώδικας μεταγλωττίζεται σε CIL bytecode, το .NET δεν ενδιαφέρεται πραγματικά σε ποια γλώσσα γράφετε. Μπορείτε να επιλέξετε μια γλώσσα με βάση τις δικές σας προτιμήσεις, τα διαφορετικά πλεονεκτήματα και αδυναμίες κάθε γλώσσας ή τις διαφορετικές πτυχές του .NET Framework σε κάθε γλώσσα σας δίνει πρόσβαση (υπάρχουν μερικές παραλλαγές εδώ). Όπως σημειώθηκε, το μεγαλύτερο μέρος της τυπικής βιβλιοθήκης γράφτηκε στο C #, αλλά αυτό δεν σας εμποδίζει να αποκτήσετε πρόσβαση σε αυτές τις τάξεις από κώδικα γραμμένο σε άλλες γλώσσες CLI. Πράγματι, στοιχεία γραμμένα σε διαφορετικές γλώσσες CLI μπορούν ελεύθερα να λειτουργούν σε μια εφαρμογή .NET.

.NET Framework έναντι .NET Core (και πέραν αυτού) 

Θα παρατηρήσετε ότι χρησιμοποιούμε το ".NET Framework" σε αυτό το άρθρο για να αναφερθούμε στην πλατφόρμα γενικά. Ακριβώς, αυτό δεν είναι σωστό: Η Microsoft χρησιμοποιεί αυτήν τη φράση για να αναφέρει τη δική τους μακροχρόνια εφαρμογή του .NET Standard, το οποίο εστιάζει αποκλειστικά στα Windows. Υπήρξαν ιστορικά άλλες υλοποιήσεις του .NET; Ένα από τα πιο διάσημα είναι το Mono, μια εφαρμογή ανοιχτού κώδικα που κυκλοφόρησε για πρώτη φορά το 2004 και επέτρεψε την εκτέλεση εφαρμογών .NET σε Linux. (Η κυκλοφορία προκάλεσε κάποια διαμάχη, καθώς αυτή ήταν η εποχή που υπήρχε ακόμη αρκετό κακό αίμα μεταξύ της Microsoft και της κοινότητας ανοιχτού κώδικα.) Το Mono αποτελεί πλέον τη βάση της πλατφόρμας Xamarin, η οποία καθιστά δυνατή την κατασκευή .NET εφαρμογές για iOS, Android και MacOS καθώς και Linux. Ο Xamarin ξεκίνησε τη ζωή ως το πνευματικό τέκνο των ιδρυτών της Mono, αλλά η εταιρεία που ίδρυσαν για να υποστηρίξει το έργο τελικά αποκτήθηκε από τη Microsoft.

Η τρίτη σημαντική εφαρμογή .NET από τη Microsoft είναι το .NET Core, μια εφαρμογή πολλαπλών πλατφορμών του .NET Standard που κυκλοφόρησε ως ανοιχτού κώδικα το 2016. Το NET Core κατασκευάστηκε φρέσκο ​​από το μηδέν και αφαίρεσε μερικά από τα σκάφη που είχαν συσσωρευτεί στο .NET Framework, αν και δεν διέθετε επίσης το πλήρες φάσμα δυνατοτήτων. Έχοντας πολλές εκδόσεις του .NET Standard, όλες από τη Microsoft, είναι κατανοητό κάπως συγκεχυμένο. Το 2017, ο αρθρογράφος Simon Bisson αντιμετώπισε το ερώτημα ποια εφαρμογή πρέπει να χρησιμοποιηθεί σε ποια πλαίσια.

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

Τι .NET Framework έχω;

Ωστόσο, από αυτό το γράψιμο, αυτό είναι περισσότερο από ένα χρόνο μακριά. Η τρέχουσα τελευταία έκδοση .NET Framework είναι 4,8. η τρέχουσα έκδοση του .NET Core είναι 3.0. Η Microsoft διαθέτει μια σελίδα με οδηγίες για το πώς μπορείτε να μάθετε ποια έκδοση του .NET Framework είναι εγκατεστημένη αυτήν τη στιγμή στον υπολογιστή σας.

Σε τι χρησιμοποιείται το .NET; 

Όλα αυτά σας δίνουν πολλά τι και πως; αλλά αυτό που ίσως εξακολουθείτε να αναρωτιέστε είναι Γιατί. Γιατί να χρησιμοποιήσετε το .NET Framework; Το ιστολόγιο Altexsoft έχει μια καλή ανάλυση των πλεονεκτημάτων και των μειονεκτημάτων του .NET. Από τη θετική πλευρά, το .NET παρέχει ένα αντικειμενοστρεφή μοντέλο προγραμματισμού με ένα αξιόπιστο και απλό σύστημα προσωρινής αποθήκευσης και ένα ώριμο IDE και επιτρέπει ευέλικτη ανάπτυξη και εύκολη συντήρηση. Επιπλέον, η φύση της πλατφόρμας .NET επιτρέπει τη μεταφορά κώδικα σε πολλά διαφορετικά είδη τελικών σημείων. Το .NET είναι το πιο κατάλληλο εάν δημιουργείτε εφαρμογές πολλαπλών πλατφορμών σε υποδομές εταιρικής κλίμακας που θέλετε να μπορείτε να αναβαθμίσετε χωρίς να χρειάζεται να πραγματοποιήσετε εκ νέου έλεγχο.

Πραγματοποιήστε λήψη του .NET Framework

Είστε έτοιμοι να ξεκινήσετε τον πειραματισμό με το .NET; Πραγματοποιήστε λήψη του .NET Framework (για Windows) ή .NET Core (για Windows, Linux ή MacOS) από τον ιστότοπο της Microsoft. Διατίθενται επίσης εικόνες Docker. Μπορείτε να βρείτε το Xamarin για iOS και Android στο GitHub. Καλή εξερεύνηση!