Node js niskopoziomowe rodowisko implementuj ce javascript po stronie serwera
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Node.js – niskopoziomowe środowisko implementujące JavaScript po stronie serwera PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on
  • Presentation posted in: General

Node.js – niskopoziomowe środowisko implementujące JavaScript po stronie serwera. Na podstawie: Tilkov , S., Vinoski , S., Node.js : Using JavaScript to Build High-Performance Network Programs [W:] Internet Computing , IEEE, 2010, t. 14, nr 6, s. 80-83. Łukasz Przywarty 171018

Download Presentation

Node.js – niskopoziomowe środowisko implementujące JavaScript po stronie serwera

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Node js niskopoziomowe rodowisko implementuj ce javascript po stronie serwera

Node.js – niskopoziomowe środowisko implementujące JavaScript po stronie serwera

Na podstawie:

Tilkov, S., Vinoski, S., Node.js: UsingJavaScript to Build

High-Performance Network Programs [W:] Internet Computing, IEEE, 2010, t. 14, nr 6, s. 80-83.

Łukasz Przywarty 171018

Mariusz Kacała 171058


Ramowy plan prezentacji

Ramowy plan prezentacji

  • Node.js - informacje wstępne

  • Po co programistom node.js?

  • Właściwości node.js

  • Prosty serwer HTTP

  • Manager pakietów npm

  • Wielowątkowość a node.js

  • Kiedy korzystać, a kiedy nie korzystać z node.js

3/16


Node js informacje wst pne

Node.js– informacje wstępne

  • Data utworzenia: 2009 r.

  • Niskopoziomowa implementacja silnika V8 JavaScript’u po stronie serwera.

  • Napisany w języku C/C++ (8000 linii) oraz JavaScript (2000 linii), obsługuje programy napisane w JavaScript.

4/16


Node js informacje wst pne c d

Node.js– informacje wstępne c.d.

  • Obsługiwany zdarzeniami.

  • Nieblokujące i asynchroniczne operacje I/O oraz zapytania do bazy danych

  • Zalety: wydajność w obsłudze zdarzeń generowanych przez dużą liczbę użytkowników, małe zużycie pamięci.

  • Własny manager pakietów npm; liczne frameworki.

5/16


Po co programistom node js

Po co programistom node.js?

  • Apache i wątki - można łatwiej i wydajniej.

  • Zbyt skomplikowane rozwiązania:

    • Ruby Event Machine,

    • Python Twisted/Tornado,

    • Erlang (Facebook Chat).

  • Przewaga: dużo lepsza dostępność (JavaScript)i społeczność.

6/16


Sterowanie zdarzeniami

Sterowanie zdarzeniami

  • Zdarzenie zamiast wątku.

  • Event-loop.

7/16


Asynchroniczne operacje i o

Asynchroniczne operacje I/O

  • Nie wyjątek, a reguła.

  • Ważne dla programowania zdarzeniowego.

  • Powodują problemy.

  • W sytuacjach szczególnych (np. zmiana nazwy pliku) istnieją wyjątki od asynchroniczności.

8/16


Javascript po stronie serwera

JavaScript po stronie serwera

  • Kolejny krok w stronę kompleksowego rozwiązania (ten sam język programowania dla frontend’u i backend’u)

  • JavaScript w zgodzie z filozofiąnode.js – wsparcie funkcji zwrotnych zdarzeń (eventcallback)

9/16


Wielow tkowo z node js

Wielowątkowość z node.js

  • Jedennode.js – jeden proces.

  • Rozwiązanie: wiele instancji serwera node.js komunikujących się poprzez współdzielone gniazdkow systemie operacyjnym (200 linii kodu JavaScript)

10/16


Prosty serwer http

Prosty serwer HTTP

varsys = require(“sys”),

http = require(“http”),

url = require(“url”),

path = require(“path”),

fs = require(“fs”);

http.createServer(function(request, response) {

varuri = url.parse(request.url).pathname;

varfilename = path.join(process.cwd(), uri);

path.exists(filename, function(exists) {

if(exists) {

fs.readFile(filename, function(err, data) {

response.writeHead(200);

response.end(data);

});

} else {

response.writeHead(404);

response.end();

}

});

}).listen(8080);

sys.log(“Server runningat http://localhost:8080/”);

11/16


Manager pakiet w npm

Manager pakietów npm

  • Bogaty ekosystem framework’ów.

  • Ponad 16 300 pakietów.

  • Najpopularniejsze:

    • ExpressJs – framework dla aplikacji webowych,

    • Socket.io – serwer WebSocket dla node.js (aplikacje czasu rzeczywistego),

    • Redis – serwer ‘struktur danych’,

    • Coffee – język kompliowany do JavaScript.

12/16


Interesuj ce pakiety w npm

Interesujące pakiety w npm

  • Nodecopter – biblioteka do sterowania modelem śmigłowca.

  • Noduino – framework obsługujący podstawowe podzespoły Ardunio przez sieć.

13/16


Kiedy korzysta z node js

Kiedy korzystać z node.js?

  • Deweloper znający język JavaScript.

  • Aplikacje czasu rzeczywistego (np. Twitter, relacjez wydarzeń sportowych etc.).

  • JSON/ Rest API dla aplikacji sieciowych.

  • Aplikacje składające się ‘jednej podstrony' (np. Gmail).

  • Przesyłanie danych.

14/16


Kiedy nie korzysta z node js

Kiedy nie korzystać z node.js?

  • Aplikacje korzystające z dużej ilości zasobów CPU.

  • Proste aplikacje typu CRUD.

  • Gdy istnieje potrzeba skorzystania z bibliotekiw konkretnym języku.

15/16


Node js niskopoziomowe rodowisko implementuj ce javascript po stronie serwera1

Node.js – niskopoziomowe środowisko implementujące JavaScript po stronie serwera

Na podstawie:

Tilkov, S., Vinoski, S., Node.js: UsingJavaScript to Build

High-Performance Network Programs [W:] Internet Computing, IEEE, 2010, t. 14, nr 6, s. 80-83.

Łukasz Przywarty 171018


  • Login