Wybrane działy Informatyki Stosowanej

Podobne dokumenty
Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej

Podstawy programowania GUI niskiego poziomu. APLETY.

OpenLaszlo. OpenLaszlo

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wybrane działy Informatyki Stosowanej

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Zajęcia 4 - Wprowadzenie do Javascript

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

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Wybrane działy Informatyki Stosowanej

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Wybrane działy Informatyki Stosowanej

Udostępnianie obrazu z kamer Sanyo HD na stronach WWW PORADNIK

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Bazy Danych i Usługi Sieciowe

Aplikacje WWW - laboratorium

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

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

Podstawy programowania. Wprowadzenie

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

CZYM JEST JAVASCRIPT?

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Narzędzia i platformy programowania w Internecie

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

Podstawy JavaScript ćwiczenia

Komunikacja i wymiana danych

WPROWADZENIE. Użycie PHP

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Aktywne i dynamiczne strony WWW. Elementy projektowania stron WWW. Część 3. Formularze HTML przykład. Formularze HTML. dr inŝ.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Infrastruktura aplikacji WWW

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Wykład 03 JavaScript. Michał Drabik

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Zaawansowane aplikacje internetowe

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

Programowanie obiektowe

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Bazy danych i strony WWW

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

Aplikacje WWW Wprowadzenie

Aplikacje WWW - laboratorium

Dokumentacja Skryptu Mapy ver.1.1

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Funkcje i instrukcje języka JavaScript

Delphi podstawy programowania. Środowisko Delphi

Java jako język programowania

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Rys.2.1. Drzewo modelu DOM [1]

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Instrukcja laboratoryjna cz.3

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

Specyfikacja reklamy tekstowej i bannerowej na portalu GoldenLine.pl

Programowanie Komponentowe WebAPI

Wyświetlanie publikacji w formacie DjVu. Wyświetlanie publikacji w Bałtyckiej Bibliotece Cyfrowej można realizować na 3 sposoby:

TIN Techniki Internetowe zima

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Flash - podstawy

SPECYFIKACJA TECHNICZNA PRODUKTÓW REKLAMOWYCH SIECI LOCAL POWER. Specyfikacja ważna od 21 maja 2018 r.

Program Płatnik Instrukcja instalacji

Aplikacje webowe z wykorzystaniem Node.js oraz Express

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

Programowanie obiektowe zastosowanie języka Java SE

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

Podstawy programowania w języku JavaScript

WPROWADZENIE DO JĘZYKA JAVA

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Aplikacje Internetowe

1 Wprowadzenie do J2EE

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

plansoft.org Zmiany w Plansoft.org

Zdarzenia Zdarzenia onload i onunload

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Szczegółowy opis zamówienia:

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Kurs języka Python. Wykład 14. Marcin Młotkowski. 25 stycznia Python i Apache Pythonowe platformy aplikacyjne. Dystrybucja aplikacji w U*IX

Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

System komputerowy. System komputerowy

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

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

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Transkrypt:

Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Aplikacje WWW Format HTML oferuje możliwości tworzenia statycznych stron WWW Statyczna strona WWW nie zmienia swojego wyglądu niezależnie od liczby wywołań Dynamiczna strona WWW jest każdorazowo generowana w odpowiedzi na żądanie użytkownika na podstawie szablonu Dynamiczne strony są generowane przez aplikacje WWW 2

Charakterystyki współczesnych aplikacji WWW Szybkie działanie Urozmaicony interfejs użytkownika Efektywne wykorzystanie baz danych Komunikacja w trybie online Asynchroniczna aktualizacja danych na stronie Minimalizacja obciążenia serwera Łatwy w obsłudze, stabilny oraz czytelny kod aplikacji Etc. 3

Koncepcja aplikacji WWW Aplikacja WWW - zbiór dynamicznych stron WWW stanowiący logiczną całość http://wazniak.mimuw.edu.pl/index.php?title=zaawansowane_aplikacje_internetowe 4

Metody dynamicznego generowania treści dokumentu HTML Plik szablonu <wstawki kodu> Aplikacja w postaci modułu wykonywalnego Dane obliczone w momencie obsługi żądania HTTP Generowanie HTML w locie Plik HTML Plik HTML Kod wykonywalny jest osadzony w pliku HTML Instrukcje tworzenia pliku HTML są osadzone 5 w kodzie programu

Klasyfikacja aplikacji WWW HTML HTML Web Services JavaScript HTTP CGI SSI Aplety i wtyczki JSP Servlets Przeglądarka WWW Serwer WWW Client-side scripts 6 Server-side scripts

Strona wykonania kodu programowego (skryptu) Kod wykonywany po stronie klienta (ang. Client-side script) Przeglądarka => kod => przeglądarka Kod wykonywany po stronie serwera (ang. Server-side script) Przeglądarka => serwer => kod => serwer => przeglądarka 7

Kod wykonywany po stronie klienta Pozwala na łatwą interakcję z użytkownikiem Nie obciąża serwera zbędną robotą (np. sprawdzenie czy dane zostały wprowadzone, proste animacje, nawigacja etc.) Zwiększa możliwości przeglądarki WWW (m. innymi w zakresie grafiki) Ma otwarty kod źródłowy więc nie może być stosowany do wykonania funkcji związanych z przetwarzaniem poufnych danych Może mieć problem odmiennej interpretacji na różnych przeglądarkach Może wymagać instalacji u klienta dodatkowych bibliotek 8

Kod wykonywany po stronie serwera Zalety: uniwersalność Można generować dowolną treść HTML Ukrycie szczegółów realizacji aplikacji przez klientem Wysoki poziom bezpieczeństwa Możliwość obsługi bazy danych Nie zależy od platformy użytkownika Wady: złożoność Wymagana umiejętność programowania Obciążenie serwera przy wielu równoległych połączeniach Złożona architektura 9

Technologie tworzenia aplikacji WWW Kod wykonywany po stronie klienta (w przeglądarce) Kod wykonywany po stronie serwera (na serwerze WWW) HTML Strony dynamiczne (Java Server Pages) Aplety (wtyczki) Serwlety (aplikacje) WebServices (usługi) Skrypty (JavaScript) CGI SSI 10

Aplety (client-side) Aplet program uruchamiany w przeglądarce WWW Może posiadać GUI, obsługiwać mysz oraz klawiaturę Jet dystrybuowany w postaci skompilowanej (kod źródłowy nie jest dostępny dla użytkownika) Szybkie wykonanie, zaawansowane możliwości w porównaniu z HTML Kwestie bezpieczeństwa oraz kompatybilności Przykłady: Aplety Java, Adobe Flash, Microsoft Silverlight, C++/ActiveX, etc. 11

Architektura apletów Java Aplet Wirtualny dysk Wirtualna pamięć JRE Wirtualny procesor Przeglądarka WWW Komputer klienta Środowisko uruchomieniowe

Kompilacja Kompilacja apletu Java Aplet kompiluje się do postaci kodu binarnego Kod binarny jest umieszczany na serwerze WWW Przeglądarka WWW pobiera plik apletu przy pierwszym wyświetleniu strony Aplet.java Aplet.class Strona WWW

Osadzanie apletu w kodzie HTML Znacznik <applet> lub <object> code codebase width height name align vspace hspace Nazwa klasy apletu (rozszerzenie *.class) Lokalizacja sieciowa (URL) plików *.class Szerokość okna apletu Wysokość okna apletu Nazwa apletu Wyrównanie apletu Odstęp w pionie od innych elementów na stronie Odstęp w poziomie od innych elementów na stronie

Przekazanie parametrów Do apletu można przekazać dowolne parametry, wartości których mogą być zapisane w postaci tekstowej <APPLET codebase= > <param name= nazwa1 value= wartość1 /> <param name= nazwa2 value= wartość2 /> </APPLET>

Odczyt parametrów przez aplet Odczyt parametru odbywa się za pomocą funkcji getparameter( nazwa parametru ) która zwraca wartość typu String String imie = getparameter("imie") W razie konieczności przechowania danych innego typu, należy zadbać o konwersję typów

Adobe Flash Technologia tworzenia animacji w postaci grafiki wektorowej z elementami programowania Przegląd Animacja.swf Przeglądarka WWW Programowanie interakcji Instalacja na komputerze klienta Action Script Flash Player Wtyczka 17

Microsoft SilverLight Odpowiedź Microsoft na technologię Flash Koncepcja RIA (ang. Rich Internet Application) Wsparcie OS Windows XP / Vista / Windows 8 / 10 Platforma Windows Phone Wsparcie sprzętowej akceleracji komputerowej grafiki oraz multimediów Na rok 2021 zapowiedziany jest koniec wsparcia technologii ;( 18

Charakterystyka technologii apletów ( wtyczek ) Wprowadzenie do aplikacji WWW cech interfejsu GUI na wzór aplikacji desktopowych Zaawansowane możliwości graficzne Zabezpieczony kod źródłowy (kompilacja) Dostęp do zasobów na komputerze użytkownika Niebezpieczeństwo nadużycia uprawnień Konieczność instalacji środowiska uruchomieniowego Problemy kompatybilności przeglądarek 19

JavaScript JS język skryptowy wykorzystujący składnię języka Java (poza tym ma niewiele wspólnego z Javą) Przeznaczenie: głównie kod wykonywany po stronie klienta (w przeglądarce WWW): Walidacja wartości wprowadzonych przez użytkownika Komunikaty, podpowiedzi Interaktywne menu Etc. Język interpretowany Dynamiczne typy danych Istnieje możliwość uruchomienia na serwerze WWW w celu napisania aplikacji dynamicznych 20

Zastosowanie JavaScript Strony WWW Walidacja wprowadzanych danych po stronie użytkownika Realizacja efektów wizualnych Office JavaScript Aplikacje samodzielne Aplikacje serwerowe Rhino (Google) SpiderMonkey (Mozilla) node.js Aplikacje graficzne Widgety 21

Osadzenie JS w kodzie HTML W dowolnym miejscu pliku HTML <script> function X() { }; </script> Jako zewnętrzny załącznik (możliwe jest wykorzystanie w wielu plikach HTML) <script src="przyklad.js"></script> 22

Oddziaływanie na elementy HTML id="akapit" Element HTML Kod JavaScript <script> var x = document.getelementbyid("akapit"); x.innerhtml = "Witam!"; x.style = "color: red"; x.style.fontsize = "24px"; </script> 23

Metody wyprowadzania danych Komunikat w przeglądarce window.alert("pozdrawiam!") Podmiana treści elementu HTML element.innerhtml = "nowa wartość" Generowanie treści dokumentu HTML document.write("<h1>przykład JS</h1>") 24

Funkcje JS Funkcja JS jest fragmentem kodu o określonej nazwie function X() {. } Funkcje mogą posiadać argumenty oraz zwracać wartość function Y(a, b) { } return a * b; Funkcje mogą być wywoływane przez zdarzenia 25

Zdarzenia w HTML Zdarzenie (event) zmiana stanu dokumentu HTML lub jego elementu spowodowana: Interakcją z użytkownikiem (np. kliknięcie przycisku, zmiana wartości pola tekstowego, etc.) Ukończeniem wykonania operacji (np. ładowanie dokumentu) W odpowiedzi na zdarzenie, JS może: Wykonać określoną czynność bezpośrednio w miejscu obsługi zdarzenia Wywołać funkcję obsługi (najczęściej) 26

Przykład obsługi zdarzenia Przycisk zdarzenie onclick Kod JavaScript function Test() { } <input type="button" value="naciśnij tu" onclick="test()"/> <script> function Test() { window.alert("2x2=" + 2*2); } </script> 27

Typowe zdarzenia elementów HTML Element button select radio text Zdarzenie onclick onchange onchange onkeydown 28

Walidacja zawartości pola tekstowego za pomocą JS <input type="text" id="student"> <input type="submit" onclick="return walidacja()"> Jan Kowalski Wyślij function walidacja() { var stud = document.getelementbyid('student').value; if( stud.length == 0 ) { document.getelementbyid('blad').innerhtml = 'Pole jest wymagane!'; return false; } return true; } 29

Popularne biblioteki JavaScript Angular ReactJS Vue.js 30