Jump to content

Node.js

Վիքիպեդիայից՝ ազատ հանրագիտարանից
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Node.js
Изображение логотипа
Տեսակapplication framework?, ազատ ծրագրային ապահովում, run-time system?, բաց կոդով ծրագրակազմ և JavaScript Runtime?
Նախագծումը՝OpenJS Foundation և Ryan Dahl?
Գրված է՝Սի[1], C++ և ՋավաՍկրիպտ
ՕՀԼինուքս, Windows[2], BSD[2] և մաքՕՍ[2]
Լույս տեսավ՝մայիսի 27, 2009[3]
ԱրտոնագիրMIT արտոնագիր[4]
Կայքnodejs.org(անգլ.)
Ելակոդgithub.com/nodejs/node
 Node.js Վիքիպահեստում

Node կամ Node.js, ծրագրային պլատֆորմ՝ հիմնված V8 շարժիչի վրա (թարգմանում է ՋավաՍկրիպտը մեքենայական կոդի), ՋավաՍկրիպտը վերափոխում է նեղ մասնագիտական լեզվից լայն օգտագործման ծրագրավորման լեզվի։ Node.js-ը ՋավաՍկրիպտին ավելացնում է հնարավորություն համագործակցել մուտք-ելքային սարքերի հետ իր API-ի միջոցով (գրված է C++ լեզվով), միացնել ուրիշ արտաքին գրադարաններ, որոնք գրված են տարբեր լեզուներով, ստեղծելով կանչի հնարավորություն ՋավաՍկրիպտ կոդի միջոցով։ Node.js ունի լիիրավ դերակատարություն՝ որպես վեբ սերվեր։ Node.js-ի հիմքում միջոցառում-կողմորոշված է (Անգլ․ event-oriented) և ասինխրոն (կամ ռեակտիվ) ծրագրավորումը ոչ արգելափակվող մուտք/ելքով։

Պատմություն

1996 թվականին Netscape կազմակերպությունում կատարվում են փորձեր ստեղծելու JavaScript-ի սերվերային մասը (Server-side JavaScript — SSJS)[5][6], բայց այս տեխնոլոգիան տարածում չգտավ։

Ռայն Դալը, Node.js-ի ստեղծողը

Երկու տարվա փորձարկումների արդյունքում 2009 թվականին Node.js-ը ստեղծվեց Ռայն Դալի-ի կողմից (անգլ.՝ Ryan Dahl)։ Իր հետազոտությունների ժամանակ նա եկավ այն եզրակացության, որ ավանդական զուգահեռականության մոդելի փոխարեն, որի հիմքում հոսքերն էին, պետք է դիեմել միջոցառում - կողմորոշված համակարգերին։ Այս մոդելը ընտրվեց իր պարզության, ցածր հոսքայնության (ի տարբերություն «մեկ հոսք մեկ միացման համար» գաղափարախոսության) և արագության։ Node-ի նպատակը «լայնածավալ ցանցային սերվերներ կառուցելու պարզ ուղին է»։

2014 թվականի դեկտեմբերին ստեղծվել է ֆորկ io.js։

2015 թվականի մայիսին ընդունվեց io.js ի և Node.js միաձուլման և հետագայում Node.js Foundation-ի[7] հովանու ներքո զարգացման մասին որոշումը։

2015 թվականի սեպտեմբերի 8-ին թողարկվեց Node.js v4.0.0-ը որպես արդյունք Node.js v0.12.7 и io.js v3.3.0.-ի[8][9] միաձուլման։

Կոդի օրիանակներ

HTTP-սերվերի ստեղծում և գործարկում Node.js-ով, որը ցուցադրում է Hello, world!։

// Բերնում ենք http մոդուլը
const http = require('http');

//Ստեղծեք վեբ սերվեր, հարցման մշակողով։
const server = http.createServer((req, res) => {
  console.log('Հարցման մշակման սկիզբ');
  // Փոխանցում ենք կոդի պատասխանը և http-վերնագրերը
  res.writeHead(200, {
    'Content-Type': 'text/plain; charset=UTF-8'
  });
  res.end('Բարև երկիր !');
});

//Աշխատացնում ենք վեբ սերվերը
server.listen(2002, '127.0.0.1', () => {
  console.log('Սերվերը աշխատում է  http://127.0.0.1:2002/');
});

Մեկ ուրիշ սցենարի օրինակ որում ստեղծվում է TCP-սերվեր, որը լսում է 1337 ապաստանը և ցուցադրում է այն ամենը, ինչ օգտատերը մուտքագրել է։

const net = require('net');

const server = net.createServer(stream => {
  stream.setEncoding('utf8');

  stream.write('hello\r\n');

  stream.addListener('data', data => {
    this.write(data);
  });

  stream.addListener('end', () => {
    this.write('goodbye\r\n');
    this.end();
  });
});

server.listen(1337, 'localhost');

Լրացուցիչ երրորդ կողմի փաթեթներ

Node.js կազմում է նաև npm սեփական փաթեթ տեղադրողը։ Տեղադրումը կատարվում է հետևյալ հրամանները միջոցով։

npm install <packagename>

Բոլոր հասանելի փաթեթները և դրանց կարճ նկարագրությունը։

npm search

Այս նույն հրամանով կարելի է կատարել փաթեթների ընտրովի որոնում։

Ծանոթագրություններ

  1. The node Open Source Project on Open Hub: Languages Page — 2006.
  2. 2,0 2,1 2,2 Free Software Directory
  3. node-v0.x-archive on GitHub
  4. node/LICENSE at master · nodejs/node · GitHub
  5. «Server-Side JavaScript — Archive of obsolete content | MDN». Արխիվացված է օրիգինալից 2018 թ․ նոյեմբերի 22-ին. Վերցված է 2019 թ․ փետրվարի 28-ին.
  6. Серверный JavaScript 1.4. Руководство по Использованию.
  7. «io.js объединяется с NodeJS».
  8. «Node.js + Io.js = Node.js 4.0.0». Արխիվացված է օրիգինալից 2015 թ․ սեպտեմբերի 10-ին. Վերցված է 2019 թ․ փետրվարի 28-ին.
  9. «Вышла в свет новая версия Node.js v4.0.0».

Արտաքին հղումներ