Перейти до вмісту

Рушій JavaScript

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 15:29, 27 січня 2012, створена Luckas-bot (обговорення | внесок) (r2.7.1) (робот додав: ang, ca, eo, es, fi, fr, hu, it, la, pt, ru, simple, sv, zh)

Рушій JavaScript — спеціалізована програма, що виконує скрипти JavaScript, переважно, в браузерах.[1]

Як правило, браузер має браузерний рушій виводу, котрий займається промальовкою сторінок, і рушій JavaScript — це спрощує тестування, перевикористання або використання в інших проектах. Наприклад, Carakan використовується з Presto, Nitro з WebKit, SpiderMonkey з Gecko, KJS з KHTML, Rhino, за умовчуванням з жодним з браузерних рушіїв не використовується. Іноді можливі інші комбінації, наприклад, V8 з WebKit в Google Chrome. Рушій JavaScript дозволяє розробникам отримати доступ до функціональності (робота з мережею, з DOM, з зовнішніми подіями, з HTML5 (video, canvas, storage), що є необхідним для управління сучасним веб-браузером.

Історія

Перший рушій JavaScript створений Бренданом Айхом у Netscape Communications для браузера Netscape Navigator. Рушій отримав кодове ім'я SpiderMonkey і був реалізований на [[C мова програмування|мові програмування Сі]]. Згодом він оновлювався і відносно нього була досягнута сумісність з третьою редакцією специфікації ECMA-262. Рушій JavaScript Rhino написаний переважно Норрісом Бойдом (en:Norris Boyd, теж з Netscape) і являв собою реалізацію JavaScript на мові програмування Java. Як і SpiderMonkey, Rhino сумісний з третьою редакцією специфікації ECMA-262. З цією специфікацією також сумісні Nitro з Apple Safari, V8 з Google Chrome і TraceMonkey з Mozilla Firefox 3.5.

Найпоширенішим середовищем виконання JavaScript є браузер. Як правило браузери надають відкритий API для створення об'єктів середовища виконання (en:host objects), які надають можливість роботи з DOM в JavaScript.

Іншим розповсюдженим середовищем виконання JavaScript є веб-сервер. Веб-сервер, що підтримує JavaScript, надає об'єкти середовища виконання, що представляють HTTP-запит і HTTP-відповідь. Маніпулюючи цими об'єктами, програма на JavaScript може динамічно генерувати сторінки. Наприклад, технологія ASP для веб-сервера IIS дозволяє реалізовувати серверну частину в тому числі і на мові програмування JScript (реалізація JavaScript від компанії Microsoft). Інший приклад це веб-сервер Jaxer, що надає крім об'єктів традиційних для серверів ще й об'єкти традиційні для браузерів. Перевагою такого підходу є те, що один і той же код може бути розділений між сервером і клієнтом.

До 2008-2009 рушій JavaScript (званий також інтерпретатор JavaScript і реалізація JavaScript) реалізовувався як інтерпретатор, що зчитував і виконував сирцевий код на JavaScript. Згодом, коли складність і навантаження веб-застосунків значно зросли, розробники стали використовувати технології компіляції на льоту (JIT), методи паралельного обчислення та інші прийоми прискорення швидкодії..

Основні рушії JavaScript

Mozilla
  • SpiderMonkey, найперший рушій JavaScript, створений Бренданом Айхом в Netscape Communications .
  • Rhino, розроблений Mozilla Foundation рушій з відкритим сирцевим кодом, повністю написаний на Java
  • Tamarin
Opera Software
  • Carakan, використовується в Opera, починаючи з версії 10.50.
Google
  • V8, рушій JavaScript з відкритим сирцевим кодом, що розробляється данським відділенням компанії Google. Використовується в браузерах на основі Chromium, а також в Maxthon 3
Інші

KJS — ECMAScript/JavaScript-рушій середовища робочого столу KDE, спочатку розроблений Гаррі Портеньйо для браузера Konqueror

Виноски

  1. "Opera 10.5 brings new JavaScript engine" Stephen Shankland
  2. Oiaga, Marius (20 березня 2010). Internet Explorer 9 Beta Next – New IE9 Builds Every 8 Weeks. softpedia.com (англ.). SoftNews NET SRL. Процитовано 30 червня 2010.

Посилання