Pogadanka o czymś, co niektórzy nazywają AJAX



Podobne dokumenty
DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010

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

Paweł Rajba,

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

Podstawy programowania w języku JavaScript

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

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

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

Zaawansowane aplikacje internetowe AJAX. Wykład prowadzi: Marek Wojciechowski AJAX

OpenLaszlo. OpenLaszlo

Zaawansowane aplikacje internetowe

TECHNOLOGIE SIECI WEB

Praktyczne zastosowanie technologii AJAX do tworzenia stron WWW. Sylwia Binek, Agata Nawrocka, Marek Mędrek

Część I Powtórka z technologii internetowych...15

Aplikacje Internetowe

PRZEWODNIK PO PRZEDMIOCIE

I Podstawy Wprowadzenie do technologii Ajax Żądanie Odpowiedź XML 31 JSON 39

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

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

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

Tomasz Grześ. Systemy zarządzania treścią

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Aplikacje WWW i PHP - opis przedmiotu

Dokument hipertekstowy

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Aplikacje WWW. Możliwość wykorzystania elementów interfejsu użytkownika znanych z aplikacji Windows tj. wskaźniki postępu.

Tworzenie aplikacji 18 Uruchamianie przykładu 24. Budowanie i instalowanie aplikacji Ajax 27 Uruchamianie przykładu 29

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

RAPORT Z TESTÓW. Projekt: BAND Bank nasadzeń drzew. Strona domowa projektu:

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

PRZEWODNIK PO PRZEDMIOCIE

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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

Google Web Toolkit Michał Węgorek ZPO 2009

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Aplikacje Internetowe

Specyfikacja. Załącznik A

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

Serwery Statefull i Stateless

Wybrane działy Informatyki Stosowanej

Aplikacje Internetowe termin dodatkowy

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

PHP: bloki kodu, tablice, obiekty i formularze

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

Wybrane działy Informatyki Stosowanej

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

AKTUALNE TRENDY BUDOWY APLIKACJI INTERNETOWYCH. Mariusz Żytniewski

Szczegółowy opis zamówienia:

Simple Object Access Protocol

XML extensible Markup Language. część 5

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

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

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

Wydział Ekonomiczno-Informatyczny w Wilnie. 1. Podstawy programowania strukturalnego (C) 2. Wstęp do programowania obiektowego

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

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Podstawy programowania w języku JavaScript

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ń.

KARTA KURSU. Języki hipertekstowe i tworzenie stron WWW. Opis kursu (cele kształcenia) Warunki wstępne. Efekty kształcenia. Nazwa

XML-RPC: Zdalne wykonywanie procedur

Ajax. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Geis Web Print Dokumentacja użytkownika

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Programowanie urządzeń mobilnych. projekt 6 ( )

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

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

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

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

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

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

REACT NATIVE. Anna Maziejuk Kamil Jankowski

KONCEPCJA WYKORZYSTANIA TECHNOLOGII APPLET- JAVA W TWORZENIU

Dokumentacja końcowa projektu z ZPR

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Systemy obiegu informacji i Protokół SWAP "CC"

Kurs walut. Specyfikacja projektu. Marek Zając

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Wybrane działy Informatyki Stosowanej

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017. Forma studiów: Niestacjonarne Kod kierunku: 11.

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

Przetwarzanie danych w chmurze

Rys.2.1. Drzewo modelu DOM [1]

REFERAT O PRACY DYPLOMOWEJ

Automatyzacja Testowania w WEB 2.0

Rok akademicki: 2030/2031 Kod: ZIE s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Hybrydowe aplikacje webowe

Transkrypt:

Pogadanka o czymś, co niektórzy nazywają AJAX Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 25 listopada 2005 roku

Nowy świat aplikacji internetowych... System/przeglądarka Dzięki rozwojowi standardów internetowych coraz łatwiej jest pisać aplikacje których działnie nie zależy od systemu operacyjnego i użytej przeglądarki internetowej. SOA Service-Oriented Architecture Najtrafniej opisał to Albert Einstein(czyżby przewidział istnienie serwisów?): Thingsshouldbemadeassimpleas possible, but no simpler. A poczciwy unix owiec potwierdził: Keep it simple, stupid! SPA Single Page Application Technologia która zapewnia nam dynamiczny interfejs użytkownika.

Single Page Application Aplikacja typu Single Page Application jest programem internetowym uruchomionym wewnątrz przeglądarki WWW. SPA jest kombinacją HTML(XHTML), JavaScript i styli CSS. Aplikacja w odróżnieniu od tradycyjnej strony WWW działa w obrębie jednej fizycznej strony wygenerowanej przez przeglądarkę. SPA modyfikuje stronę poprzez interfejs DOM. Obecnie połączenie technologi SPA z zewnętrznymi serwisami nazywa się AJAX.

AJAX AJAX Asynchronous JavaScript and XML Jest to technika tworzenia interaktywnych aplikacji WWW używając kombinacji technologii: HTML(XHTML) i CSS warstwa prezentacji. Interfejs DOM i język JavaScript to jest człon JavaScript andxml. Obiekt XMLHttpRequest sprawca wystąpienia słowa Asynchronous. Aplikacja AJAX sprawia wrażenie, że działa w całości na maszynie użytkownika ponieważ dane są pobierane częściowo i w razie potrzeby,aniejaktomiałomiałomiejscewprzypadku tradycyjnych aplikacji WWW, gdzie były odświeżane całe strony.

AJAX... Jest wiele kontrowersji wokół nazwy, lecz trafnie całe zamieszanie podsumował Paul Graham: Basically, what Ajax means is Javascript now works. And that in turn means that web-based applicationscannowbemadetoworkmuchmorelike desktop ones.

AJAX a tradycyjny model WWW Rysunek: Jesse James Garrett Ajax: A New Approach to Web Applications

AJAXamodelSOA Rysunek: Dion Hinchcliffe s Blog- Musings and Ruminations on Building Great Systems

Tradycyjna synchroniczna komunikacja Rysunek: Artykuł Jesse James Garrett Ajax: A New Approach to Web Applications

AJAX i asynchroniczna komunikacja Rysunek: Artykuł Jesse James Garrett Ajax: A New Approach to Web Applications

Obiekt XMLHttpRequest Firma Microsoft jako pierwsza zaimplementowała obiekt XMLHttpRequest w przeglądarce Internet Explorer 5 jako obiekt ActivX. Następnie programiści projektu Mozilla zaimplementowali natywną wersję XMLHttpRequest(zgodną programowo z obiektem ActivX Microsoftu) w przeglądarce Mozilla 1.0. Obiekt XMLHttpRequest zaimplementowany został również w przeglądarkach Opera i Safari. Podobna funkcjonalność została zapewniona przez propozycję organizacji W3C: Document Object Model(DOM) Level 3 Load and Save Specification. Jednak wraz ze wzrostem liczby przeglądarek wspierających XMLHttpRequest, obiekt ten stał sie de facto standardem w komunikacji asynchronicznej.

Tworzenie obiektu if(window.xmlhttprequest) { http = new XMLHttpRequest(); } else if(window.activexobject) { http = new ActiveXObject("Microsoft.XMLHTTP"); }

Metody obiektu abort(): Zatrzymuje aktualne rządanie. getallresponseheaders(): Zwraca kompletny nagłówek(zbiór etykiet i wartości) jako string. getresponseheader( etykieta ): Zwraca wartość pojedyńczego nagłówka(jako string), którego etykieta została podana jako parametr. open( metoda, URL, asyn): Określenie docelowego adresu URL i metody planowanego rządania. send(dokument): Wysłanie rządania. setrequestheader( etykieta, wartość ): Określenie elementów nagłówka, który zostanie wysłany razem z żądaniem.

Własności obiektu onreadystatechange Uchwyt dla funkcji wywoływanej przy każdej zmianie stanu. readystate Stan obiektu(integer): 0=uninitialized 1=loading 2=loaded 3=interactive 4=complete responsetext Pole przechowuje dane pobrane z serwera. responsexml Dane kompatybilne z DOM zwrócone z serwera. status Numeryczny kod zwrócony przez serwer(np. 404, 200). statustext Opis kodu zwróconego przez serwer.

Obsługa zdarzeń obiektu XMLHttpRequest http.onreadystatechange = function() { if(http.readystate == 4) { // wszystko w porządku, możemy przetwarzać dane } else { //daneciągleniesągotowe } };

Obsługa zdarzeń obiektu XMLHttpRequest if(http.status == 200) { //super! } else { // problem z obsługą rządania //np.bład404 };

Wysłanie zapytania http.open( GET, http://code.org/file.php, true); http.send(null);

PracazdanymiXML Przy pomocy obiektu XMLHttpRequest możemy pobrać dane w postaci XML i operować na nich za pomocą interfejsu DOM: http.overridemimetype( text/xml );... // wykonanie rządania danych... var xmldoc = http.responsexml; var dvd = xmldoc.getelementsbytagname( dvd ).item(0);

Pięta Achillesowa AJAX 1 JavaScript musi być włączona obsługa skryptów. 2 Niepełna implementacja standardów W3C przez producentów przeglądarek internetowych. 3 Nieoczekiwane zachowanie typowych elementów przeglądarki takich jak np. przycisk cofnij.

Przykłady aplikacji AJAX GMail http://gmail.com Google Groups http://groups.google.com/ Google Maps http://maps.google.com/ Własna strona Google http://www.google.com/ig FCKeditor http://www.fckeditor.net/demo/ JS/UIX Terminal http://www.masswerk.at/jsuix/ Cheetah http://cheetah.gnu.org.ua/

Coś więcej? AHAh AHAH: Asychronous HTML and HTTP AHAH jest prostą techniką pobierania danych za pomocą JavaScript. Technika ta polega na wykorzystaniu obiektu XMLHttpRequest do pobierania całych stron XHTML lub ich fragmentów i bezpośredniego wklejania ich na bieżącej stronie przeglądarki.

Coś więcej? AHAh AHAH: Asychronous HTML and HTTP AHAH jest prostą techniką pobierania danych za pomocą JavaScript. Technika ta polega na wykorzystaniu obiektu XMLHttpRequest do pobierania całych stron XHTML lub ich fragmentów i bezpośredniego wklejania ich na bieżącej stronie przeglądarki.

Inadokładkę... AFLAX Asynchronous Flash and XML Technologia polegająca na połączeniu AJAX i Flash w celu uzyskania bardziej dynamicznych aplikacji WWW.

Koniec teorii! Napiszmy coś wykorzystując technologie AJAX!