Σχεδιασμός και Υλοποίηση Πληροφοριακού Συστήματος βέλτιστης διαδρομής συνεπιβατών που
χρησιμοποιούν υπηρεσίες Ταξί
38
2.2.5 JavaScript
Η γλώσσα σεναριακού προγραμματισμού JavaScript (JS) [15] χρησιμοποιείται
ευρέως για τη μεταμόρφωση των εγγράφων υπερκειμένου (δυναμικές ή στατικές
ιστοσελίδες) που εμφανίζονται στο παράθυρο ενός Web Browser, από απλές
“νεκρές” παραστάσεις πληροφοριών, σε “ζωντανά” προγράμματα. Τα έγγραφα
μπορούν να αλληλεπιδρούν με το χρήστη χωρίς να χρειάζεται επαναφόρτωσή τους
από τον Web Server.
Η JS είναι η πιο δημοφιλής γλώσσας scripting στον κόσμο και εκτελείται από
τον ίδιο τον Web Browser του Client, με τη χρήση του σχετικού διερμηνευτή
(Ιnterpreter) φέροντας έτσι το χαρακτηρισμό της Client-Side γλώσσας σεναριακού
προγραμματισμού.
Μια συνηθισμένη εσφαλμένη αντίληψη είναι ότι η JS ειναι παρόμοια ή πολύ
στενά συσχετισμένη με την Java. Είναι αλήθεια πως και οι δύο μοιάζουν στη σύνταξή
τους με την C (που είναι και ο πιο άμεσος πρόγονός τους), όμως οι ομοιότητές τους
είναι λίγες, μια και η JS δεν είναι άκρως αντικειμενοστραφής. Για παράδειγμα, όλες
οι λέξεις-κλειδιά της Java χρησιμοποιούνται από τη JS, οι στάνταρ βιβλιοθήκες της JS
ακολουθούν τις συμβάσεις ονοματολογίας της Java και κάποια αντικείμενα της JS
όπως τα Date και Time, βασίζονται σε κλάσεις της Java. Εδώ όμως τελειώνουν οι
ομοιότητές τους.
Ο εκτελέσιμος πηγαίος κώδικας της JS ενσωματώνεται εύκολα σε ένα
έγγραφο υπερκειμένου HTML με δύο τρόπους: είτε άμεσα στο εσωτερικό του HTML
κώδικα, είτε με την σύνδεση ενός εξωτερικού αρχείου με κατάληξη .js στο τμήμα
<head> του εγγράφου HTML. Στις παρακάτω εικόνες (Εικόνα 8 και Εικόνα 10)
παρουσιάζονται οι δύο παραπάνω τρόποι, όπως χρησιμοποιήθηκαν στο ΠΣ μας.
Στην εικόνα αυτή (Εικόνα 8) γίνεται η ενσωμάτωση του jQuery Select2, το
οποίο αντικαθιστά το τυποποιημένο πεδίο select μιας φόρμας με ένα πιο εξελιγμένο.
Η Εικόνα 9 δείχνει στα αριστερά ένα απλό τυποποιημένο select, ενώ στα δεξιά
φαίνεται πώς αυτό έχει διαμορφωθεί από το jQuery Select2 που χρησιμοποιήσαμε.
Εικόνα 8: Σύνδεση με εξωτερικό αρχείο JS.