Рушій JavaScript

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

Рушій JavaScript
Є реалізацією JavaScript

Як правило, браузер має браузерний рушій виводу, котрий займається промальовкою сторінок, і рушій 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» 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.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.