TC39 και οι συνεισφορές του στο ECMAScript

Πολλοί άνθρωποι μπερδεύονται για το τι είναι το JavaScript και τι είναι το ECMAScript. Μερικές φορές είναι δύσκολο να πούμε πώς συνδέονται μεταξύ τους και τι ρόλο παίζουν οι ECMA International και TC39 στην τυποποίηση του JavaScript.

Σε αυτήν την ανάρτηση ιστολογίου, θα συζητήσω το TC39 και τις συνεισφορές του στο ECMAScript.

Ας ξεκινήσουμε με όλες τις βασικές ορολογίες που χρησιμοποιούνται όταν μιλάμε για JavaScript και ECMAScript.

Τι είναι το ECMAScript;

Το ECMAScript είναι μια τυπική γλώσσα σεναρίου, που αναπτύχθηκε με τη συνεργασία της Netscape και της Microsoft και προέρχεται κυρίως από το JavaScript του Netscape. Το JavaScript είναι μια ευρέως χρησιμοποιούμενη γλώσσα δέσμης ενεργειών που χρησιμοποιείται σε ιστοσελίδες για να επηρεάσει τον τρόπο εμφάνισης ή συμπεριφοράς του χρήστη.

Το ECMA-262 είναι ένα πρότυπο που δημοσιεύεται από την ECMA International. Περιέχει την προδιαγραφή για μια γλώσσα δέσμης ενεργειών γενικής χρήσης που είναι γνωστή ως ECMAScript.

Λίγο περισσότερα για το JavaScript

Το JavaScript είναι μια γλώσσα δέσμης ενεργειών που σας επιτρέπει να δημιουργείτε δυναμικά ενημερώσεις περιεχομένου, να ελέγχετε πολυμέσα, να κινούμε εικόνες και να κάνετε σχεδόν όλα τα υπόλοιπα. (Εντάξει, δεν είναι όλα, αλλά είναι εκπληκτικό τι μπορείτε να επιτύχετε με μερικές γραμμές κώδικα JavaScript.)

Τι είναι το ECMA;

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

Και τώρα, ας παρουσιάσουμε τους σκληρά εργαζόμενους πίσω από το ECMAScript: TC39.

Τι είναι το TC 39;

TC39 σημαίνει τεχνική επιτροπή αριθμός 39. Είναι μέρος του ECMA, του ιδρύματος που τυποποιεί τη γλώσσα JavaScript σύμφωνα με τις προδιαγραφές "ECMAScript". Λειτουργεί με την τυποποίηση του γενικού σκοπού, της πλατφόρμας, της γλώσσας προγραμματισμού ουδέτερου προμηθευτή που είναι ECMAScript. Αυτό περιλαμβάνει τη σύνταξη της γλώσσας, τη σημασιολογία, τις βιβλιοθήκες και τις συμπληρωματικές τεχνολογίες που υποστηρίζουν τη γλώσσα.

Το TC 39 λειτουργεί :

  • Διατήρηση και ενημέρωση του προτύπου για τη γλώσσα προγραμματισμού ECMAScript.
  • Προσδιορισμός, ανάπτυξη και διατήρηση προτύπων για βιβλιοθήκες που επεκτείνουν τις δυνατότητες του ECMAScript.
  • Ανάπτυξη δοκιμαστικών σουιτών που μπορούν να χρησιμοποιηθούν για την επαλήθευση της ορθής εφαρμογής αυτών των προτύπων.
  • Συνεισφορά με επιλεγμένα πρότυπα στην επιτροπή ISO / IEC JTC 1.
  • Αξιολόγηση και εξέταση προτάσεων για συμπληρωματικές ή πρόσθετες τεχνολογίες.

Από τότε που κυκλοφόρησε το ES6, το TC 39 βελτιστοποίησε τη διαδικασία προπαρασκευής της πρότασης για να ανταποκριθεί στις σύγχρονες προσδοκίες. Η νέα διαδικασία χρησιμοποιεί ένα υπερσύνολο HTML για τη μορφοποίηση των προτάσεων. Χρησιμοποιούν αιτήματα έλξης GitHub, τα οποία βοήθησαν στην ενίσχυση της συμμετοχής από την κοινότητα. Αυξήθηκε επίσης ο αριθμός των υποβαλλόμενων προτάσεων.

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

Μια πιο γενική άποψη

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

Επεξεργασία προτάσεων

Στάδιο 0: Strawman

Οποιαδήποτε συζήτηση, ιδέα, αλλαγή ή προσθήκη που δεν έχει ακόμη υποβληθεί ως επίσημη πρόταση θεωρείται ως πρόταση «άχυρου» σε αυτό το στάδιο. Μόνο τα μέλη του TC39 μπορούν να δημιουργήσουν αυτές τις προτάσεις και σήμερα υπάρχουν πάνω από δώδεκα ενεργές προτάσεις strawman.

Στάδιο 1: Πρόταση

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

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

Στάδιο 2: Πρόχειρο

Οι προτάσεις σε αυτό το στάδιο θα πρέπει να προσφέρουν ένα αρχικό σχέδιο των προδιαγραφών.

Σε αυτό το σημείο, είναι λογικό για τους εφαρμοστές να αρχίσουν να πειραματίζονται με πραγματικές υλοποιήσεις στο χρόνο εκτέλεσης. Η εφαρμογή θα μπορούσε να έρθει σε πολλές μορφές: ένα polyfill, κωδικός χρήστη που επηρεάζει τον χρόνο εκτέλεσης ώστε να συμμορφώνεται με την πρόταση, μια εφαρμογή κινητήρα (η οποία φυσικά παρέχει υποστήριξη για την πρόταση) ή θα μπορούσε να υποστηριχθεί από έναν μεταγλωττιστή χρόνου κατασκευής όπως ο Babel.

Στάδιο 3: Υποψήφιος

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

Οι εκτελεστές θα έπρεπε να είχαν εκφράσει επίσης ενδιαφέρον για την πρόταση - μια πρόταση χωρίς υποστήριξη από τους εκτελεστές είναι νεκρή στο νερό. Στην πράξη, οι προτάσεις μεταβαίνουν σε αυτό το επίπεδο με τουλάχιστον μία εφαρμογή προγράμματος περιήγησης, ένα polyfill υψηλής πιστότητας ή όταν υποστηρίζονται από έναν transpiler όπως το Babel.

Στάδιο 4: Ολοκληρώθηκε

Τέλος, οι προτάσεις φτάνουν σε αυτό το στάδιο όταν υπάρχουν τουλάχιστον δύο ανεξάρτητες εφαρμογές που περνούν τις δοκιμές αποδοχής.

Τι έπεται?

Οι προτάσεις που φτάνουν στο στάδιο 4 θα συμπεριληφθούν στην επόμενη αναθεώρηση του ECMAScript. Όταν η προδιαγραφή περνά από την ετήσια επικύρωσή της ως πρότυπο, η πρόταση επικυρώνεται ως μέρος αυτής.

Έτσι γίνονται αποδεκτές οι ιδέες για την εξέλιξη της γλώσσας ECMAScript και προστίθενται στην επόμενη αναθεώρηση του ECMAScript. Και είμαστε όλοι ευγνώμονες για το έργο που επιτέλεσε το TC39, το οποίο είναι πολύτιμο.

Με αυτό, φτάσαμε στο τέλος της συζήτησής μας για το TC39 και τις συνεισφορές του στο ECMAScript.

Ευχαριστώ για την ανάγνωση.

Πηγές: TC 39 Process, ECMA International