Μετάβαση στο περιεχόμενο

Nodejs

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Αυτή είναι μια παλιά έκδοση της σελίδας, όπως διαμορφώθηκε από τον Theofilos93 (συζήτηση | συνεισφορές) στις 12:49, 20 Νοεμβρίου 2013 . Η τρέχουσα διεύθυνση (URL) είναι μόνιμος σύνδεσμος προς αυτή την έκδοση, που μπορεί να διαφέρει σημαντικά από την τρέχουσα έκδοση.
Node.js
Node.js logo
Γενικά
ΔημιουργοίRyan Lienhart Dahl
Ημερ. Δημιουργίας27 Μαΐου 2009
ΕίδοςEvent-driven networking
Διανομή
Έκδοση24.4.1 (15 Ιουλίου 2025)[1]
ΛειτουργικάLinux, Microsoft Windows, BSD, macOS
Ανάπτυξη
Υπευθ. ανάπτυξηςΊδρυμα OpenJS, Ryan Dahl
Γραμμένο σεC++, JavaScript
ΚατάστασηΕνεργή
Άδεια χρήσηςMIT
Σύνδεσμοι
Επίσημος ιστότοπος
nodejs.org
Αποθετήριο κώδικα
https://github.com/nodejs/node

Το Node.js είναι μια πλατφόρμα ανάπτυξης λογισμικού (κυρίως διακομιστών) χτισμένη σε περιβάλλον Javascript. Στόχος του Node είναι να παρέχει ένα εύκολο τρόπο δημιουργίας κλιμακωτών διαδικτυακών εφαρμογών. Σε αντίθεση από τα περισσότερα σύγχρονα περιβάλλοντα ανάπτυξης εφαρμογών δικτύων μία διεργασία node δεν στηρίζεται στην πολυνηματικότητα αλλά σε ένα μοντέλο ασύγχρονης επικοινωνίας εισόδου/εξόδου.

Ιστορία

Το Node.js δημιουργήθηκε από τον Ryan Dahl το 2009. Η δημιουργία και η συντήρηση του έργου χορηγήθηκε από την εταιρία Joyent. H ιδέα για την ανάπτυξη του node προήλθε από την ανάγκη του Ryan Dahl να βρεί τον πιο αποδοτικό τρόπο να ενημερώνει τον χρήστη σε πραγματικό χρόνο για την κατάσταση ενός αρχείου που ανέβαζε στο διαδίκτυο. Επίσης επηρεάστηκε από το Mongrel του Zed Shaw. Επιπροσθέτως μετά από αποτυχημένα έργα σε C, Lua, Haskell η κυκλοφορία της μηχανής V8 (V8 JavaScript Engine) της Google τον ώθησε να ασχοληθεί με την Javascript.

Χαρακτηριστικά

Το Νode χαρακτηρίζεται από την έμφαση στην ασύγχρονη επικοινωνία μεταξύ των υπολογιστικών πόρων. Αυτό επιτυγχάνεται με την χρήση συμβάντων (events) που προσφέρει η Javascript και ονομάζονται callbacks. Για παράδειγμα όταν ένας περιηγητής ιστού φορτώσει πλήρως ένα αρχείο, ένας χρήστης πατάει κάποιο κουμπί, ολοκληρώνεται ένα αίτημα AJAX, τα συμβάντα αυτά πυροδοτούν ένα συγκεκριμένο callback. Αυτό με την σειρά του επιτρέπει την ροή του κώδικα χωρίς να αφήνει ανενεργό τον επεξεργαστή προκειμένου να εκτελεστεί μια λειτουργία, όπως μια επιτυχής ανάγνωση αρχείου από τον δίσκο.

Παραδείγματα

Ένα χαρακτηριστικό παράδειγμα node για ένα απλό HTTP εξυπηρετητή *TODO*

Πρόσθετα

Η κοινότητα έχει δημιουργήσει ένα ολόκληρο οικοσύστημα από βιβλιοθήκες που προορίζονται ή είναι συμβατές με το node. Ανάμεσά τους εργαλεία που ξεχώρισαν όπως το node-mysql, το Mongodb και το Express παίζουν σημαντικό ρόλο υποστηρίζοντας την ασύγχρονη διάδραση με τις παραδοσιακές και NoSQL μεθόδους βάσεων δεδομένων. Αυτό επιτυγχάνεται με την χρήση του node package manager το οποίο επιτρέπει την εγκατάσταση των παραπάνω βιβλιοθηκών. Χρησιμοποιείται συνήθως σε εφαρμογές Chat, Proxy, Http Server καθώς και για παρακολούθηση εφαρμογών και του συστήματος (monitoring).

Chat

Μια από τις πιο χαρακτηριστικές εφαρμογές του node.js είναι χρήση του σε υπηρεσίες chat. Αυτό συμβαίνει καθώς το node είναι ελαφρύ, δηλαδή μπορεί να διαχειρίζεται πολλά δεδομένα δίχως μεγάλη υπολογιστική ισχύ.

Proxy

Μπορεί πολύ εύκολα να χρησιμοποιηθεί σαν διαμεσολαβητής από την πλευρά του διακομιστή καθώς μπορεί να διαχειριστεί ένα μεγάλο αριθμό από ταυτόχρονες συνδέσεις χωρίς να διακόψει κάποια από αυτές. Είναι ιδιαίτερα χρήσιμο για τη διαμεσολάβηση υπηρεσιών με διαφορετικό χρόνο αποκρίσεων ή για τη συλλογή δεδομένων από πολλαπλές πηγές.

Παραπομπές

  1. «Release 24.4.1». 15 Ιουλίου 2025. Ανακτήθηκε στις 22 Ιουλίου 2025.