Slide 1

Slide 1 text

Node.js Scripting Node.js w służbie front-end’u repo: https://github.com/michalczukm/nodejs-scripting-skm Michał Michalczuk

Slide 2

Slide 2 text

Node.js 2 Czym jest node.js? • Środowisko wykonawcze • Wieloplatformowe środowisko wykonawcze • Wieloplatformowe środowisko wykonawcze do wytwarzania aplikacji serwerowych stworzonych w JavaScript • Rozwijany od 2009 roku jako OpenSource • Wykorzystuje silnik V8 (by Google)

Slide 3

Slide 3 text

Node.js 3 Czym nie jest node.js? • Frameworkiem • Wielowątkowy

Slide 4

Slide 4 text

Event Driven Programming 4

Slide 5

Slide 5 text

Event Driven Programming 5 element.onclick(...) Jak obsłużymy ten event? • Callback • Promise

Slide 6

Slide 6 text

Node.js: single thread 6 Pan event-loop i jego wiadomości Callbacks

Slide 7

Slide 7 text

Node.js: event-loop 7 Browser event-loop Źródło: https://developer.mozilla.org/en/docs/Web/JavaScript/EventLoop while(queue.waitForMessage()) { queue.processNextMessage(); }

Slide 8

Slide 8 text

Node.js: event-loop 8 The almighty event loop Źródło: https://strongloop.com/strongblog/node-js-performance-event-loop-monitoring/

Slide 9

Slide 9 text

Node.js: event-loop 9

Slide 10

Slide 10 text

Node.js: nie blokuje I/O 10 • L1-Cache 3 cykle • L2-Cache 14 cykli • RAM 250 cykli • Dysk 41 000 000 cykli • Sieć 240 000 000 cykli Dlaczego to tak istotne?

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

npm: skupimy się na ... ● package.json ● package-lock.json ● npm scripts 12

Slide 13

Slide 13 text

Coding Session Code show session Show me the code: https://github.com/michalczukm/nodejs-scripting-skm

Slide 14

Slide 14 text

Dziękuję za uwagę