Nodejs
![]() | |
Γενικά | |
---|---|
Δημιουργοί | 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 μεθόδους βάσεων δεδομένων.
Παραπομπές
- ↑ «Release 24.4.1». 15 Ιουλίου 2025. Ανακτήθηκε στις 22 Ιουλίου 2025.