javascript на сервере – node.js на windows

28

Upload: gaidar-magdanurov

Post on 05-Dec-2014

3.082 views

Category:

Technology


8 download

DESCRIPTION

Презентация с HTML5Camp.

TRANSCRIPT

Page 1: JavaScript на сервере – node.js на Windows
Page 2: JavaScript на сервере – node.js на Windows

#html5camp

JavaScript на сервере – node.js на Windows

Гайдар Магдануров

@gaidar

Руководитель направления веб-технологий, Microsoft

Page 3: JavaScript на сервере – node.js на Windows

Содержание

JavaScript на сервереФилософия node.jsРеализация веб-сервера на node.jsРазработка для node.js на WindowsМодули node.jsОтладка node.js приложений

Page 4: JavaScript на сервере – node.js на Windows

#html5camp

Риторический вопросJavaScript на сервере… зачем?

Page 5: JavaScript на сервере – node.js на Windows

JavaScript на сервере… зачем?

JavaScript популяренНизкий порог входаСложность пропорциональна

навыкамМного client-side разработчиковМножество доступных библиотек

Page 6: JavaScript на сервере – node.js на Windows

#html5camp

Философия node.js

В чем сила, брат?..

Page 7: JavaScript на сервере – node.js на Windows

Философия node.js

Масштабируемые веб-приложения

Отсутствие блокирующих вызовов

Простота развертывания и поддержки

Page 8: JavaScript на сервере – node.js на Windows

Блокирующий код

var data = file.read('filename');

// блокировка на время чтенияprocessFileData(data);

Page 9: JavaScript на сервере – node.js на Windows

Отсутствие блокировки

file.read('filename',

// функция с обратным вызовом function(data) { processFileData(data); }

);

Page 10: JavaScript на сервере – node.js на Windows

Реализация node.js

Один основной рабочий потокJavaScript движок Google V8Неблокирующие функции

стандартных библиотекРазработка на основе callback-

функцийМодульная расширяемость

Page 11: JavaScript на сервере – node.js на Windows

#html5camp

Реализация веб-сервера

HTTP

Page 12: JavaScript на сервере – node.js на Windows

Веб-сервер

var http = require('http');

http.createServer(function (req, res){

res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n');

}).listen(8080, "127.0.0.1");

Page 13: JavaScript на сервере – node.js на Windows

Tcp-сервер

var net = require('net');

var server = net.createServer(function (c) { console.log('connected'); c.on('end', function (){ console.log('disconnected'); }); c.write('hello\r\n'); c.pipe(c);});server.listen(8888);

Page 14: JavaScript на сервере – node.js на Windows

#html5camp

Сервер на node.js

HTTP и TCP

Page 15: JavaScript на сервере – node.js на Windows

#html5camp

Инструменты node.js

Разработка на Windows

Page 16: JavaScript на сервере – node.js на Windows

Инструменты node.js

Любой текстовый редакторVisual Studio"Родная" поддержка в WebMatrix

— WebMatrix (microsoft.com/web/webmatrix)

— Node.js (nodejs.org/#download)— iisnode модуль (go.microsoft.com/?

linkid=9784329)

— Шаблоны WebMatrix (tinyurl.com/cxpeufg)

Page 17: JavaScript на сервере – node.js на Windows

#html5camp

node.js и WebMatrix

И Visual Studio!

Page 18: JavaScript на сервере – node.js на Windows

#html5camp

Модули node.js

Page 19: JavaScript на сервере – node.js на Windows

Реализация модуля

// файл mymodule.jsexports.helloWorld = function() { return 'Hello World!';};

// файл app.jsvar mymod = require('./mymodule');

console.log(mymod.helloWorld());

Page 20: JavaScript на сервере – node.js на Windows

Модули для node.js

github.com/joyent/node/wiki/modules

Page 21: JavaScript на сервере – node.js на Windows

Установка модулей - NPM

Командный файл npm.cmdНеобходимы права

администратораУстановка модулей

npm install express Список установленных модулей

npm ls

Page 22: JavaScript на сервере – node.js на Windows

#html5camp

Установка модулейgithub.com/joyent/node/wiki/modules

Page 23: JavaScript на сервере – node.js на Windows

Отладка node.js

Встроенный отладчик V8node.exe debug app.js

Точка останова – инструкция debugger;

Командыrun (r), cont (c), next (n), step (s), out (o), backtrace (bt), setBreakpoint (sb), clearBreakpoint (cb), watch, unwatch, watchers, repl, restart, kill, list, scripts, breakpoints, version

Page 24: JavaScript на сервере – node.js на Windows

#html5camp

Отладка

debug

Page 25: JavaScript на сервере – node.js на Windows

#html5camp

Сценарии использования

Page 26: JavaScript на сервере – node.js на Windows

Сценарии использования

Приложения "реального времени"— Онлайн игры— Сервисы обмена сообщениями— Чаты

"Умный" прокси для статики— Отсутствие длительных вычислений

Разработчики - фанаты JavaScript

Page 27: JavaScript на сервере – node.js на Windows

#html5camp

Пример приложения

Чат на node.js

Page 28: JavaScript на сервере – node.js на Windows

#html5camp

JavaScript на сервере – node.js на Windows

Гайдар Магдануров

@gaidar

Руководитель направления веб-технологий, Microsoft