Εφαρµογές και Περιβάλλοντα Εργασίας AJAX

Σχετικά έγγραφα
A J A X AJAX Γιάννης Αρβανιτάκης

Μηχανή αναζήτησης βασισμένη σε AJAX και Soundex. Πτυχιακή Εργασία

Πληροφορίες για το μάθημα

Η HTML 5 θα αλλάξει το Web?

Προγραμματισμός Διαδικτύου

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

64.1% 18.8% 5.9% 5.2% 2.7%

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Διαβάστε στο Παράρτημα Α.1 πώς θα γράψετε ένα πρόγραμμα PHP για την παροχή δεδομένων σε μορφή διαφορετική από την HTML.

Η βασική εργαλειοθήκη του διαδικτύου

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

JAVASCRIPT EVENTS. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Day 1 Internet & (Browsers)

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

Αλίκη Παπαθανασίου του Ευάγγελου

Information Technology for Business

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

1.1 ιαδίκτυο και Εφαρµογές Τοπικές Εφαρµογές ικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές... 8

οµή της παρουσίασης Στατιστικά στοιχεία Άδειες χρήσης Γενικά στοιχεία Βασικά χαρακτηριστικά του browser

"Ανάπτυξη προηγμένης εφαρμογής απεικόνισης και ενσωμάτωσης Υπηρεσιών Καταλόγου (LDAP) με τη χρήση των τεχνολογιών Web 2.0"

Salespoint. hovernet Το τηλέφωνό µας: Η διεύθυνσή µας: 25 Μαρτίου 44, Νέοι Επιβάτες Θεσσαλονίκη

ΕΝΗΜΕΡΩΤΙΚΟ ΔΕΛΤΙΟ ΚΕ ΠΛΗΝΕΤ Δ Δ/ΝΣΗ ΑΘΗΝΑΣ ΣΥΝΕΡΓΑΤΙΚΗ ΜΑΘΗΣΗ ΣΥΝΕΡΓΑΤΙΚΗ ΜΑΘΗΣΗ ΜΕ ΥΠΟΣΤΗΡΙΞΗ ΥΠΟΛΟΓΙΣΤΗ (COMPUTER-SUPPORTED COLLABORATIVE LEARNING)

Ενότητα 1: HTTP, Clients και Servers. (Web, το θεμέλιο του Σημασιολογικού Ιστού)

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Δημοσίευση στο Διαδίκτυο

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή):

Bringing the web offline

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Κινητές τεχνολογίες;

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εφαρµογές WebGIS Open Source

Εισαγωγή στην πληροφορική

Κατανεμημένα Συστήματα. Javascript LCR example

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου

...στις µέρες µας, όσο ποτέ άλλοτε, οι χώρες καταναλώνουν χρόνο και χρήµα στη µέτρηση της απόδοσης του δηµόσιου τοµέα...(oecd)

JAVASCRIPT 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Περιγραφή του EcoTruck

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΙΑ ΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

Κινητές τεχνολογίες;

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Τεχνικός Εφαρμογών Πληροφορικής

Εφαρµογές διαδικτύου µε PHP

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Εκπαιδευτικές συνεδρίες κατάρτισης:

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Tεχνολογίες AJAX για εφαρμογές e-shopping

ΨΗΦΙΑΚΉ ΠΛΑΤΦΌΡΜΑ ΧΩΡΙΚΏΝ ΔΕΔΟΜΈΝΩΝ ΓΙΑ ΤΗΝ ΤΟΠΙΚΉ ΑΥΤΟΔΙΟΊΚΗΣΗ

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

"Διαδικτυακή υπηρεσία πληροφοριών φαρμακείων"

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Χαρτογραφική Επιστημονική Εταιρεία Ελλάδος. Κουρούνη Μαρία, Τσαμπάζη Αικατερίνη. 13ο Εθνικό Συνέδριο Χαρτογραφίας

Ειδικά θέματα σε κινητά και ασύρματα δίκτυα

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Javascript events. part 01

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Παρουσίαση Θερινού Σχολείου. Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

Ανοικτά Ακαδηµα κά Μαθήµατα. ιαδικτυακές εφαρµογές ιαχείριση µαθηµάτων µε ηλεκτρονικό τρόπο Πρόγραµµα σπουδών διδακτική ενότητα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

Μελέτη περίπτωσης συστήµατος διαχείρισης οπτικοακουστικού περιεχοµένου δηµιουργηµένου από χρήστες Flickr

Βασικές Έννοιες Web Εφαρμογών

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης

ΕΚΔΗΛΩΣΗ ΕΝΗΜΕΡΩΣΗΣ ΠΡΩΤΟΕΤΩΝ. Παρουσίαση Εργαστηρίων Πληροφορικής

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification

HTTP API v1.6 SMSBOX.GR HTTP API v

Δημιουργία Ιστοσελίδας για Ασφαλιστικό Γραφείο

Κινητή εφαρμογή για την αυθόρμητη αναφορά προβλημάτων σε μία πόλη

Μάθημα 2 ο : Υποδομή Πληροφοριακών Συστημάτων Διοίκησης

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

Προγραμματισμός για το Web

Αστέριος Κατσιφοδήμος Γιώργος Νικολάου Κώστας Βρυώνη. ΕΠΛ 428 Προγραμματισμός Συστημάτων 16/04/07

ΔΕ10: Πληροφοριακά Συστήματα Διοίκησης IΙ Εργαστήριο # 2

17PROC

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Γαβαλάς Δαμιανός

Ημερομηνία Παράδοσης: 4/4/2013

Περίληψη ιπλωµατικής Εργασίας

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Εργαστήριο Σημασιολογικού Ιστού

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Transcript:

Εφαρµογές και Περιβάλλοντα Εργασίας AJAX Θεόδωρος Χ. Κασκάλης Αναπληρωτής Καθηγητής Πανεπιστήµιο υτικής Μακεδονίας

Εισαγωγή AJAX σηµαίνει: Asynchronous JavaScript and XML Ορισµός Wikipedia: Το AJAX, είναι µια τεχνική ανάπτυξης αλληλεπιδραστικών δικτυακών σελίδων/εφαρµογών. Η σκοπιµότητά του έγκειται στη δηµιουργία της αίσθησης µεγαλύτερης ανταπόκρισης από τις ιστοσελίδες, µέσω της ανταλλαγής µικρών τµηµάτων δεδοµένων µε το διακοµιστή, διαφανώς και χωρίς να απαιτείται η πλήρης επαναφόρτωση της σελίδας. Τελικός στόχος είναι η βελτίωση της αλληλεπίδρασης, της ταχύτητας, της λειτουργικότητας και της χρηστικότητας.

Προβλήµατα ιστοσελίδων Οι απλές ιστοσελίδες πάντα κάνουν RELOAD ενώ θα έπρεπε να κάνουν UPDATE Οι χρήστες περιµένουν την επαναφόρτωση της σελίδας όταν το µόνο που άλλαξε είναι ίσως ένα µικρό τµήµα της Επιτρέπονται µόνο µεµονωµένες αιτήσεις/ απαντήσεις

Παραδείγµατα http://www.ajaxtrans.com/ http://maps.google.com/ http://www.objectgraph.com/dictionary/ http://www.kayak.com/ http://lyricsfly.com/ http://ondras.zarovi.cz/sql/demo/

Γιατί συζητάµε για το AJAX τόσο πολύ τώρα; Μεγαλώνουν οι απαιτήσεις για εµπλουτισµένες δικτυακές υπηρεσίες Ευρυζωνικότητα σηµαίνει ότι µπορούµε (και θέλουµε) να κάνουµε περισσότερα Απέκτησε όνοµα Όπως το LAMP, βοηθά τους ανθρώπους να καταλάβουν την τεχνική Το Google µας «κακοµαθαίνει» Gmail, Google Maps, Google Docs, Google Calendar, Οι άνθρωποι πιστεύουν πλέον στην ανάπτυξη δικτυακών εφαρµογών και όχι δικτυακών τόπων

Ο ρόλος του AJAX στο Web 2.0 Χαρακτηριστικά του Web 2.0 Ο ιστός ως πλατφόρµα Κοινωνική δικτύωση Υπέρβαση του hardware Υπηρεσίες και όχι λογισµικό Εµπλουτισµένο περιβάλλον χρήσης Το AJAX βρίσκεται στον πυρήνα του Web 2.0 Τόσο το περιβάλλον χρήστη Όσο και στην αλληλεπίδραση µε τους servers

Συστατικά του AJAX HTML και CSS Παρουσίαση πληροφοριών Document Object Model Αλληλεπίδραση µε το πληροφοριακό περιεχόµενο Το αντικείµενο XMLHttpRequest ΑΣΥΓΧΡΟΝΗ λήψη δεδοµένων από τον web server Javascript Ισχυρή αλληλεπίδραση µε το χρήστη και «συγκόλληση» όλων των παραπάνω

Επεξεργασία αίτησης

Ασύγχρονη επεξεργασία - XMLHttpRequest Επιτρέπεται η έναρξη µιας αίτησης HTTP στο παρασκήνιο Η απάντηση επιστρέφει «διαφανώς» µέσα στον κώδικα Javascript Υποστηρίζεται από όλους τους τυπικούς browsers

Παράδειγµα XMLHttpRequest ηµιουργία αντικειµένου var requester = new XMLHttpRequest(); (IE 6): var requester = new ActiveXObject("Microsoft.XMLHTTP"); Μεταφορά δεδοµένων στον server requester.open("post", "/query.php") requester.send("name=bob&email=bob@example.com"); «ιαφανής» αναµονή του client requester.onreadystatechange = statehandler; Όπου statehandler είναι µια συνάρτηση που θα χειριστεί την απάντηση µε βάση µια µεταβλητή readystate: 0 Uninitialised 1 Loading 2 Loaded 3 Interactive 4 Completed

ιαχείριση απάντησης (statehandler) Έλεγχος για τον αν το αντικείµενο XMLHttpRequest επέστρεψε επιτυχώς τα δεδοµένα, ή προέκυψε σφάλµα. if (requester.readystate == 4) { if (requester.status == 200) { success(); } }

Συνολικό Παράδειγµα var req = new XMLHttpRequest(); req.onreadystatechange = myhandler; req.open("get", "servlet", true); req.send("p1=abc"); function myhandler() { if (req.readystate == 4) { dosomethingwith(req.responsexml); } }

Πιθανά προβλήµατα Προγραµµατισµός σε Javascript Βοήθεια από βιβλιοθήκες (libraries) και περιβάλλοντα εργασίας (frameworks) Χρήση του DOM Πιθανές διαφοροποιήσεις µεταξύ browsers Πολλές (ίσως) αιτήσεις HTTP requests στον server Ωστόσο είναι µικρές οκιµές οκιµές cross-browser Νέες εκδόσεις browsers Τι γίνεται µε τα πλήκτρα του browser; (π.χ. Back Button)

Frameworks Έτοιµες συναρτήσεις, βιβλιοθήκες Αντιµετώπιση cross-browser προβληµάτων Οικονοµία στον κώδικα απλότητα Ευκολία εκµάθησης Αντιµετώπιση νέων εκδόσεων browsers µέσω νέων εκδόσεων frameworks

Ext διαχείριση του AJAX Ext.Ajax.request({ url : 'ajax.php', params : { action : 'getdate' }, method: 'GET', success: function ( result, request ) { Ext.MessageBox.alert('Success', 'Data return from the server: '+ result.responsetext); }, failure: function ( result, request) { Ext.MessageBox.alert('Failed', result.responsetext); } });

Το AJAX φτάνει παντού Λειτουργικά συστήµατα (Adobe AIR) Mac OS Windows Linux Παιχνιδοµηχανές Wii (Opera) Κινητά τηλέφωνα Opera Mobile and Opera Mini Symbian S60 Windows Mobile iphone