Quire

A JavaScript-motor olyan speciális szoftver, ami értelmezi és futtatja a JavaScript (vagy ECMAScript) kódot. Bár számos más felhasználása is létezik a JavaScript-motoroknak, leggyakrabban mégis webböngészőkben használatosak.[1][2][2]

Története#edit

A második, 2008-2009-es böngészőháború előtt, a JavaScript-motor (másképpen JavaScript-értelmező vagy JavaScript-implementáció) egyszerűen egy interpreter volt, ami beolvasta és sorról sorra végrehajtotta a JavaScript forráskódot.

Az első JavaScript-motort a Netscape Communications Corporationnél dolgozó Brendan Eich kódolta a Netscape Navigator webböngésző számára. A SpiderMonkey kódnevű motort C nyelven implementálta. Azóta (a JavaScript 1.5-ben) frissítették, hogy megfeleljen az ECMA-262 Edition 3 specifikációinak. A Rhino motort szintén egy Netscape-dolgozó, Norris Boyd hozta létre, Javában. Ahogy a SpiderMonkey, a Rhino is megfelel az ECMA-262 Edition 3-nak. A technológia felhasználói közé tartozik az Apple Safari 4 Nitro motorja, a Google Chrome V8 JavaScript-motorja és a Mozilla Firefox 3.5-ben található TraceMonkey.

A JavaScript messze leggyakoribb gazdakörnyezete a webböngésző. A böngészők általában a nyilvános API-t használják ún. „host object”-ek (a befogadó környezet által nyújtott objektumok) létrehozására, amik felelnek a DOM-ok JavaScriptbe való tükrözéséért.

A JavaScript-futtatómotorok másik gyakori alkalmazási környezete a webkiszolgáló. A JavaScript webszerver a HTTP-kérések és -válaszok objektumait reprezentáló host object-eket hozzáférhetővé teszi egy JavaScript nyelvű program számára, ami ezek alapján dinamikusan weboldalakat generál. A Microsoft IIS-ben használt ASP-technológiája lehetővé teszi a szerveroldali kód megírását VB Script és JScript (a Microsoft JavaScript-implementációja) nyelven egyaránt. A Jaxer egy teljesen JavaScriptben megírt webszerver; ennek az az előnye, hogy ugyanaz a kód futhat szerver- és kliensoldalon.

A teljesítmény fejlődése#edit

– -CNET[2]

A tipikus, nagyobb böngészők rendelkeznek egy grafikus motorral és egy attól független JavaScript-motorral, ami könnyebbé teszi a tesztelést és a más projektben való felhasználását. Ilyen kombinációk a Carakan és a Presto, a Nitro és a WebKit; a SpiderMonkey és a Gecko; a KJS és a KHTML; a Rhinónak alapértelmezésben nincs megjelenítőmotorja. Más kombinációk is elképzelhetők, például a Google Chrome-ban a V8-at használják együtt a WebKittel. A JavaScript-motor a fejlesztőknek hozzáférést enged a webböngésző vezérléséhez szükséges funkciókhoz (hálózat, DOM-kezelés, külső események, HTML5 videó, canvas- és adattárolás).

A Sunspider egy JavaScript-sebességteszt, ami több mint egy tucat, a JavaScript nyelv különböző aspektusaira koncentráló tesztben értékeli a JavaScript-motorok sebességét. A SunSpider a mérés során nem használ az alapfunkcionalitáson kívüli képességeket (nincs benne HTML-, CSS- vagy hálózatkezelés).

A JavaScript-motorok versenye: 2008 és 2009#edit

Elindult egy versenyfutás a böngészők fejlesztői között, hogy ki tudja kifejleszteni a leggyorsabb JavaScript-motorokat. 2008-ban a Google Chrome-ot dicsérték JavaScript-teljesítménye miatt, de hamarosan egyes más böngészők JavaScript-motorjai még gyorsabbak lettek. Később a Google Chrome visszanyerte első helyét. A Chrome fő erősségei az általános webmegjelenítés és a JavaScript-feldolgozás sebessége, melyekben a többi nagy böngészővel szembeni elsőségét több weboldal egymástól függetlenül igazolta.[3][4][5]

A WebKit Squirrelfish, illetve a Mozilla TraceMonkey JavaScript-virtuálisgépeinek megjelenésével a Chrome JavaScript-futtatási teljesítménye lassabbnak bizonyult.[6][7][8][9] A Google válasza erre a dán fejlesztésű V8 JavaScript-motor volt, ami a Google Chrome 2-ben nagy löketet adott a JavaScript-teljesítménynek.

A WebKit fejlesztői csapata 2008. június 2-án jelentette be a SquirrelFisht,[10] az akkor új JavaScript-motort, ami jelentősen megdobta a Safari böngésző teljesítményét.[11] A fejlesztők számára 2008. június 11-én átadott motor a Safari 4 új funkciói közé tartozott; a JavaScript-motor végleges verziója a Nitro nevet kapta.

2009 januárjában az akkor SquirrelFish Extreme (SFX) néven futó motor, ami korábban csak az x86 architektúrát támogatta, az Apple Inc. minden platformtesztjét sikeresen lefuttatta, így a Mac OS X x86-64-architektúráin is engedélyezésre került.[12]

A 2009. június 30-án megjelent Firefox 3.5-be bekerült optimalizációs technika „egyes esetekben 20-40-szeres teljesítményjavulást” ígért a Firefox 3-hoz képest.[13]

A JavaScript-motorok versenye: 2010-#edit

2010 elején a norvég Opera böngészőben lecserélték az öregedő Futhark motort a korai tesztekben 2,5-ször gyorsabbnak bizonyuló Carakan-ra.[2] Versenyben volt még ekkortájt az Apple Safarijában található Nitro (korábban SquirrelFish néven futott) és a Firefox új JägerMonkey engine-je („a Nitro és a korábbi TraceMonkey Engine keresztgyereke”).[1] A Microsoft lemaradt, böngészője az elterjedtebb böngészők közül a leglassabb volt, külön JavaScript-motor nélkül; bár 2010 közepére az akkor még ki nem adott Internet Explorer 9 Chakra motorja ígéretesnek látszott.[1] A JägerMonkey nyilvános tesztelése 2010 nyarán kezdődött a Firefox 4 bétaverziójában.[14] A szintén 2010 nyarán megjelent Safari 5 30%-ot gyorsult a Nitro motort használó Safari 4-hez képest.[15]

JavaScript-motorok#edit

Mozilla#edit

Google#edit

  • V8 – nyílt forrású, Dániában fejleszti a Google, a Google Chrome részét képezi

Opera#edit

Safari#edit

  • JavaScriptCore, amit később SquirrelFishre neveztek át és Nitro néven reklámoztak, a Safari motorja

Egyéb#edit

Implementációk#edit

A JavaScript az ECMAScript egy dialektusa, amit számos alkalmazás támogat, különösen a webböngészők. Az egyes dialektusokban időnként kiegészítik a nyelvet, a standard könyvtárat és a kapcsolódó API-kat, mint a W3C által meghatározott DOM. Ez azt is jelenti, hogy adott dialektusban megírt alkalmazás inkompatibilis lehet egy másikkal, ha nem úgy írták meg az alkalmazásokat, hogy a támogatott funkciók és API-k közös részhalmazára szorítkozzanak.

Meg kell különböztetni a dialektusokat és az implementációkat. A nyelv egy dialektusa annak szignifikáns változatát jelenti, míg egy nyelv/dialektus implementációja az adott nyelven/dialektusban írt program futtatására képes.

AlkalmazásDialektus és legutolsó verzióECMAScript-kiadás
Google Chrome, V8 JavaScript-motorJavaScriptECMA-262, edition 3
Mozilla Firefox, Gecko böngészőmotor, SpiderMonkey és RhinoJavaScript 1.8.1ECMA-262, edition 3
OperaECMAScript némi JavaScript 1.5-
és JScript-kiegészítéssel[17]
ECMA-262, edition 3
KHTML-böngészőmotor, KDE Konqueror és Apple SafariJavaScript 1.5ECMA-262, edition 3
Adobe AcrobatJavaScript 1.5ECMA-262, edition 3
OpenLaszlo PlatformJavaScript 1.4ECMA-262, edition 3
Max/MSPJavaScript 1.5ECMA-262, edition 3
ANT Galio 3JavaScript 1.5 RMAI-kiterjesztésekkelECMA-262, edition 3

Külső hivatkozások#edit

Jegyzetek#edit

  1. http://news.cnet.com/8301-30685_3-20000110-264.html Archiválva 2013. október 3-i dátummal a Wayback Machine-ben "Opera 10.5 brings new JavaScript engine" Stephen Shankland
  2. "Archivált másolat". 2013. március 22. dátummal az eredeti címről archiválva. Hozzáférés: 2011. március 24. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  3. Stephen Shankland (2008. szeptember 2.). "Speed test: Google Chrome beats Firefox, IE, Safari". cnet.com Business Tech. CNET News. 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  4. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 2012. május 2. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28.
  5. "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. 2021. február 14. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28.
  6. Stephen Shankland (2008. október 31.). "Third Chrome beta another notch faster". cnet.com. CNET News. Hozzáférés: 2010. június 28.
  7. Stephen Shankland (2008. szeptember 19.). "Step aside, Chrome, for Squirrelfish Extreme". cnet.com. CNET News. 2012. szeptember 25. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  8. "SquirrelFish Extreme: Fastest JavaScript Engine Yet". satine.org. 2012. május 9. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29.
  9. Stephen Shankland (2008. szeptember 3.). "Firefox counters Google's browser speed test". cnet.com Business Tech. CNET News. 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29.
  10. Garen, Geoffrey (2008. június 2.). "Announcing SquirrelFish". 2020. május 12. dátummal az eredeti címről archiválva. Hozzáférés: 2008. június 11.
  11. Lipskas, Vygantas (2008. június 11.). "Apple Safari 4". 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2008. június 11.
  12. https://trac.webkit.org/changeset/40439
  13. Ryan Paul (2008. augusztus 22.). "Firefox to get massive JavaScript performance boost". arstechnica.com. Ars Technica © 2010 Condé Nast Digital. Hozzáférés: 2010. június 28.
  14. "Firefox 4 Vision: fast, powerful, and empowering".
  15. http://www.prnewswire.com/news-releases/apple-releases-safari-5-95817479.html Safari 5 Released
  16. Marius Oiaga (2010. március 20.). "Internet Explorer 9 Beta Next – New IE9 Builds Every 8 Weeks". softpedia.com. SoftNews NET SRL. Hozzáférés: 2010. június 28.
  17. "Web specifications support in Opera Presto". Opera.com. Opera Software ASA. Hozzáférés: 2010. június 28.

Fordítás#edit

  • Ez a szócikk részben vagy egészben a JavaScript engine című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

References#

  1. ^ a b c http://news.cnet.com/8301-30685_3-20000110-264.html Archiválva 2013. október 3-i dátummal a Wayback Machine-ben "Opera 10.5 brings new JavaScript engine" Stephen Shankland
  2. ^ a b c d "Archivált másolat". 2013. március 22. dátummal az eredeti címről archiválva. Hozzáférés: 2011. március 24. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  3. ^ Stephen Shankland (2008. szeptember 2.). "Speed test: Google Chrome beats Firefox, IE, Safari". cnet.com Business Tech. CNET News. 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  4. ^ "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 2012. május 2. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28.
  5. ^ "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. 2021. február 14. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 28.
  6. ^ Stephen Shankland (2008. október 31.). "Third Chrome beta another notch faster". cnet.com. CNET News. Hozzáférés: 2010. június 28.
  7. ^ Stephen Shankland (2008. szeptember 19.). "Step aside, Chrome, for Squirrelfish Extreme". cnet.com. CNET News. 2012. szeptember 25. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29. {{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
  8. ^ "SquirrelFish Extreme: Fastest JavaScript Engine Yet". satine.org. 2012. május 9. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29.
  9. ^ Stephen Shankland (2008. szeptember 3.). "Firefox counters Google's browser speed test". cnet.com Business Tech. CNET News. 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2010. június 29.
  10. ^ Garen, Geoffrey (2008. június 2.). "Announcing SquirrelFish". 2020. május 12. dátummal az eredeti címről archiválva. Hozzáférés: 2008. június 11.
  11. ^ Lipskas, Vygantas (2008. június 11.). "Apple Safari 4". 2012. május 1. dátummal az eredeti címről archiválva. Hozzáférés: 2008. június 11.
  12. ^ https://trac.webkit.org/changeset/40439
  13. ^ Ryan Paul (2008. augusztus 22.). "Firefox to get massive JavaScript performance boost". arstechnica.com. Ars Technica © 2010 Condé Nast Digital. Hozzáférés: 2010. június 28.
  14. ^ a b "Firefox 4 Vision: fast, powerful, and empowering".
  15. ^ http://www.prnewswire.com/news-releases/apple-releases-safari-5-95817479.html Safari 5 Released
  16. ^ Marius Oiaga (2010. március 20.). "Internet Explorer 9 Beta Next – New IE9 Builds Every 8 Weeks". softpedia.com. SoftNews NET SRL. Hozzáférés: 2010. június 28.
  17. ^ "Web specifications support in Opera Presto". Opera.com. Opera Software ASA. Hozzáférés: 2010. június 28.

This article is mirrored from “JavaScript-motor” on Magyar Wikipedia, revision 29067973, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 29067973 · just now