Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:



Podobne dokumenty
Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Aplikacje webowe z wykorzystaniem Node.js oraz Express

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Wybrane działy Informatyki Stosowanej

Nowoczesny dział IT w chmurze

która metoda jest najlepsza

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Paweł Rajba,

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 1. Środa 15:30-17:00 sala: A-1-04

Twisted. Silnik Twojego Internetu. Jan Urbański Ducksboard. PyWaw #25, Warszawa, 10 czerwca 2013

SignalR. Komunikacja w czasie rzeczywistym z SignalR. Mateusz Nostitz-Jackowski

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

OpenLaszlo. OpenLaszlo

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

PRZEWODNIK PO PRZEDMIOCIE

Budowanie interfejsów do baz danych

Wprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wykorzystanie Node.js w tworzeniu aplikacjach sterowanych zdarzeniami. Using of Node.js in creating application based on event-driven architecture

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

CMS, CRM, sklepy internetowe, aplikacje Web

System Zarządzania Treścią

Bardzo szybkie wprowadzenie do Node.js

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Exulto Software House

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Akademia Techniczno-Humanistyczna w Bielsku-Białej

PHP: bazy danych, SQL, AJAX i JSON

Dokumentacja aplikacji Szachy online

PHP: bloki kodu, tablice, obiekty i formularze

Dokumentacja końcowa projektu z ZPR

Aplikacje WWW i PHP - opis przedmiotu

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Wybrane działy Informatyki Stosowanej

Serwer komunikacyjny SIP dla firm

REFERAT PRACY DYPLOMOWEJ

Programowanie Komponentowe WebAPI

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Program szkolenia: REST i Microservices w PHP

Mechanizmy pracy równoległej. Jarosław Kuchta

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Wybrane działy Informatyki Stosowanej

Zaawansowane aplikacje internetowe

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

Interfejs do potwierdzania produkcji w SAP ze skanerem ELZAB

ActiveXperts SMS Messaging Server

Programowanie urządzeń mobilnych. projekt 6 ( )

Bezpieczeństwo dla wszystkich środowisk wirtualnych

Wybrane działy Informatyki Stosowanej

WebNotarius. Specyfikacja techniczna komunikacji z usługą WebNotarius. wersja 1.1

PRZEWODNIK PO PRZEDMIOCIE

Dokumentacja techniczna

Elektroniczny. Obieg Dokumentów SPRAWNA WYMIANA INFORMACJI W FIRMIE SKUTECZNA APLIKACJA DO ZARZĄDZANIA OBIEGIEM DOKUMENTÓW SPRAWNA WYMIANA

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Skalowalne aplikacje internetowe wysokiej dostępności

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

EasyNet system zarządzania dostępem do sieci internet

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Analiza, projekt i realizacja systemu wspomagania zarządzaniem hotelu. Michał Koczko 4321

O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

Jak okiełznać frontend w Django? Piotr Maliński

Nexto.API. Przykładowy klient Java 1.6 do systemu zamówień NextoAPI. Przygotował Rafał Ozga e-kiosk S.A. Maj 2015,

Forum Client - Spring in Swing

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Podstawy programowania w języku JavaScript

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Aplikacja Sieciowa wątki po stronie klienta

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Szczegółowy opis zamówienia:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Snifery wbudowane w Microsoft Windows

System generacji raportów

REFERAT O PRACY DYPLOMOWEJ

Pełna specyfikacja usługi Kreator WWW

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Nowa usługa Centrum Komputerowego PŁ. Pliki w Chmurze. Serwis przechowywania i udostępniania danych. Prezentacja wprowadzająca

Program Partnerski. Przewodnik dla partnerów

Transkrypt:

Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne:

Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne: oraz systemy CMS (Content Menager System):

Dlaczego NODE.JS a nie PHP vs. Obecnie PHP jest wykorzystywane na około 75% wszystkich stron internetowych.

Dlaczego NODE.JS a nie PHP vs. Obecnie PHP jest wykorzystywane na około 75% wszystkich stron internetowych. Wiele nowych projektów odchodzi od PHP na rzecz NODE.JS jako rozwiązania bardziej wydajnego, elastycznego i niezależnego.

Dlaczego NODE.JS a nie PHP vs. Obecnie PHP jest wykorzystywane na około 75% wszystkich stron internetowych. Wiele nowych projektów odchodzi od PHP na rzecz NODE.JS jako rozwiązania bardziej wydajnego, elastycznego i niezależnego. Daje możliwości tworzenia łatwo skalowalnych aplikacji internetowych, których działanie jest sterowane zdarzeniowo wykorzystując żądania asynchroniczne czyli bez konieczności przeładowania danego zasobu.

Node.js

Node.js http://nodejs.org/

Node.js Co to jest NODE.JS?

Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych aplikacji internetowych.

Krótka historia Node.js Środowisko Node.js zostało stworzone w 2009 roku, przez Ryana Dahla, który w tamtym czasie pracował w firmie Joyent. Ryan Dahl

Krótka historia Node.js Środowisko Node.js zostało stworzone w 2009 roku, przez Ryana Dahla, który w tamtym czasie pracował w firmie Joyent. Oficjalna premiera i prezentacja pakietu odbyła się podczas wykładu na konferencji JSConf EU 2009 Ryan Dahl

Krótka historia Node.js Node.js jest środowiskiem programistycznym napisanym w języku JavaScript. Aplikacje stworzone w środowisku Node.js są sterowane zdarzeniami wykorzystując system wejścia/wyjścia (I/O) który jest asynchroniczny. Ryan Dahl

Krótka historia Node.js Node.js jest środowiskiem programistycznym napisanym w języku JavaScript. Aplikacje stworzone w środowisku Node.js są sterowane zdarzeniami wykorzystując system wejścia/wyjścia (I/O) który jest asynchroniczny. Ryan Dahl http://nodejs.org/

Krótka historia Node.js Node.js jest środowiskiem programistycznym napisanym w języku JavaScript. Aplikacje stworzone w środowisku Node.js są sterowane zdarzeniami wykorzystując system wejścia/wyjścia (I/O) który jest asynchroniczny. Ryan Dahl http://nodejs.org/ Najnowsza wersja: v.0.10.33

Przypomnienie: asynchroniczność lan prz esy dan łanie ych ie łan esy prz anych d prze sył dan anie ych wie t wie wyś ście ście przetwarzanie wy ś tlan ie ie aktywność użytkownika wej wej SERWER nie syła prze ych dan CZAS ście SILNIK AJAX wej KLIENT (PRZEGLĄDARKA) przetwarzanie

Przypomnienie: asynchroniczność lan prz esy dan łanie ych ie łan esy prz anych d prze sył dan anie ych wie t wie wyś ście ście przetwarzanie wy ś tlan ie ie aktywność użytkownika wej wej SERWER nie syła prze ych dan CZAS ście SILNIK AJAX wej KLIENT (PRZEGLĄDARKA) przetwarzanie Jest to model asynchronicznej komunikacji HTTP, gdzie klient (przeglądarka) nie czeka na przyjście odpowiedzi na żądanie serwera, a wykonuje dalsze żądania. W takim modelu nie ma konieczności przeładowania strony przy każdej operacji klineta, wystarczy, że zostaną doczytane brakujące dane, a dzięki odpowiednim narzędziom zmodyfikowana zostanie zawartość strony.

Krótka historia Node.js Powstanie Node.js było zainspirowane przez funkcjonalności push jakie oferuje np. poczta GMAIL... Co to jest push?

Krótka historia Node.js Powstanie Node.js było zainspirowane przez funkcjonalności push jakie oferuje np. poczta GMAIL... Co to jest push? Usługi push działają w oparciu o przekazane przez klienta wcześniej informacje, na podstawie których serwer dostarcza klientowi nowych danych w zależności od tego czy są one dostępne.

Krótka historia Node.js Powstanie Node.js było zainspirowane przez funkcjonalności push jakie oferuje np. poczta GMAIL... Co to jest push? Usługi push działają w oparciu o przekazane przez klienta wcześniej informacje, na podstawie których serwer dostarcza klientowi nowych danych w zależności od tego czy są one dostępne. Przykład: Przykładem usługi push jest synchroniczny chat.

Krótka historia Node.js Node. jest czysto JavaScriptowym środowiskiem tworzenia stron internetowych działającym po stronie serwera. Do tej pory uczyliśmy się że...

Krótka historia Node.js Node. jest czysto JavaScriptowym środowiskiem tworzenia stron internetowych działającym po stronie serwera. Do tej pory uczyliśmy się że... JavaScript jest wykonywany po stronie klineta (przeglądarki)!

Krótka historia Node.js Node. jest czysto JavaScriptowym środowiskiem tworzenia stron internetowych działającym po stronie serwera. Do tej pory uczyliśmy się że... JavaScript jest wykonywany po stronie klineta (przeglądarki)! Jak zatem jest możliwe że Node.js działa na serwerze?

Google V8 Jak zatem jest możliwe że Node.js działą na serwerze?

Google V8 Jak zatem jest możliwe że Node.js działą na serwerze? Silnik V8 został stworzony na potrzeby przeglądarki Chrome, do obsługi skryptów napisanych w języku JavaScript.

Google V8 Silnik V8 został stworzony przez firmę Google na potrzeby przeglądarki Chrome, do obsługi skryptów napisanych w języku JavaScript.

Google V8 Silnik V8 został stworzony przez firmę Google na potrzeby przeglądarki Chrome, do obsługi skryptów napisanych w języku JavaScript. Jest to program napisany w języku C++, który kompiluje skrypty do kodu maszynowego, a dopiero następnie wykonuje. Dzięki takiej procedurze uzyskano wzrost wydajności i szybkości wykonywania skryptów JS.

JavaScript po stronie serwera Dzięki zastosowaniu silnika V8 wprowadzono zupełnie nowe podejście w myśleniu o wykonywaniu kodu JavaScript

JavaScript po stronie serwera Dzięki zastosowaniu silnika V8 wprowadzono zupełnie nowe podejście w myśleniu o wykonywaniu kodu JavaScript

JavaScript po stronie serwera Dzięki zastosowaniu silnika V8 wprowadzono zupełnie nowe podejście w myśleniu o wykonywaniu kodu JavaScript

JavaScript po stronie serwera Musimy odwrócić sposób myślenia jeśli chodzi wykonywanie JavaScriptu.

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE HTTP

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE HTTP

JavaScript po stronie serwera SERVER SIDE CLIENT SIDE HTTP

Obsługa żądań MODEL TRADYCYJNY KLIENCI SERWER

Obsługa żądań MODEL TRADYCYJNY KLIENCI SERWER Wątek

Obsługa żądań MODEL TRADYCYJNY KLIENCI SERWER Wątek Wątek

Obsługa żądań MODEL TRADYCYJNY KLIENCI SERWER Wątek Wątek Wątek

Obsługa żądań MODEL TRADYCYJNY KLIENCI... SERWER Wątek Wątek Wątek Oczekiwanie

Obsługa żądań MODEL TRADYCYJNY KLIENCI... SERWER Wątek Wątek Wątek Oczekiwanie Wątek W tym modelu serwer do obsługi każdego żadania musi stworzyć osobny wątek z ograniczonej puli jaką może obsłużyć CPU. Powoduje to że przy dużej ilości żądań niektóre z nich muszą czekać w kolejce na zrealizowanie. W wyniku czego serwer zaczyna zaczyna wolniej działać co wydłuża czas oczekiwania na odpowiedź.

Obsługa żądań MODEL TRADYCYJNY KLIENCI... SERWER Wątek Wątek Wątek Oczekiwanie Wątek Przykład: Dla systemu z 8GB pamięci RAM przydzialającego 2MB pamięci na wątek możemy obsłużyć maksymalnie w tym samym czasie 4000 żądań (w rzeczywistości jest to mniej ponieważ zużywamy jeszcze pamięć na inne operacje).

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER Wątek

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER Wątek

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER Wątek

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER Wątek

Obsługa żądań MODEL ZDARZENIOWY KLIENCI SERWER Wątek...

Obsługa żądań MODEL ZDARZENIOWY KLIENCI... SERWER Wątek W modelu zdarzeniowym Node.js wykorzystuje tylko jeden wątek do obsługi wielu żadąń, oraz pętlę zdarzeń co powoduje że aplikacja taka jest bardzo wydajna i skalowalna. W praktyce przy żadaniach które nie wymagają złożonych operacji obliczeniowych można obsłużyć nawet do 1 miliona żądań jednocześnie.

Pętla zdarzeń (Event loop)...

Pętla zdarzeń (Event loop)...

Pętla zdarzeń (Event loop)... Pętla zdarzeń (Event Loop) Pojedyńczy wątek

Pętla zdarzeń (Event loop)... Rejestracja funkcji zwrotnej (callback) Pętla zdarzeń (Event Loop) Pojedyńczy wątek Request (req)

Pętla zdarzeń (Event loop)... Rejestracja funkcji zwrotnej (callback) Pętla zdarzeń (Event Loop) Pojedyńczy wątek Request (req) Serwer wykonuje np. : - operacje na plikach, - operacje bazodanowe, - obliczenia

Pętla zdarzeń (Event loop)... Rejestracja funkcji zwrotnej (callback) Pętla zdarzeń (Event Loop) Pojedyńczy wątek Request (req) Zakończenie wykonania żądanej operacji przez serwer Serwer wykonuje np. : - operacje na plikach, - operacje bazodanowe, - obliczenia

Pętla zdarzeń (Event loop)... Rejestracja funkcji zwrotnej (callback) Pętla zdarzeń (Event Loop) Pojedyńczy wątek Request (req) Response (res) Wysłanie odpowiedzi w postaci wcześniej zarejestrowanej funkcji zwrotnej (callback). Zakończenie wykonania żądanej operacji przez serwer Serwer wykonuje np. : - operacje na plikach, - operacje bazodanowe, - obliczenia

Zalety wykorzystania Node.js 1. Wbudowana asynchroniczność. 2. Sterowany zdarzeniami. 3. non-blocking I/O (wykorzystanie jednego wątku). 4. Praca w czasie rzeczywistym. 5. Skalowalność. 6. Duża biblioteka gotowych modułów (NPM). 7. Jezyk JavaScript.

Liderzy wykorzystujący Node.js

Przykład prostego kodu (z strony nodejs.org) var http = require('http'); http.createserver(function (req, res) { res.writehead(200, {'Content-Type': 'text/plain'}); res.end('hello World\n'); }).listen(1337, '127.0.0.1'); console.log('server running at http://127.0.0.1:1337/'); Prosty serwer przyjmujący żądania http