Node.js

Na wstępie, muszę przyznać, że pisanie serwera w JavaScript’cie było dla nie dość „szalone”. Tym bardziej, że JavaScript zawsze był dla mnie bardziej slangiem niż językiem programowania. Po czasie pracy nad serwerem node.js deko zmieniłem zdanie na temat samego JS’a i zwracam mu należny honor. Samo rozwiązanie napisania serwera w tymże języku okazało się dość ciekawą przygodą, która myślę nie skończy się tylko na przygodzie. O samym node.js nie będę się rozpisywać, bo jest tego w sieci już na tyle dużo, że nie ma to większego sensu, dla zaciekawionych tematem odsyłam do storn:

Na dobry początek to powinno wystarczyć, ja wolę posłużyć się konkretnymi przykładami (w dużej części działającymi produkcyjnie rozwiązaniami).
Dzięki swojej specyfice node idealnie nadaje się do stron real-time (czaty, agregatory treści i tym podobne), można za jego pomocą stworzyć naprawdę duży, w pełni skalowalny serwis www i wszystko w JavaScript’cie. Mnie osobiście node.js wydał się idealnym rozwiązaniem do zaimplementowania czata online podpinanego do stron. Do tego doskonałą technologią jest WebSocket dzięki któremu możemy zapomnieć o klasycznych zapytaniach AJAX wysyłanych przez klienta w określonym interwale czasowym. Websocket pozwala na przeniesienie całej logiki aktualizacji treści na serwer, aby to uzyskać potrzebujemy socket.io (istnieją inne moduły node.js’a do obsługi websocketów, jednak ta jest w/g mnie najwygodniejsza).

Przygotowanie środowiska

Wszyscy posiadający systemy *NIX (linux, BSD, OSX) mają dość ułatwione zadanie, użytkowników Windows odsyłam do bloga (nie wiem czy opisywana metoda działa, nie sprawdzałem). Osobiście uważam, że Windows nie jest dobrą platformą dla webDevelopera, szczególnie teraz gdy do głosu zaczynają dochodzić nowe rozwiązania, typy baz danych i technologie – ale mnie mnie to oceniać. Sam używam OSX oraz Linuxa, więc opiszę jak u mnie to wyglądało:

brew install node
curl http://npmjs.org/install.sh | sh

npm to bardzo przyjemny manager pakietów dla node.js’a, dzięki niemu zainstalujemy moduły potrzebne do każdego projektu.

Nasz hello-world

Jakby nie inaczej. Na początek, dokonałem wyboru frameworka opracowanego na potrzeby node.js’a ułatwiającego pisanie aplikacji www o nazwie express, aby go zainstalować najpierw tworzymy katalog z projektem:

mkdir node-helloworld
cd node-helloworld
npm install express

express został przeze mnie wybrany głównie z powodu popularności i prostoty, samych frameworków jest dużo więcej, pewnie zachce przetestować inne, ale na razie express zupełnie mi wystarcza.

Teraz cała magia na początek, czyli hello-world. W ulubionym edytorze tworzymy sobie plik np. app.js lub jak tam sobie chcemy, a w nim:

Prawda, że proste? Programowanie serwera za pomocą node.js’a to naprawdę czysta przyjemność – ale deko trzeba jednak się przetoczyć po dokumentacji oraz kreatywnie rozwiązywać problemy, bo wielu jeszcze nie ma opisanych – nowości tak mają, ale nie ma co się przerażać. Po prostu siadać i pisać serwery.

Nasz serwer odpalamy za pomocą polecenia:

node app.js