Node.js
Opublikowany: 21.05.2011 21:25:14 | Komentarzy 0
Jestem po pierwszym dniu workshop'u Falsy Values z node.js. Był to ciężki dzień, bo dużo wiedzy teoretycznej i trochę mało kodu i tzw. live-codding, ale za to mieliśmy dużo zadań do zrobienia jako podsumowanie każdej części wykładu.
Czym jest Node.js?
Główną ideą jest tworzenie skalowanych aplikacji sieciowych (np. jakaś duża gra online). Co więcej, nie jest wielkim problemem obsłużenie duże ilości połączeń jednocześnie. Kolejną zaletą Node.js jest to, że oparty na eventach podobnie jak Event Machine (Ruby) i Twisted (Pythona). Pętla zdarzeń (eventów) jest uruchamiana poniekąd w tle, za każdym razem gdy ktoś zainicjuje połączenie. Wyjście następuje wtedy gdy nie ma zdefiniowanej funkcji zwrotnej (tzw. callback).
Więcej można przeczytać bezpośrednio na stronie oficjalnej.
Przed samą konferencją musiałem zgłębić trochę wiedzy o tym narzędziu. Musiałem zainstalować to (co trochę sprawiało mi problemów ze względu braku XCode na Macu) i porobić przykłądy. Na pierwszy ogień poszła prezentacja twórcy Node'a - Ryana Dahla. Wg mnie od tego trzeba zacząć - bo bardzo dużo wyjaśnia to nagranie:
Instalacja
Jeżeli jesteś użytkownikiem Windowsa - to możesz mieć problemy z instalacją Node.js. Inni użytkownicy (Linux i Mac) nie będą ich mieli. Na konferencji prowadzący workshop - Tom Hughes-Croucher - powiedział, że zdaje sobie sprawę, że brak wsparcia dla Windowsa jest bardzo dużym problemem i jednocześnie zapowiedział, że jest to najwyższy priorytet.
U mnie istalacja sprowadziła się do wykonania następujących poleceń w Terminalu (wcześniej musiałem zainstalować XCode):
git clone https://github.com/joyent/node.git cd node export JOBS=2 # optional, sets number of parallel commands. mkdir ~/local ./configure --prefix=$HOME/local/node make make install export PATH=$HOME/local/node/bin:$PATH
Pierwsze uruchomienie
Gdy udało nam się zainstalować to teraz należy wpisać w konsoli polecenie node i możemy już pisać. Dostaniemy interaktywną konsolę JavaScript w której wykonywać polecenia JS.
shpyo:~ shpyo$ node > 1+7 8 > [] === null false > null === null true > null === 0 false > var a = [1,2,3,4] > a [ 1, 2, 3, 4 ] > var el = a.pop() > el 4 > a [ 1, 2, 3 ]
Hello world
Oraz prosty przykład z oficjalnej strony:
// dołączamy bibliotekę http var http = require('http'); // tworzymy serwer http.createServer(function (req, res) { // request, response res.writeHead(200, {'Content-Type': 'text/plain'}); // wysyłamy nagłówek http (status 200 i format tekstowy) res.end('Hello World\n'); // wyświetlany hello world }).listen(1337, "127.0.0.1"); // nasłuchujemy na porcie 1337 console.log('Server running at http://127.0.0.1:1337/'); //na konsoli wyświetlany informację, że serwer działa
Aby zoabczyć nasz efekt możemy w konsoli wpisać: curl http://localhost:1337 lub w przeglądarce.
Wiem, że powyższy przykład jest mało ambitny, ale potraktujcie ten wpis jako wstęp. Po konferencji wrzucę już konkretne informacje oraz ciekawsze przykłady (praca domowa z workshopu :P).
Komentarze
Dodaj komentarz