Share It

27 Φεβ 2010

Μεγάλες ανακαλύψεις, μέρος Ι

Μία από τις μεγαλύτερες ανακαλύψεις της δεκαετίας των '00ς είναι το XMLHttpRequest.

Η ιδιαιτερότητά του έγκειται στο ότι είναι ανακάλυψη και όχι εφεύρεση, παρά το ότι έχει υπάρξει επίσης και εφεύρεση ή, τέλος πάντων, τεχνητό ανθρώπινο δημιούργημα. Ουσιαστικά, πρόκειται για ένα αντικείμενο της γλώσσας JavaScript, που με κατάλληλη χρήση επιτρέπει την άμεση ανανέωση του περιεχομένου σε τμήματα μίας ιστοσελίδας.

Η γλώσσα JavaScript θεωρείται από τους περισσότερους προγραμματιστο-κομπιουτεράδες κάτι σαν τα ξερατά του σατανά και πολύς κόσμος τη μισεί. Έτσι, ελάχιστοι πρόσεξαν ότι από το 2000 προσέφερε στα χέρια του προγραμματιστή ένα αντικείμενο που του επιτρέπει να φορτώνει το περιεχόμενο μιας σελίδας (α) ταχύτερα και (β) δυναμικά. Λένε ότι το "μυστικό" έγινε ευρύτερα γνωστό όταν το Google το χρησιμοποίησε για να εμφανίζει τις προτάσεις που εμφανίζει καθώς γράφει κανείς τις λέξεις που θέλει να αναζητήσει.

Τον πρώτο καιρό του γουέμπ δεν είχαμε δυναμικές σελίδες. Έβαζες την ηλεκτρονική διεύθυνση, στην οποία αντιστοιχούσε μια ηλεκτρονική σελίδα, κι ό,τι είχε γραμμένο σε εκείνη τη σελίδα, το έβλεπες στην οθόνη σου. Γι αυτό και τη λέγαμε "σελίδα", επειδή μας θύμιζε τις σελίδες ενός βιβλίου ή μιας εφημερίδας.

Αργότερα, ήρθε η εποχή των δυναμικών σελίδων. Από τη μια πλευρά, τα περιεχόμενά τους προέρχονται από διάφορες πηγές, χωρίς κάποιος να τα πάρει από τις πηγές και να τα αντιγράψει στη σελίδα. Αυτό σημαίνει ότι οι δυναμικές σελίδες μπορούν να διαβάζουν μόνες τους τις ειδήσεις που σας ενδιαφέρουν και να σας τις παρουσιάζουν.

Από την άλλη πλευρά, μια δυναμική σελίδα μπορεί να δεχθεί κείμενο από εσένα, τον απλό χρήστη της, να το επεξεργαστεί, και να στο γυρίσει επεξεργασμένο. Για παράδειγμα, όταν αγοράζεις κάτι από ένα ηλεκτρονικό κατάστημα, βάζεις τα στοιχεία της πιστωτικής σου κάρτας, και πατάς ένα κουμπί. Αν η σελίδα είναι δυναμική, διαβάζει τον αριθμό, σε χρεώνει το σχετικό ποσό και σε ενημερώνει ότι η συναλλαγή εκτελέστηκε κανονικά.

Άρα, οι δυναμικές σελίδες κάνουν διάφορα πράγματα μόνες τους. Μας αρέσει αυτό; Και βέβαια μας αρέσει. Αρκεί να μπορούν να το κάνουν λίγο πιο γρήγορα. Δυστυχώς, η στάνταρ τεχνολογία των ιστοσελίδων απαιτεί σε κάθε καταχώρηση να "φεύγουν" πίσω όλα όσα βλέπει κανείς στην οθόνη του και να "ξαναφορτώνουν" ανανεωμένα. Ακόμα κι αν η αλλαγή που έχουμε κάνει δεν επηρεάζει ολόκληρη τη σελίδα, ακόμα κι αν το συγκεκριμένο κουμπάκι αλλάζει απλώς μια ασήμαντη φράση στο κάτω μέρος, η παραδοσιακή τεχνολογία απαιτεί την πλήρη επαναφόρτωση της σελίδας.

θα μου πείτε "εντάξει ρε φίλε, πως κάνεις έτσι; Αυτές οι σελίδες είναι τσάμπα. Ούτε από χαρτί είναι, να χαλάμε δέντρα, ούτε πληρώνεις για να τις δεις". Η αλήθεια είναι πως τίποτα δεν είναι τσάμπα σε αυτή την κοινωνία, κι όποιος δεν το έχει καταλάβει, ας ρίξει λίγο νερό στο πρόσωπό του. Κάθε σελίδα του ίντερνετ κοστίζει. Κοστίζει η παροχή τους στους χρήστες, κοστίζει η δημιουργία της, η προστασία της και η συντήρησή της. Αν δεν την βλέπουν πολλοί άνθρωποι, η σελίδα χάνει την αξία της, κι επομένως η στήριξή της δεν είναι, πλέον, συμφέρουσα. Αν, πάλι, τη βλέπουν πολλοί άνθρωποι, τα μηχανήματα και τα σύρματα αρχίζουν να ζορίζονται, με αποτέλεσμα να αναζητούνται μέθοδοι για αποτελεσματικότερη λειτουργία της.

Με το XMLHttpRequest οι σελίδες μπορούν να είναι πιο γρήγορες και πιο οικονομικές, κάτι σαν τα γιαπωνέζικα αμάξια. Αντί να διακινούνται ολόκληρες ιστοσελίδες, χάρη στο XMLHttpRequest διακινούνται ακριβώς και μόνο οι πληροφορίες που χρειάζεται να διακινηθούν. Έτσι, και τα σύρματα δεν ζορίζονται πολύ, και η σελίδα ανανεώνεται πιο γρήγορα.

Πέρα από αυτό, χάρη στο XMLHttpRequest διάφορες εταιρίες του ιντερνέ έχουν δημιουργήσει εφαρμογές υψηλού επιπέδου στο γουέμπ, με μενουδάκια και γραφικά, που επεξεργάζονται κείμενο, φωτογραφία, φτιάχνουν λογιστικά φύλλα, και διάφορα άλλα πράγματα που ως τώρα κάναμε με ειδικά προγράμματα και εκτός διαδικτύου.

To XMLHttpRequest είναι η καρδιά αυτού που οι κομπιουτεράδες ονομάζουν AJAX (είναι αρχικά, δεν αναφέρονται ούτε στην ομάδα του Άμστερνταμ, ούτε στην ομάδα των Ιωαννίνων). Παράλληλα, όμως, είναι και ένα σπανιότατο φαινόμενο στην ιστορία, όπου κάτι που αποτελεί εφεύρεση, μετά από 5 χρόνια θεωρείται και ανακάλυψη! Το ανάποδο, πάντως, θα ήταν ακόμα πιο εντυπωσιακό.