require("http").createServer(function(request, response) {
response.writeHead(200, { "Content-Type": "text/plain" });
response.end("Hello World\n");
}).listen(1337, "127.0.0.1");
console.log("Server running at http://127.0.0.1:1337/");
Tworzymy serwer HTTP i nasłuchujemy
require("http")
.createServer(handleRequest)
.listen(1337, "127.0.0.1");
console.log("Server running at http://127.0.0.1:1337/");
Po nadejściu żądania wywołana zostanie funkcja handleRequest
function handleRequest(request, response) {
response.writeHead(200, { "Content-Type": "text/plain" });
response.end("Hello World\n");
}
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
document.addEventListener("DOMContentLoaded", eventHandler);
libuv
concurrent ten thousand connections problem
Problem optymalizacji zasobów w celu osiągnięcia jak największej liczby żądań obsłużonych równolegle.
Jest to biblioteka napisana w języku C, która wprowadza warstwę abstrakcji dla nieblokujących operacji wejścia-wyjścia, która jest niezależna od systemu operacyjnego.
Sam rdzeń platformy jest bardzo cienki, więc moduły przygotowane przez społeczność są bardzo ważnym elementem.
Codziennie powstaje 97 nowych modułów.September 2011 | September 2012 | September 2013 |
---|---|---|
4700 | 15000 | 42000 |
Oczywiście nigdy nie jest tak dobrze, żeby nie mogło być lepiej.
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle streams.
# Node.js w wersji 0.11.2
$ node --v8-options | grep harmony
--harmony_typeof
--harmony_scoping
--harmony_modules
--harmony_symbols
--harmony_proxies
--harmony_collections
--harmony_observation
--harmony_typed_arrays
--harmony_array_buffer
--harmony_generators