Node.js | |
---|---|
Тып | Event-driven networking |
Аўтар | Ryan Lienhart Dahl |
Распрацоўшчык | Node.js Developers |
Напісана на | C[4], C++ і JavaScript |
Аперацыйная сістэма | Linux, Windows[5], BSD[d][5] і macOS[5] |
Мовы інтэрфейсу | JavaScript |
Першы выпуск | 27 мая 2009[1][2] |
Апошняя версія |
|
Ліцэнзія | Ліцэнзія MIT |
Сайт | nodejs.org/ |
Медыяфайлы на Вікісховішчы |
Node.js — падзейна-арыентаваная серверная платформа распрацоўкі праграм для інтэрнэту. У якасці мовы праграмавання выкарыстоўваецца JavaScript (існуе пашырэнне, якое дазваляе распрацоўку на CoffeScript — спрошчанай мове праграмавання, якая аўтаматычна канвертуецца ў JavaScript)[6]. Зыходны код Node.js заснаваны на V8 JavaScript Engine — распрацаваным Google рухавіку JavaScript з адкрытым зыходным кодам, які выкарыстоўваецца ў браўзеры Google Chrome.[7]
Распрацоўка Node.js пачалася ў 2009 годзе як персанальны некамерцыйны праект Раяна Даля (Ryan Dahl). Цяпер распрацоўка праекту спансуецца кампаніяй Joyent.[8]
Node.js выкарыстоўваюць такія карпарацыі, як GoDaddy, Groupon, IBM, LinkedIn, Microsoft, Netflix, PayPal, Rakuten, SAP, Tuenti, Voxer, Walmart, Yahoo! і Cisco Systems.
Рзалізацыя найпрасцейшага 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 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');
Дзейнасць супольнасці распрацоўшчыкаў Node.js у асноўным сканцэнтравана вакол спісаў рассылкі nodejs і nodejs-dev, а таксама IRC канала #node.js на freenode. Штогод супольнасць збіраецца на NodeConf — канферэнцыю распрацоўшчыкаў Node.js.[9]
Базавая функцыянальнасць Node.js можа быть пашырана з дапамогай падключальных пакетаў. У склад дыстрыбутыву Node.js уваходзіць npm — менеджер пакетаў пашырэння, сістэма, якая спрашчае працэс спампоўкі і ўсталёўкі пакетаў, а таксама сочыць за іх узаемазалежнасцямі.[10] Назва гэтай сістэмы, адпаведна яе аўтару, не з’яўляецца скарачэннем «Node.js Packet Manager».[11]
Бібліятэка даступных для ўсталёўкі пакетаў называецца npm registrty Архівавана 30 ліпеня 2012. і налічвае больш за 9 тысяч пакетаў.[12] Бібліятэка адкрыта для дапаўнення.
Фота, відэа і аўдыё | |
---|---|
Тэматычныя сайты | |
Нарматыўны кантроль |
ASP.NET | DotNetNuke • ASP.NET MVC • MonoRail |
---|---|
ColdFusion | ColdSpring • Fusebox • Mach-II • Model-Glue |
Java | Cocoon • Struts • Velocity • WebWork 2) • AppFuse • Aranea • Eclipse • Facelets • Flexive • FreeMarker • Google Web Toolkit • Grails (Groovy) • Hamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Lift (Scala) • Makumba • OpenLaszlo • OpenXava • Play! (Scala, Java) • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClient • Spring • Stripes • Tapestry • ThinWire • Vaadin • WebMacro • WebWork • WebObjects • Wicket • ZK |
JavaScript | |
Perl | Catalyst • Interchange • Titanium • Maypole • HTML:Mason • Mojolicious |
PHP | |
Python | |
Ruby | Camping • Nitro • IOWA • Ramaze • Cerise • Merb • Ruby on Rails • Sinatra • Padrino |
Іншыя мовы |