User:Sh.kuznetsov/sandbox

Node.js - падзейна-арыентаваная сэрверная платформа распрацоўкі праграм для сеціва. У якасці асноўнай мовы праграмавання выкарыстоўваецца JavaScript (але існуе пашырэнне, якое дазваляе распрацоўку на CoffeScript - спрошчанай мове праграмавання, якая аўтаматычна канвертуецца ў JavaScript). Зыходны код Node.js заснаваны на V8 JavaScript Engine - распрацаваным Google рухавіку JavaScript з адкрытым зыходным кодам, які выкарыстоўваецца у браўзэры Google Chrome.

Асноўныя адрозненні Node.js ад другіх распаусюджанных сэрверных моў (такіх як PHP, Perl і Ruby) Падзейна-арыентаванасць. Традыцыйны падыход заснаваны на існаванні толькі адной асноўнай падзеі -

Гэты падход значна спрашчае распрацоўку праграм накшталт сеткавых сервераў, у якіх

Распрацоўка Node.js пачалася ў 2009 годзе як персанальны некамерцыйны праект Раяна Даля (Ryan Dahl). Цяпер распрацоўка праекту спансуецца кампаніяй Joyent.

Прыклады

Рзалізацыя найпростага HTTP-сэрверу на Node.js, які адказвае тэкстам "Hello World" на кожны запыт:

Каб запусціць сервер дастаткова захаваць гэты код ў файл (напрыклад example.js) і выканаць у камандным радку каманду накшталт:

Другі вядомы прыклад - TCP сервер, які вяртае кліенту тэкст кожнага палучанага запыту:

Супольнасць
Дзейнасць супольнасці распрацоўнікаў Node.js у асноўным сканцэнтравана вакол спісаў рассылкі nodejs і nodejs-dev, а таксама IRC каналу #node.js на freenode. Штогод супольнасць збіраецца на NodeConf, канферэнцыя распрацоўнікаў Node.js.

Пашырэнні
Базавая функцыянальнасць Node.js можа быть пашырана з дапамогай падлучальных пакетаў. У склад дыстрыбутыву Node.js уваходзіць npm - мэнеджер пакетаў пашырэння, сістэма, якая спрашчае працэс спампавання і ўсталявання пакетаў, а таксама сочыць за іх ўзаемазалежнасцямі. Назва гэтай сістэмы, адпаведна яе аўтару, не з'яўляецца скарачэннем ад "Node.js Packet Manager".

Бібліятэка даступных для ўсталявання пакетаў завецца npm registrty і налічвае больш чым 9 тысячаў пакетаў. Бібліятэка адкрыта для дапаўнення.