Node.js – Serverside Javascript

Slides:



Advertisements
Podobne prezentacje
One Framework to rule them all
Advertisements

HTML 5.0 Marcin Badurowicz .
Graficzny klient SVN graficzny klient SVN integrujący się z powłoką systemu dostępny tylko dla systemu Windows - do pobrania z
Systemy czasu rzeczywistego
Usługi sieciowe Wykład 6 Apache2- debian
Wykorzystanie konta uczelnianego dla potrzeb stron WWW
Systemy rozproszone W. Bartkiewicz
PROGRAMOWANIE STRUKTURALNE
Maciej Zabielski 15 stycznia 2003
Tworzenie ASP.NET Web Form
Programowanie w HTML i XML
Programowanie w HTML i XML prowadzący: dr inż. Tomasz Wierciński.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
AJAX Marek Hołówko Maciej Wojciechowski.
BIRT.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Integracja z Facebookiem (Facebook SDK)
Najczęściej popełniane błędy w VHDL’u
Biznes elektroniczny W. Bartkiewicz
Kurs WWW Paweł Rajba
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
Opiekun : dr Piotr Gronek Tomasz Kawęcki 1 Temat pracy.
Narzędzia internetowe Paweł Rajba
Jakub Binkowski Visual C# MVP webEFS sp.j.. GET i POST.
Spring IDE Spring Framework + Eclipse 1. Code-House Mała firma Duzi klienci Jeszcze większe aspiracje Nasze cele Promowanie komercyjnego wykorzystania.
Podstawy C# Grupa .NET PO.
Aplikacje Internetowe
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
P ISZ MNIEJ, RÓB WIĘCEJ - ZASTOSOWANIE J Q UERY Kamil Szumański s4126.
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Opracował : Przemysław Drzymała
Promotor: dr.inż. Aleksandra Werner
TECHNOLOGIE INTERNETOWE
Microsoft Dynamics CRM jako platforma deweloperska
Najbardziej popularne źródła energii
Konsultant w ABC Data Centrum Edukacyjne Microsoft Certified Trainer od 2004 roku Microsoft Most Valuable Professional od 2008 roku Autor dwóch książek.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Mateusz Uherek.
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML Część 4 Prowadzący: Dariusz Jaruga
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML – Warsztat Prowadzący: Dariusz Jaruga
TROCHĘ HISTORII Marek Zając PO CO UŻYWAĆ OPENCL? Marek Zając.
Wykład 10 typ zbiorowy rekurencja.
Administracja systemami operacyjnymi Wiosna 2014
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
ŁUKASZ SKROBOT, Konsultant techniczny Sybase Professional services
OWASP + DevOps, kilka przydatnych narzędzi
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Zagrożenia.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Portal edukacyjny A.Ś. FORMULARZE W JĘZYKU HTML. Portal edukacyjny A.Ś. Obiekty umieszczane na stronach www Teksty Obrazy Odnośniki Tabele Ramki pływające.
Najpiękniejsze miejsca na świecie.
Projekt SRDS Jan Baranowski Michał Kaik
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
Wykład 4 Programowanie obiektowe. Tworzenie własnych obiektów Słowo kluczowe this W JavaScript można tworzyć własne obiekty. Wykorzystuje się tu zapis.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Realizacja Aplikacji Internetowych Program. Program Wprowadzenie SPA vs tradycyjne witryny - JavaScript i aplikacje klienckie Strona serwerowa Asp.Net.
.NET Core Łukasz Co to takiego? Nowy, open-sourcowy framework pozwalający na pisanie cross-platformowych aplikacji z użyciem.NET.
AJAX w PHP.
PHP (wstęp) Personal Home Page Tools (PHP Tools)
Realizacja aplikacji internetowych
Aplikacje i usługi internetowe
Aplikacje i usługi internetowe
Tools.
Zapis prezentacji:

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

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

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

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

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

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

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

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

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, "127.0.0.1"); EventDriven IO - serverside

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

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.

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

Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

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

Asynchroniczne I/O Node.js Server Rysunek Kolejka Exec

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

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

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

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)

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

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

Dziękuję za uwagę. hr