ΕΝΟΤΗΤΑ 1 - ΕΙΣΑΓΩΓΉ ΣΤΗΝ JAVASCRIPT
Από τις πρώτες κιόλας ημέρες ύπαρξης του διαδικτύου, έγινε αμέσως ορατή η ανάγκη οι ιστοσελίδες, και γενικότερα τα sites, να έχουν μια πιο δυναμική και διαδραστική συμπεριφορά και να δραπετεύσουν όσο το δυνατόν γρηγορότερα από το στατικό περιβάλλον του HTML.
Αν και με την παρουσία του CSS μπορέσαμε να δώσουμε ένα πιο όμορφο παρουσιαστικό στα κείμενα μας, με την προσθήκη του JavaScript κώδικα μπορέσαμε να προσθέσουμε περισσότερες δυνατότητες όπως email, ημερολόγια, τραπεζικές συναλλαγές, online αγορές, παιγνίδια και επεξεργασία κειμένου.
Αν κοιτάξουμε το παρελθόν, ο τρόπος με
τον οποίο καταχωρίσαμε και κατηγοριοποιήσαμε
τις τεχνολογίες που κατά καιρούς
εμφανίστηκαν τότε θα δούμε ότι τεχνολογίες
όπως η HTML (και όλα τα
παρακλάδια της) δημιουργήθηκαν με σκοπό
να μας προσφέρουν την ικανότητα να
παρουσιάσουμε ένα κείμενο στο διαδίκτυο,
τεχνολογίες παρόμοιες με εκείνη της
CSS δημιουργήθηκαν για να
δώσουμε μια πιο ελκυστική παρουσίαση
στο κείμενο μας, και τέλος η JavaScript
για να δώσει λειτουργικότητα και
να προσφέρει εφαρμογές στον χρήστη του
Web.
Τα προγράμματα JavaScript εκτελούνται
τοπικά στον υπολογιστή μας. Το περιβάλλον
του Web browser είναι η πιο
κοινή πλατφόρμα εκτέλεσης JavaScript
εφαρμογών αλλά δεν είναι το μόνο.
Σήμερα η JavaScript μπορεί να
εκτελεστεί σε πολλαπλές πλατφόρμες
όπως εκείνων των mobile phones, και
των servers.
Η JavaScript είναι το αποτέλεσμα
της European Computer Manufactures Association
(ECMA) επιτροπής που δημιούργησε το
στάνταρ ECMA-262 το οποίο
περιγράφει τους βασικούς κανόνες της
JavaScript γλώσσας χωρίς καμία
αναφορά σε κάποιον συγκεκριμένο web
browser. Αυτό σημαίνει ότι όποια πλατφόρμα
(κυρίως web browsers) θέλει να
είναι συμβατή με την τελευταία έκδοση
της JavaScript πρέπει να
ακολουθήσει το ECMA στάνταρ.
Το ECMAScript 6 είναι το πιο
πρόσφατο στάνταρ και σιγά σιγά όλοι οι
γνωστοί web browsers προσπαθούν
να το ενσωματώσουν στην πλατφόρμα τους.
Η τελευταία έκδοση της JavaScript
έρχεται σε εμάς με μια σωρεία από
καινούργια χαρακτηριστικά όπως classes,
promises και generators. Μην
ανησυχείτε για αυτά τώρα, θα τα αναλύσουμε
όλα αργότερα. Τέλος, μην σας μπερδεύουν
τα ονόματα ECMAScript 6, ES6, ή
ECMAScript 2015 όλα αναφέρονται
στο ίδιο πράγμα.
Εάν δεν είσαστε σίγουροι αν ο browser
σας υποστηρίζει ES6 ή
δεν γνωρίζετε ποια από τα χαρακτηριστικά
της ES6 υποστηρίζονται
στην έκδοση που έχετε, τότε μπορείτε να
επισκεφτείτε την πιο κάτω ιστοσελίδα
http://kangax.github.io/compat-table/es6/
Το πιο ευχάριστο όμως νέο είναι οι
transpilers οι οποίοι είναι
μεταφραστές της ES6 σε ES5.
Ο transpiler μας επιτρέπει
να γράφουμε σε ES6 και
εκείνος μετατρέπει την σύνταξη αυτόματα
σε ES5 επιτρέποντας σε
όλους τους browsers να τρέξουν
τον κώδικα μας αφού όλοι οι γνωστοί
browsers υποστηρίζουν ES5.
Ο πιο γνωστός transpiler τον
οποίο και θα χρησιμοποιήσουμε στα
παραδείγματα που θα παρουσιάσουμε είναι
ο Babel (https://babeljs.io/).
Θα δείξουμε αργότερα πως να
ενεργοποιήσουμε αυτή την επιλογή, όταν
θα δημιουργήσουμε και τρέξουμε το πρώτο
μας JavaScript παράδειγμα.
Τέλος, κάθε Web εφαρμογή
χρειάζεται έναν Web Server για
να μπορεί να τρέξει και είναι διαθέσιμη.
Αν και έχουμε πολλές επιλογές, θα
επιλέξουμε την εγκατάσταση του Node.js
(https://nodejs.org/en/).
Κατεβάστε το πρόγραμμα και προχωρήστε
με την εγκατάσταση του. Αν είσαστε σε
περιβάλλον Windows, απλά
ακολουθήστε τις default επιλογές.
Τώρα χρειαζόμαστε ένα περιβάλλον
ανάπτυξης Web εφαρμογών.
Και εδώ οι επιλογές μας είναι αρκετές
αλλά θα επιλέξουμε το Visual
Studio Code (https://code.visualstudio.com/).
Κατεβάστε την πιο τελευταία έκδοση
και προχωρήστε με την εγκατάσταση του.
Σχεδόν έχουμε τελειώσει με το setup
του περιβάλλοντος μας. Δημιουργήστε
ένα φάκελλο στον σκληρό σας δίσκο και
ονομάστε το JavaScriptTutorial. Τώρα,
ανοίξτε ένα terminal παράθυρο
(στα Windows δίνουμε την
εντολή CMD) και αλλάξτε το
path να δείχνει στο φάκελλο
που μόλις δημιουργήσατε. Για να
εγκαταστήσουμε τον http-server
τρέχουμε την εξής npm
εντολή:
npm
install http-server -g
Όταν τελειώσει η εγκατάσταση, μπορούμε
να ξεκινήσουμε τον http-server
γράφοντας απλά: http-server
στο cmd αφού έχουμε
πρώτα μεταφερθεί στον συγκεκριμένο
path.
Πάμε τώρα να δοκιμάσουμε να τρέξουμε
ένα απλό παράδειγμα JavaScript
για να επιβεβαιώσουμε ότι μπορούμε
να τρέξουμε στον http-server που
μόλις ενεργοποιήσαμε. Αφού ξεκινήσουμε
το Visual Studio Code, ανοίγουμε
το File και μετά Open
Folder. Βρίσκουμε τον φάκελλο τον οποίο
δημιουργήσαμε σε προηγούμενο βήμα και
πατάμε Select Folder.
Στο project που δημιουργήσαμε
με βάση τον φάκελο που επιλέξαμε, θέλουμε
τώρα να δημιουργήσουμε ένα απλό αρχείο
html. Πατάμε επάνω στο κουμπί
new file και δημιουργούμε
ένα αρχείο index.html.
Ας γράψουμε ένα απλό κώδικα html
μέσα στο αρχείο για να δούμε αν
μπορούμε να το τρέξουμε. Γράψτε τον πιο
κάτω κώδικα και μετά πατήστε Save.
Αν ανοίξετε τον browser της
επιλογής σας και γράψετε
http://localhost:8080/index.html
λογικά θα πρέπει να δείτε κάτι αντίστοιχο
με την πιο κάτω εικόνα:
Τώρα θέλουμε να εμφανίσουμε το ίδιο
μήνυμα αλλά με JavaScript κώδικα.
Επίσης, θέλουμε να ενεργοποιήσουμε τον
ES6 Babel transpiler. Για αρχή,
δημιουργούμε ένα ακόμα αρχείο στο
project μας με το όνομα
MyScript.js (το όνομα είναι
εντελώς τυχαίο). Μέσα στο αρχείο γράφουμε
τον εξής κώδικα:
document.write(“Introduction
to JavaScript”);
Σαν τελευταίο βήμα, πρέπει να μπορέσουμε
να καλέσουμε το JavaScript αρχείο
μέσα από την ιστοσελίδα μας. Αλλάξτε
τον κώδικα του html αρχείο
στον πιο κάτω κώδικα:
Αν κάνουμε refresh το URL
θα πρέπει να δούμε το ίδιο μήνυμα
όπως και πριν. Μόνο που αυτή την φορά το
output προέρχεται από το
JavaScript αρχείο. Στο html
αρχείο απλά καλούμε το JavaScript
αρχείο για να τρέξει τον κώδικα που
περιέχει. Η babel εντολή
απλά πηγαίνει στο site της
babel και κάνει transpile
τον κώδικα μας πριν τον εμφανίσει.
Εννοείται ότι αυτός ο τρόπος δεν είναι
ο σωστός για να τρέξουμε επαγγελματικές
εφαρμογές γιατί θα είναι πολύ αργός ο
χρόνος ανταπόκρισης. Για τα δικά μας
όμως τοπικά παραδείγματα που τρέχουμε
στον υπολογιστή μας είναι ικανοποιητικός.
Αυτό είναι το περιβάλλον που θα χρειαστούμε
για να τρέξουμε όλα τα παραδείγματα από
τις μελλοντικές ενότητες του JavaScript.
Απλά θα αλλάζουμε τον κώδικα μέσα
στο αρχείο MyScript.js και θα
κάνουμε refresh στην ιστοσελίδα
για να δούμε το αποτέλεσμα.
Μιχάλης Κασάπογλου