NET Framework

To .NET Framework είναι μία βιβλιοθήκη για υπολογιστές με λειτουργικό σύστημα Windows. Δίνει τη δυνατότητα στους προγραμματιστές να χρησιμοποιήσουν διάφορες εξελιγμένες λειτουργίες και η εφαρμογή του να είναι συμβατή με όλα τα συστήματα που υποστηρίζουν και έχουν εγκατεστημένο το .NET Framework. Εδώ θα αναλύσουμε την αρχιτεκτονική του.

Η αρχιτεκτονική του .NET Framework χωρίζεται σε 4 τμήματα όπως φαίνεται στο παρακάτω πίνακα. Το Common Language Runtime (CLR), ένα σύνολο από βιβλιοθήκες, ένα σύνολο από γλώσσες προγραμματισμού και από την ASP.NET.

Common Language Runtime (CLR)

Βιβλιοθήκες (Class Libraries)

Γλώσσες προγραμματισμού (C#,VC++,VB.NET,Jscript.NET)

ASP.NET

Το .NET Framework σχεδιάστηκε ώστε να ικανοποιεί τρεις στόχους. Αρχικά έπρεπε να κάνει τις εφαρμογές των Windows πιο αξιόπιστες, βελτιώνοντας το βαθμό της ασφάλειάς τους. Δεύτερο, προοριζόταν για την απλούστευση της ανάπτυξης Web εφαρμογών και υπηρεσιών (Web services), οι οποίες θα έτρεχαν και σε φορητές συσκευές. Τρίτο, το Framework σχεδιάστηκε για να παρέχει ένα σύνολο βιβλιοθηκών που μπορούσαν να λειτουργήσουν με πολλές γλώσσες.

Common Language Runtime

Οι γλώσσες προγραμματισμού συνήθως αποτελούνται από έναν compiler και ένα runtime περιβάλλον. Ο compiler μεταφράζει τον κώδικα σε εκτελέσιμο αρχείο που μπορεί να εκτελεστεί από τους χρήστες. Το runtime περιβάλλον παρέχει ένα σύνολο υπηρεσιών του λειτουργικού συστήματος, στον εκτελέσιμο κώδικα. Οι υπηρεσίες αυτές είναι ενσωματωμένες σε ένα επίπεδο runtime (Runtime Layer) που επιτρέπει στον κώδικα να μην ασχολείται με λεπτομέρειες χαμηλού επιπέδου του λειτουργικού συστήματος. Τέτοιες λειτουργίες μπορεί να είναι η διαχείριση μνήμης, εγγραφή και ανάγνωση αρχείων κλπ.

Πριν το .NET Framework, κάθε γλώσσα είχε και το δικό της runtime περιβάλλον. Η Visual Basic ερχόταν με το MSVBVM60.DLL, ενώ η Visual C++ με το MSVCRT.DLL. Το περιβάλλον ενσωματωνόταν με τον εκτελέσιμο κώδικα και έπρεπε να εγκατασταθεί στο μηχάνημα του χρήστη.

Το βασικό πρόβλημα με τα περιβάλλοντα αυτά, βρίσκεται στο ότι ήταν σχεδιασμένα για χρήση με μόνο μία γλώσσα. Δεν μπορούσαν να χρησιμοποιηθούν λειτουργίες από το περιβάλλον μιας γλώσσας, σε μία άλλη. Έτσι, ένας από τους βασικούς στόχους του .NET Framework ήταν να ενοποιήσει τα runtime περιβάλλοντα ώστε οι προγραμματιστές να μπορούν να χρησιμοποιούν μόνο ένα περιβάλλον. Έτσι η λύση που δόθηκε ήταν η Common Language Runtime (CLR). Το CLR παρέχει δυνατότητες όπως διαχείριση μνήμης, ασφάλεια, διαχείριση λαθών κλπ, και όλα αυτά για κάθε γλώσσα που δουλεύει με το .NET Framework.

Το CLR επίσης επιτρέπει στις γλώσσες να συνεργάζονται μεταξύ τους. Μπορεί για παράδειγμα να δεσμευτεί ένα κομμάτι μνήμης με κώδικα γραμμένο στην Visual Basic .NET και το ίδιο κομμάτι να ελευθερωθεί με κώδικα γραμμένο σε άλλη γλώσσα όπως η C#.

.NET Class Libraries

Οι προγραμματιστές αρέσκονται στο να δουλεύουν με κώδικα που ήδη έχει δοκιμαστεί και φαίνεται να λειτουργεί, όπως για παράδειγμα το Win32 API και οι βιβλιοθήκες MFC. Η επαναχρησιμοποίηση κώδικα ήταν στόχος της προγραμματιστικής κοινότητας, από πολύ παλιά. Πολλές γλώσσες είχαν πρόσβαση σε κομμάτια κώδικα δοκιμασμένα, έτοιμα για εκτέλεση. Οι προγραμματιστές που χρησιμοποιούσαν την Visual C++ είχαν επωφεληθεί από βιβλιοθήκες όπως η Microsoft Foundation Classes (MFC) που τους επέτρεπαν να δημιουργήσουν εφαρμογές Windows εύκολα και γρήγορα. Ωστόσο, το ότι οι βιβλιοθήκες αυτές ήταν προορισμένες για μία μόνο γλώσσα σήμαινε ότι δεν μπορούσαν να χρησιμοποιηθούν με καμία άλλη γλώσσα.

Το .NET Framework παρέχει πολλές κλάσεις για να βοηθήσει τους προγραμματιστές στην επαναχρησιμοποίηση κώδικα. Οι βιβλιοθήκες .NET Class Libraries περιέχουν κώδικα για προγραμματιστικά θέματα όπως νήματα, εγγραφή/ανάγνωση αρχείων, υποστήριξη βάσεων δεδομένων, μετατροπή σε XML, δομές δεδομένων όπως στοίβες και ουρές κλπ. Το καλύτερο σημείο βέβαια είναι το ότι η βιβλιοθήκη είναι διαθέσιμη σε κάθε γλώσσα που λειτουργεί με το .NET Framework.

.ΝΕΤ Γλώσσες προγραμματισμού

Το .NET Framework παρέχει ένα σύνολο εργαλείων για να βοηθήσει στην κατασκευή κώδικα που λειτουργεί με αυτό. Η Microsoft παρέχει ένα σύνολο γλωσσών που είναι ήδη συμβατές με το .NET. Η C# είναι μία από αυτές. Επίσης δημιουργήθηκαν νέες εκδόσεις της Visual Basic και της Visual C++ όπως και μία νέα έκδοση της Jscript.NET. Ένα πολύ σημαντικό στοιχείο είναι ότι οι συμβατές γλώσσες με το .NET δεν είναι αποκλειστικά της Microsoft, αφού η εταιρία έχει δημοσιεύσει πλήρης τεκμηρίωση που δείχνει το πώς οι κατασκευαστές γλωσσών μπορούν να κάνουν τις γλώσσες τους συμβατές με το .NET, και διάφοροι κατασκευαστές το επιχείρησαν όπως η COBOL και η Perl. Υπάρχουν αυτή τη στιγμή πάνω από 20 γλώσσες τρίτων κατασκευαστών που μπορούν και λειτουργούν στο περιβάλλον .NET Framework.

2.5.4. ASP.NET

Το Internet αρχικών δημιουργήθηκε για την παροχή στατικού περιεχομένου στους Web browsers. Το Active Server Pages (ASP) δημιουργήθηκε από τη Microsoft για να προσθέσει δυναμικές ιδιότητες στις web σελίδες. Αυτό το πέτυχε με προγραμματισμό πίσω από την web σελίδα, κυρίως σε VB Script. Όταν οι χρήστες επισκέπτονταν ένα site τους ζητιόταν να επιβεβαιώσουν κάποιες πληροφορίες (είτε manual είτε με χρήση cookies) και στη συνέχεια ένα script δημιουργούσε τη σελίδα ανάλογα με τα στοιχεία που εισήγαγε ο χρήστης.

Η ASP.NET βελτιώνει κατά πολύ την αρχική ASP. Με την ASP το HTML και το script βρίσκονταν στο ίδιο έγγραφο. Με την ASP.NET το script και το HTML βρίσκονται σε διαφορετικά έγγραφα.

Η ASP.NET υποστηρίζει το Web Forms. Το Web Forms επιτρέπει στον προγραμματιστή να σύρει και να αφήσει (drag and drop) controls των φορμών, και να δημιουργηθεί αυτόματα ο κώδικας από πίσω, όπως ακριβώς σε μία τυπική εφαρμογή Windows.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου