Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Node.js – Serverside Javascript

Podobne prezentacje


Prezentacja na temat: "Node.js – Serverside Javascript"— Zapis prezentacji:

1 Node.js – Serverside Javascript
Maciej Jastrzębski Kraków, 8 października 2011 nazwisko

2 Czym jest Node.js Into the code Asynchroniczne I/O i Event Driven server Wydajność?! Node.js vs obecne rozwiązania

3 PaaS SaaS IaaS Client side
cross-platform & cross-device Client side PaaS SaaS Kim jestem czym się zajmuje w kontekcie nowego onetu +Rysunek chmury +Amazon +Standardy +od 2012 – ruszamy +server brzegowy IaaS

4 PaaS SaaS IaaS Client side
cross-platform & cross-device Client side PaaS SaaS Kim jestem czym się zajmuje w kontekcie nowego onetu +Rysunek chmury +Amazon +Standardy +od 2012 – ruszamy +server brzegowy IaaS

5 Czym jest Node.js? Wprowadzenie do node.js co to jest Opensource
Kiedy ruszyl projekt – 2009 Ryan Dahl Bazuje na Google v8 CommonJs Moduły

6 Czym jest Node.js V8 Wprowadzenie do node.js co to jest
Bazuje na Google v8 – wiecej o v8 i o wojnie silników (z czego mamy bonus w postaci predkosci) V8

7 V8 runtime (EcmaScript5) Event Driven i Asynchroniczne I/O
Środowisko Node.js V8 runtime (EcmaScript5) Event Driven i Asynchroniczne I/O process zamiast window! System modułów i require (CommonJS) Zestaw modułów natywnych Wsparcie dla dodatków opartych o C/C++ Co dostajemy Brak Window!!!! – w tym DOM za to mamy process Require i moduły – idea CommonJS Moduły natywne

8 var content = fs.readFileSync('example.txt'); //asynchronicznie
File system var fs = require('fs'); //synchronicznie var content = fs.readFileSync('example.txt'); //asynchronicznie fs.readFile('example.txt', function (err, data) { if (err) throw err; console.log(data); }); Przykład asynchroniczne io – filesystem Przykład modułu

9 Server var http = require('http'); var url = require('url');
var status = "none"; http.createServer(function (req, res) { //ustawiamy nowy status var params = url.parse(req.url, true); if(params.hasOwnProperty('set_status')){ status = params['set_status']; } //zwracamy aktualny status res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(status); }).listen(80, " "); EventDriven IO - serverside

10 setTimeout – raz jeszcze.
setTimeout(function(){ //pobierz dane z miejsca A }, 3000); //pobierz dane z miejsca B }, 8000); EventDriven IO - serverside

11 Nowy wymiar asynchroniczności Javascript.
Asynchroniczność JS i środowisko backendowe Event driven programing Asynchroniczne IO Jeden wątek – podkreślić znaczenie Konkurencja Asynchroniczność ważniejsza niż kiedykolwiek - operacje blokujące - to jakby nagle w przeglądarce pojawiło się 1000 niezaleznych kursorów i wszystkie zaczeły klikać Nowy wymiar asynchroniczności Javascript.

12 Server Asynchroniczne I/O GET http://example.com/index.html
Node.js Server Rysunek Kolejka Exec

13 Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

14 Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

15 Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

16 Asynchroniczne I/O HTTP/ OK Node.js Server Rysunek Kolejka Exec

17 Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

18 Asynchroniczne I/O HTTP/ OK Node.js Server Rysunek Kolejka Exec

19 Nowy wymiar asynchroniczności Javascript.
to jakby nagle w przeglądarce pojawiło się 1000 niezaleznych kursorów i wszystkie zaczeły klikać

20 Wydajność! Wydajność – test/wykres
Test – Strona z datą (apache php/ apache python/ node.js) Fibonacci (node 4sec, pypy 6sec, py 64sec, php 110sec)

21 Komercyjne zastosowanie i duże projekty.
Node.js i Enterprise (krytyka) Abstrachowanie od samej składni JS i zastosowań w projektach wielo osobowych Brak kompleksowych rozwiązań jak np. dla J2EE Tylko podstawowe narzędzia do pracy z OS Średnia jakość api (subiektywne)

22 Ale… npmjs.org Ale Aktualnie w npmie mamy 4261 total packages
W tym ciekawe z perspektywy frontend JSDOM czy node-yui Dodać logotypy!!!!

23 Blog: http://it.blog.onet.pl/
Zapraszamy! Blog: Blog Współpraca

24 Dziękuję za uwagę. hr


Pobierz ppt "Node.js – Serverside Javascript"

Podobne prezentacje


Reklamy Google