Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

JavaScript-motor

Új téma nyitása
Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2025. április 12.

Pontosságellenőrzött

AJavaScript-motor olyan speciálisszoftver, amiértelmezi és futtatja aJavaScript (vagyECMAScript) kódot. Bár számos más felhasználása is létezik a JavaScript-motoroknak, leggyakrabban mégiswebböngészőkben használatosak.[1][2][2]

Története

[szerkesztés]

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

Az első JavaScript-motort aNetscape Communications Corporationnél dolgozóBrendan Eich kódolta aNetscape Navigatorwebböngésző számára. ASpiderMonkey kódnevű motortC nyelven implementálta. Azóta (a JavaScript 1.5-ben) frissítették, hogy megfeleljen az ECMA-262 Edition 3 specifikációinak. ARhino 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 ChromeV8 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ánosAPI-t használják ún. „host object”-ek (a befogadó környezet által nyújtott objektumok) létrehozására, amik felelnek aDOM-ok JavaScriptbe való tükrözéséért.

A JavaScript-futtatómotorok másik gyakori alkalmazási környezete awebkiszolgáló. AJavaScript webszerver aHTTP-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. AMicrosoftIIS-ben használtASP-technológiája lehetővé teszi a szerveroldali kód megírásátVB 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

[szerkesztés]

„…a korábban színfalak mögötti, JavaScriptnek nevezett programozási technológia egyszerre láthatóvá válik… ”

– -CNET[2]

A tipikus, nagyobb böngészők rendelkeznek egygrafikus 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 aPresto, a Nitro és aWebKit; aSpiderMonkey és aGecko; aKJS és aKHTML; a Rhinónak alapértelmezésben nincs megjelenítőmotorja. Más kombinációk is elképzelhetők, például aGoogle Chrome-ban aV8-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).

ASunspider egyJavaScript-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 benneHTML-,CSS- vagy hálózatkezelés).

A JavaScript-motorok versenye: 2008 és 2009

[szerkesztés]

Elindult egy versenyfutás a böngészők fejlesztői között, hogy ki tudja kifejleszteni a leggyorsabb JavaScript-motorokat. 2008-ban aGoogle 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 WebKitSquirrelfish, illetve a MozillaTraceMonkey 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 azx86 architektúrát támogatta, azApple Inc. minden platformtesztjét sikeresen lefuttatta, így aMac OS Xx86-64-architektúráin is engedélyezésre került.[12]

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

A JavaScript-motorok versenye: 2010-

[szerkesztés]

2010 elején a norvégOpera 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 adottInternet Explorer 9Chakra motorja ígéretesnek látszott.[1] A JägerMonkey nyilvános tesztelése 2010 nyarán kezdődött aFirefox 4 bétaverziójában.[14] A szintén 2010 nyarán megjelentSafari 5 30%-ot gyorsult a Nitro motort használóSafari 4-hez képest.[15]

JavaScript-motorok

[szerkesztés]

Mozilla

[szerkesztés]

Google

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

Opera

[szerkesztés]

Safari

[szerkesztés]
  • JavaScriptCore, amit később SquirrelFishre neveztek át és Nitro néven reklámoztak, aSafari motorja

Egyéb

[szerkesztés]

Implementációk

[szerkesztés]

A JavaScript azECMAScript egy dialektusa, amit számos alkalmazás támogat, különösen awebböngészők. Az egyes dialektusokban időnként kiegészítik a nyelvet, astandard könyvtárat és a kapcsolódóAPI-kat, mint aW3C által meghatározottDOM. Ez azt is jelenti, hogy adott dialektusban megírt alkalmazásinkompatibilis 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 ésRhinoJavaScript 1.8.1ECMA-262, edition 3
OperaECMAScript némiJavaScript 1.5-
ésJScript-kiegészítéssel[17]
ECMA-262, edition 3
KHTML-böngészőmotor, KDEKonqueror és AppleSafariJavaScript 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.5RMAI-kiterjesztésekkelECMA-262, edition 3

Külső hivatkozások

[szerkesztés]

Jegyzetek

[szerkesztés]
  1. abchttp://news.cnet.com/8301-30685_3-20000110-264.htmlArchiválva2013. október 3-i dátummal aWayback Machine-ben "Opera 10.5 brings new JavaScript engine" Stephen Shankland
  2. abcdArchivált másolat. [2013. március 22-i dátummal azeredetiből archiválva]. (Hozzáférés: 2011. március 24.)
  3. Stephen Shankland:Speed test: Google Chrome beats Firefox, IE, Safari.cnet.com Business Tech.CNET News, 2008. szeptember 2. [2012. május 1-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 28.)
  4. Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome.PC Games Hardware. Computec Media AG. [2012. május 2-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 28.)
  5. Lifehacker Speed Tests: Safari 4, Chrome 2.Lifehacker. [2021. február 14-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 28.)
  6. Stephen Shankland:Third Chrome beta another notch faster.cnet.com.CNET News, 2008. október 31. (Hozzáférés: 2010. június 28.)
  7. Stephen Shankland:Step aside, Chrome, for Squirrelfish Extreme.cnet.com.CNET News, 2008. szeptember 19. [2012. szeptember 25-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 29.)
  8. SquirrelFish Extreme: Fastest JavaScript Engine Yet.satine.org. (Hozzáférés: 2010. június 29.)
  9. Stephen Shankland:Firefox counters Google's browser speed test.cnet.com Business Tech.CNET News, 2008. szeptember 3. [2012. május 1-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 29.)
  10. Garen, Geoffrey:Announcing SquirrelFish, 2008. június 2. [2020. május 12-i dátummal azeredetiből archiválva]. (Hozzáférés: 2008. június 11.)
  11. Lipskas, Vygantas:Apple Safari 4, 2008. június 11. [2012. május 1-i dátummal azeredetiből archiválva]. (Hozzáférés: 2008. június 11.)
  12. https://trac.webkit.org/changeset/40439
  13. Ryan Paul:Firefox to get massive JavaScript performance boost.arstechnica.com. Ars Technica © 2010 Condé Nast Digital, 2008. augusztus 22. (Hozzáférés: 2010. június 28.)
  14. abFirefox 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:Internet Explorer 9 Beta Next – New IE9 Builds Every 8 Weeks.softpedia.com. SoftNews NET SRL, 2010. március 20. (Hozzáférés: 2010. június 28.)
  17. Web specifications support in Opera Presto.Opera.com. Opera Software ASA. [2012. június 4-i dátummal azeredetiből archiválva]. (Hozzáférés: 2010. június 28.)

Fordítás

[szerkesztés]
  • Ez a szócikk részben vagy egészben aJavaScript engine című angol Wikipédia-szócikkezen 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.
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=JavaScript-motor&oldid=28040685
Kategóriák:

[8]ページ先頭

©2009-2026 Movatter.jp