Рушій JavaScript

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Рушій JavaScript
Є реалізацією JavaScript

Рушій 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 та був написаний на мові програмування Сі. З часом він оновлювався, проте відносно нього була досягнута сумісність з третьою редакцією специфікації ECMA-262.

Наступну редакцію рушія JavaScript — Rhino писав переважно Норріс Бойд (Norris Boyd, теж з Netscape), на мові програмування Java. Як й попередній SpiderMonkey, Rhino сумісний з третьою редакцією специфікації ECMA-262. З цією специфікацією також сумісні Nitro від Apple Safari, V8 від Google Chrome та TraceMonkey від Mozilla Firefox, починаючи з версії 3.5.

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

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

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

Основні рушії JavaScript[ред. | ред. код]

Mozilla[ред. | ред. код]

Opera Software[ред. | ред. код]

  • Carakan — використовувався в Opera версіях 10.50 .. 12.

Google[ред. | ред. код]

  • V8 — рушій JavaScript з відкритим сирцевим кодом, що був розроблений данським відділенням компанії Google. Використовується в браузерах на основі Chromium, Maxthon. Також V8// використовується в платформи node.js та io.js.

Інші[ред. | ред. код]

Дивіться також[ред. | ред. код]

Виноски[ред. | ред. код]

  1. «Opera 10.5 brings new JavaScript engine» [Архівовано 3 жовтня 2013 у Wayback Machine.] Stephen Shankland
  2. Oiaga, Marius (20 березня 2010). Internet Explorer 9 Beta Next – New IE9 Builds Every 8 Weeks. softpedia.com (англійською). SoftNews NET SRL. Архів оригіналу за 1 травня 2012. Процитовано 30 червня 2010. 

Посилання[ред. | ред. код]