Skupina TG1 u ECMA připravuje novou verzi skriptovacího jazyka ECMAScript4, který se má stát základem JavaScriptu2, tedy nové generace skriptovacího jazyka webu.
O práci na ECMAScript4 (ES4) jsem poprvé zaslechl na jaře loňského roku, ale tématu jsem se dlouho vyhýbal. Byl to právě David, kdo mne přiměl se na ES4 podívat detailněji.
Tento příspěvek budiž úvodním rozcestníkem pro ty, kdo jsou na tom stejně a chtěli by se o ES4 něco málo dozvědět. Hlubší úvahy zde prosím nečekejte, ty musíte vytáhnout přímo z Davida (naštěstí David naznačil, že se o ně chystá podělit).
ES4 není jen drobnou evolucí, ale opravdu velkou změnou. Než se na něj podíváte, doporučuji si uvařit kafe, posadit se a raději se něčeho ještě pořádně chytnout. Dejte na mě!
Ono když si představíte, že JavaScript, který jsme na webu znali, rozšíříme o klasické třídy s klasickou dědičností (připomínám, že stávající JavaScript má objekty s prototypovou dědičností), zavedeme typové proměnné (už žádné ověřování, zda jsme obdrželi opravdu string nebo array, vše ohlídá interpret), konstanty, gettery a settery, jmenné prostory a… STOP. Je toho víc, ale tohle zatím stačí.
A teď to hlavní: Při tom všem chcete udržet zpětnou kompatibilitu s původními verzemi jazyka!
Asi jste pochopili jako já, že se jedná o opravdu těžký úkol, ze kterého může vzejít buď geniální dílo nebo velký průšvih.
O to větší motivace se ES4 podívat na zoubek. Pro rychlý úvod do problematiky (takový skok do ES4 po hlavě z výše pěti metrů) si prohlédněte prezentaci Johna Resiga (ano toho Johna, jehož kniha o JavaScriptu právě vyšla v češtině) nazvanou Tamarin a ECMAScript4.
A pokud vám to nebude stačit, podívejte se na Playing with ECMAScript 4, kde se dozvíte, jak zprovoznit testovací implementaci ES4, ve které si můžete většinu věcí vyzkoušet.
Pokud vám ani to nestačí, můžete se začíst do čtyřicetistránkového návrhu ES4, který společně připravili Mozilla Foundation, Opera Software a Adobe.
Vy, kdo nevěříte, že to s tou zpětnou kompatibilitou je stoprocentně dokonalé, máte pravdu a můžete si v dokumentu Incompatibilities Between ES3 and Proposed ES4 přečíst o všech deseti nekompatibilitách, které stávající návrh specifikace obsahuje, a které by údajně neměl běžný kodér JavaScriptu zaznamenat, ale je dobré o nich vědět.
ok cize ked to bude dokoncene tak prehliadace ako firefox, opera, msie, safari, ... atd si stiahnu tu kniznicu a vsetci budu mat rovnaku verziu alebo ecma vyda nejaku specifikaciu a kazdy si to napise po svojom? Pouziva tu ich implementaciu niekto (najma z "velkej stvorky" msie,firefox,opera,safari)?
ECMA je standardizacni organizace, pod jeji hlavickou se vydavaji standardy, pro priklady viz http://en.wikipedia.org/wiki/Ecma
Myslim, ze sa mozeme tychto vlastnosti dockat v exploreri tak za 10 rokov, takze je to v podstate pre bezny web nepouzitelne(aj ked spatne kompatibilne). Podla mna to vyuziju iba autori programujuci pre jednotlive implementacie, ako su gecko+js, nieco od adobe, ci uz ich pokracovanie flash, alebo aj pdf dokumenty a samozrejme opera
to dvh: ano kazdy ma vlastnu implementaciu
[9] Pro zajímavost existuje projekt ScreamingMonkey pro Tamarin (nové jádro JavaScriptu v Gecku) který umožňuje používat Tamarin i v IE nebo teoreticky dalších prohlížečích (používá takovou tu windowsí vlastnost hostování skriptovacích jazyků, nevím teď , jak se to přesně jmenuje)
Viz např. http://ejohn.org/blog/the-browser-scripting-revolution/
Jakmile tedy Gecko naimplementuje ES4, tak ho bude možné používat i v IE. Pro rozšíření u uživatelů a na webu to nebude mít vliv, ale pro intranetové aplikace to může hrát velkou roli, protože uživatelů, se může ES4 nainstalovat i do jejich prohlížeče.
haha, vy jste ale lamy, kdyz se na novou verzi EcmaScriptu tesite. Copak vam nestaci soucasne rozdily mezi implementaci v jednotlivych browserech? Zrejme ne, tak jako se zbytecne plytva casem kvuli M$IE7 se bude plytvat jeste vice s EcmaScript4.
Bude to neco jako:
if (msie6) {
...
} else if (msie7) {
...
} else if (msie8) {
...
} else if (opera) {
...
} else if (firefox) {
...
} else {
// for the browsers which fully support EcmaScript 4
}
Martin Hassman ex-biochemik, umělecký programátor a publicista. Spoluzakladatel CZilly, zakladatel Zdrojáku, správce HTML5.cz, organizátor hackathonů, čekovacích muzejních nocí aj. akcí.
Přečteno 27 484×
Přečteno 27 340×
Přečteno 25 189×
Přečteno 24 718×
Přečteno 23 117×