background image

κουμπί, ολοκληρώνεται ένα αίτημα AJAX (Asynchronous JavaScript and XML), και

τα γεγονότα αυτά καλούν ένα συγκεκριμένο callback, το οποίο με τη σειρά του

επιτρέπει την ροή του κώδικα χωρίς να αϕήνει ανενεργό τον επεξεργαστή προκει-

μένου να εκτελεστεί μια λειτουργία. Το Node.js αρχικά, γράϕτηκε από τον Ryan

Dahl το 2009 και η ανάπτυξη και συντήρηση του καθοδηγούνταν από τον Dahl και

χρηματοδοτήθηκε από τον Joyent. Η έκδοση που χρησιμοποιήθηκε στο εκάστοτε

έργο της διπλωματικής είναι η v.12.13.1 LTS. Στο σχήμα 2.4 παρουσιάζεται ένα

χαρακτηριστικό παράδειγμα Node για έναν HTTP εξυπηρετητή.

Σχήμα 2.4: Σύνταξη Node.js για έναν HTTP εξυπηρετητή.

2.2.2

NPM (Node Package Manager)

To NPM (Node Package Manager) [7] είναι ένας διαχειριστής πακέτων για τη

γλώσσα προγραμματισμού JavaScript. Είναι ο προεπιλεγμένος διαχειριστής πακέτων

για το περιβάλλον εκτέλεσης JavaScript Node.js (JavaScript runtime-environment).

Αποτελείται από έναν client γραμμής εντολών, που ονομάζεται επίσης NPM, και

μια ηλεκτρονική βάση δεδομένων τόσο δημόσιων όσο και ιδιωτικών (private paid-

for) πακέτων. Τα αρχεία είναι προσβάσιμα από τον client και τα διαθέσιμα πακέτα

μπορούν να αναζητηθούν μέσω της ιστοσελίδας του NPM, και υπεύθυνοι για αυτά

είναι η NPM, Inc. Το NPM είναι γραμμένο εξ ολοκλήρου σε JavaScript και αναπτύ-

χθηκε από τον Isaac Z. Schlueter με την έμπνευση από άλλα παρόμοια έργα όπως

το PEAR (PHP). Ειδικότερα, είναι ένα online αποθετήριο για τη δημοσίευση έργων

Node.js και ένα βοηθητικό πρόγραμμα γραμμής εντολών για αλληλεπίδραση με το

εν λόγω αποθετήριο που βοηθά στην εγκατάσταση πακέτων, στη διαχείριση των

εκδόσεων τους και στη διαχείριση εξάρτησης. Ένα πακέτο ουσιαστικά, είναι ένας

ϕάκελος που περιέχει ένα πρόγραμμα το οποίο περιγράϕεται από ένα αρχείο που

ονομάζεται “package.json”. Το σχήμα 2.5 δείχνει μια σύνοψη των εντολών χρήσης

30