TC39 és hozzájárulása az ECMAScript-hez

Sokan összezavarodnak abban, hogy mi a JavaScript és mi az ECMAScript. Néha nehéz megmondani, hogyan kapcsolódnak egymáshoz, és milyen szerepet játszik az ECMA International és a TC39 a JavaScript szabványosításában.

Ebben a blogbejegyzésben a TC39-et és az ECMAScript-hez való hozzájárulását fogom megvitatni.

Kezdjük az összes alapvető terminológiával, amikor a JavaScript-ről és az ECMAScript-ről beszélünk.

Mi az ECMAScript?

Az ECMAScript egy szabványos szkriptnyelv, amelyet a Netscape és a Microsoft együttműködésével fejlesztettek ki, és főként a Netscape JavaScript-jéből származik. A JavaScript egy széles körben használt szkriptnyelv, amelyet a weboldalakon használnak arra, hogy befolyásolják a felhasználó kinézetét vagy viselkedését.

Az ECMA-262 az ECMA International által közzétett szabvány. Ez tartalmazza az általános célú szkriptnyelv specifikációját, amely ECMAScript néven ismert.

Még egy kicsit a JavaScript-ről

A JavaScript egy szkriptnyelv, amely lehetővé teszi dinamikusan frissülő tartalmak létrehozását, a multimédia vezérlését, a képek animálását és nagyjából minden mást. (Oké, nem minden, de elképesztő, amit elérhet néhány sor JavaScript-kóddal.)

Mi az ECMA?

Az ECMA az információs és kommunikációs rendszerek szabványszervezete. Az ECMA célja, hogy szabványokat és műszaki jelentéseket dolgozzon ki az információs kommunikációs technológia és a szórakoztató elektronika használatának megkönnyítése és egységesítése érdekében. Ösztönzi a szabványok helyes használatát azáltal, hogy befolyásolja a környezetet, amelyben alkalmazzák őket, és ezeket a szabványokat és jelentéseket elektronikus és nyomtatott formában teszi közzé.

Most pedig mutassuk be az ECMAScript: TC39 mögött álló szorgalmas embereket.

Mi az a TC 39?

A TC39 a 39-es számú technikai bizottságot jelenti. Ez része az ECMA-nak, annak az intézménynek, amely az „ECMAScript” specifikáció alatt szabványosítja a JavaScript nyelvét. Az ECMAScript általános célú, cross-platform, gyártói semleges programozási nyelv szabványosításán dolgozik. Ez magában foglalja a nyelvi szintaxist, a szemantikát, a könyvtárakat és a nyelvet támogató kiegészítő technológiákat.

TC 39 dolgozik :

  • Az ECMAScript programozási nyelv szabványának fenntartása és frissítése.
  • Az ECMAScript képességeit kibővítő könyvtárak szabványainak azonosítása, fejlesztése és fenntartása.
  • Tesztcsomagok kifejlesztése, amelyek felhasználhatók e szabványok helyes végrehajtásának ellenőrzésére.
  • Válogatott szabványokkal való hozzájárulás az ISO / IEC JTC 1 bizottsághoz.
  • Kiegészítő vagy kiegészítő technológiákra vonatkozó javaslatok értékelése és mérlegelése.

Az ES6 megjelenése óta a TC 39 korszerűsítette a javaslat előkészítési folyamatát, hogy megfeleljen a modern elvárásoknak. Az új folyamat a HTML felettes készletét használja a javaslatok formázásához. GitHub-kéréseket használnak, amelyek elősegítették a közösség részvételét. A benyújtott javaslatok száma is nőtt.

A specifikáció ma már inkább életszínvonal, ami azt jelenti, hogy a javaslatok gyorsabban elfogadják az alkalmazást, és nem töltünk éveket arra, hogy a specifikáció új kiadását megjelenítsük.

Általánosabb nézet

Az ECMAScript specifikáció elolvasásával megtanulhatja, hogyan kell létrehozniszkriptnyelv. A JavaScript dokumentációjának elolvasásával megtanulhatja az adott szkript nyelv használatát.

Az ajánlat feldolgozása

0. szakasz: Strawman

Minden olyan vita, ötlet, változás vagy kiegészítés, amelyet még nem nyújtottak be hivatalos javaslatként, ebben a szakaszban „szalmakalapos” javaslatnak minősül. Csak a TC39 tagjai készíthetik ezeket a javaslatokat, és ma már több mint egy tucat aktív strawman javaslat található.

1. szakasz: javaslat

Ebben a szakaszban a javaslatot formalizálják, és várhatóan átfogó kérdésekre, a más javaslatokkal való interakciókra és a végrehajtási problémákra fog válaszolni. A jelen szakaszban szereplő javaslatok egy diszkrét problémát azonosítanak, és konkrét megoldást kínálnak erre a problémára.

Ebben a szakaszban a javaslat gyakran tartalmaz magas szintű API leírást, használati példákat, valamint a belső szemantika és algoritmusok tárgyalását. Ezek a javaslatok valószínűleg jelentősen megváltoznak, miközben előrehaladnak a folyamat során.

2. szakasz: Huzat

Az ebben a szakaszban szereplő javaslatoknak tartalmazniuk kell a specifikáció kezdeti tervezetét.

Ezen a ponton ésszerű, hogy a megvalósítók futás közben kezdjenek kísérletezni a tényleges megvalósításokkal. A megvalósítás sokféle formában fordulhat elő: polifill, felhasználói kód, amely a futási időt összekeveri a javaslat betartásával, egy motor implementáció (amely natív módon támogatja a javaslatot), vagy támogathatja egy build-time fordító, mint a Babel.

3. szakasz: Jelölt

Ebben a szakaszban a javaslatok jelölt ajánlások. Ebben a haladó szakaszban a specifikáció szerkesztőjének és a kijelölt ellenőröknek alá kell írniuk a végleges specifikációt. Nem valószínű, hogy a 3. szakasz javaslata javításon felül megváltozik a vadonban azonosított problémákhoz.

A megvalósítóknak is érdeklődniük kellett volna a javaslat iránt - a megvalósítók támogatása nélküli javaslat halott vízben van. A gyakorlatban a javaslatok erre a szintre lépnek, legalább egy böngésző-megvalósítással, nagy pontosságú polifill-kitöltéssel, vagy ha egy beépítési idejű transzpiler, például a Babel támogatja őket.

4. szakasz: Kész

Végül, a javaslatok akkor jutnak el ehhez a szakaszhoz, amikor legalább két független megvalósítás van, amely megfelel az elfogadási teszteknek.

Mi a következő lépés?

A 4. szakaszba bejutó javaslatokat az ECMAScript következő felülvizsgálata tartalmazza. Amikor a specifikáció az éves ratifikációját standardként végzi, a javaslatot annak részeként megerősítik.

Így fogadják el az ECMAScript nyelv fejlesztésének ötleteit, és adják hozzá az ECMAScript következő felülvizsgálatához. És mindannyian hálásak vagyunk a TC39 által végzett munkáért, ami felbecsülhetetlen.

Ezzel elértük a TC39-ről és az ECMAScript-hez való hozzájárulásáról szóló beszélgetésünk végét.

Köszönöm, hogy elolvasta.

Források: TC 39 Process, ECMA International