Pull to refresh

Server-side JS (v8+Node)

Reading time2 min
Views12K
Недавно видел на хабре спор по поводу того, что нам не нужны никакие скриптовые языки, кроме javascript. Утверждение, конечно, спорное, но меня заинтересовала возможность применения javascript на сервере.

Поиски привели меня сюда. Из всех представленных там решений, я почему-то (просто оно с первого раза встало и заработало) выбрал библиотеку Node для google v8.

Установка достаточно проста: сначала устанавливаем v8. Его либо можно скачать отсюда, либо, если у вас ubuntu (у меня 9.04, не знаю, что там с другими версиями и дистрибутивами), то можно установить libv8 из репозиториев. Сам Node берем здесь.

Все установилось, теперь можем поиграться! (я убил на эти играния половину выходного, но об этом позже). Http-cервер (просто говорящий всем привет) на Node выглядит вот так:

var utils = ("/utils.js");
var http = ("/http.js");
http.createServer(function (request, response) {
response.sendHeader(200, {"Content-Type": "text/plain"});
response.sendBody("Hello!\n");
response.finish();
}).listen(8000);
utils.puts("Server running at 127.0.0.1:8000/");

Кроме этого, в Node есть много очень полезных функций и объектов для работы с файлами, процессами, удобного подключения модулей и др. И на Node уже успели написать несколько библиотек, список тут.

Единственное огорчение, которое меня ждало — это почти полное отсутствие документации как по v8 (именно по встроенным объектам, что странно, возможно я плохо искал, если найдете, то поделитесь ссылкой, пожалуйста), так и по Node (там она как бы есть, но устаревшая). Благо, ситуацию немного прояснили тесты и исходники.

Да. Я тут сказал, что убил на играния с этим всем добром половину выходного. Так вот, результат всего этого — небольшой веб-фреймворк simplex и тестовое приложение. Пока там есть роуты, шаблонизатор и система контроллеров. Он очень простой, поэтому вполне сойдет для первого знакомства с Node.

Собственно, все. Ссылки по теме:
Tags:
Hubs:
Total votes 42: ↑39 and ↓3+36
Comments82

Articles