Jump to content

User:Sh.kuznetsov/sandbox

From Wikipedia, the free encyclopedia
Node.js
Original author(s)Ryan Lienhart Dahl
Developer(s)Node.js Developers
Written inC++, JavaScript
Operating systemMac OS X, Linux, Solaris, FreeBSD, OpenBSD, Windows (older versions require Cygwin), webOS
TypeEvent-driven networking
LicenseMIT License
Websitenodejs.org

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" на кожны запыт:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

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

% node.js example.js

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

var net = require('net');
var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');

Супольнасць

[edit]

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

Пашырэнні

[edit]

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

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

  1. ^ NodeConf Schedule Announced, By Klint Finley, April 7, 2011, ReadWriteHack