Jump to content

Node.js

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Node.js
Изображение логотипа
Տեսակapplication framework?,ազատ ծրագրային ապահովում,run-time system?ևբաց կոդով ծրագրակազմ
Նախագծումը՝OpenJS FoundationևRyan Dahl?
Գրված է՝C[1],C++ևՋավաՍկրիպտ
ՕՀԼինուքս,Windows[2],BSD[2]ևմաքՕՍ[2]
Լույս տեսավ՝մայիսի 27,2009[3]
ԱրտոնագիրMIT արտոնագիր[4]
Կայքnodejs.org(անգլ.)
Ելակոդgithub /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 մոդուլը
consthttp=require('http');

//Ստեղծեք վեբ սերվեր, հարցման մշակողով։
constserver=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 ապաստանը և ցուցադրում է այն ամենը, ինչ օգտատերը մուտքագրել է։

constnet=require('net');

constserver=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սեփական փաթեթ տեղադրողը։ Տեղադրումը կատարվում է հետևյալ հրամանները միջոցով։

npminstall<packagename>

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

npmsearch

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

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

[խմբագրել|խմբագրել կոդը]
  1. The node Open Source Project on Open Hub: Languages Page— 2006.
  2. 2,02,12,2Free 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».

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

[խմբագրել|խմբագրել կոդը]