Node.js

Node.js היא סביבת פיתוח צד שרת מונחית אירועים שנכתבה ב-c++ ומבוססת על V8. היא תוכננה לכתיבת אפליקציות רשת סקילאביליות כגון שרתי HTTP[1].
Node.js כתובה ב-c++, אולם הקוד אינו מורץ בדפדפן של הגולש, אלא בצד השרת. הגרסה הראשונה של התוכנה פותחה בשנת 2009.
קהילת המפתחים של Node.js התפצלה בשלהי שנת 2014 בשל חילוקי דעות על עתיד המערכת עם חברת Joyent שתחזקה את התוכנה, כאשר המפתחים הפורשים הקימו את מערכת io.js[2] אך התמזגו חזרה במאי 2015.
סקירה
Node.js מאפשר למתכנת ליצור תוכנת צד שרת באמצעות שפת JavaScript. בנוסף מספקת מודלים (modules) שתפקידם לטפל ביישומי הליבה השונים, ניהול תקשורת עם המערכת קבצים לצורך קריאה כתיבה, ניהול תקשורת אינטרנטית (DNS, HTTP, TCP, SSL, UDP), תקשורת עם קבצים בינארים, הצפנה ועוד פונקציות ליבה אחרות.
Node.js נתמך על ידי Linux Mac OS Microsoft Windows SmartOS FreeBSD ABM AIX, קוד המקור של Node.js ניתן להתאמה לשימוש במערכות הפעלה שונות כמו Unix, ומותאמת לכל שפות תכנות השונות בעלות יכולת קומפילציה של JavaScript.
ייחודיותה הגדולה של Node.js הוא יכולתה לבצע פעולות א-סינכרוניות, בניגוד למערכות מבוססות PHP שעובדות בצורה סינכרונית. הפונקציות של Node.js משתמשות בcallbacks על מנת לבצע פעולות א-סינכרוניות. יכולת זו מקנה לה את האפשרות לטפל בריבוי משימות ובקשות שרת בו זמנית ובאופן מגבילי.
דוגמאות קוד
שרת HTTP המדפיס הודעת Hello World לגולשים בNode.js בפורט 8000:
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
דוגמה נוספת לשרת TCP פשוט המאזין לפורט 7000 ומדפיס מה שנשלח אליו:
var net = require('net');
net.createServer(function (stream) {
stream.write('hello\r\n');
stream.on('end', function () {
stream.end('goodbye\r\n');
});
stream.pipe(stream);
}).listen(7000);
ראו גם
קישורים חיצוניים
אתר האינטרנט הרשמי של Node.js
- מדריך בעברית לסביבת Express.js ב- Node.js
- מדריך בעברית לסביבת Sails.js ב- Node.js מאת אלירן פאר