Logo

Blog o JavaScript, jQuery, HTML5, CSS3 i 4. Porady jak pisać dobrej jakości kod, tutoriale, nowości.

Node.js

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).

Autor wpisu

Piotr cichosz (shpyo) — Front-end developer Twórca kilku serwisów internetowych oraz autor kilku blogów. Pasjonat nowych, otwartych technologii.

Komentarze

Dodaj komentarz