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