Відмінності між версіями «V8 (рушій JavaScript)»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
(Виправлено джерел: 1; позначено як недійсні: 0. #IABot (v2.0beta15))
 
Рядок 76: Рядок 76:
 
[[Категорія:Рушії JavaScript]]
 
[[Категорія:Рушії JavaScript]]
 
[[Категорія:Віртуальні машини]]
 
[[Категорія:Віртуальні машини]]
  +
[[Категорія:Node.js]]
 
[[Категорія:Програмне забезпечення на C++]]
 
[[Категорія:Програмне забезпечення на C++]]

Поточна версія на 15:41, 12 вересня 2019

V8 JavaScript Engine
V8 JavaScript engine logo 2.svg
Тип рушій JavaScript
Розробник The Chromium Project
Перший випуск 2 вересня, 2008; 11 років тому (2008-09-02)
Стабільний випуск 5.8[1][2] (19 квітня, 2017; 2 роки тому (2017-04-19))
Версії 7.7.190 (5 липня 2019)[3]
Репозиторій chromium.googlesource.com/v8/v8
Платформа IA-32, x86-64, ARM[4], MIPS[5]
Операційна система Багатоплатформний
Написано на C++,[6] JavaScript[6]
Стан розробки активний
Ліцензія BSD[7]
developers.google.com/v8

V8 JavaScript Engine у Вікісховищі?

V8 — рушій JavaScript з відкритим сирцевим кодом. Розроблений данським відділенням компанії Google та розповсюджується за ліцензією BSD.

Огляд[ред. | ред. код]

Розробка JavaScript-рушія V8 почалася у данському відділенні Google в місті Орхус. Провідним розробником став Ларс Бак (Lars Bak).

Основними проблемами, які розв'язували розробники були швидкодія та масштабованість[8]. Перша лабораторна версія рушія з'явилася 3 липня 2008[9], а вже 2 вересня було офіційно представлена ​​версія 0.2.5, яка увійшла в перший публічний реліз Chromium[10].

Ларс Бак вважав[11], що V8 має особливості:

  • Компіляція сирцевого коду JavaScript безпосередньо у власний машинний код, минаючи стадію проміжного байт-коду.
  • Ефективна система керування пам'яттю, яка дозволяє швидко резервувати місця для об'єкту та зменшити очікування на прибирання сміття[12]
    • V8 зупиняє виконання коду під час виконання прибирання сміття.
    • V8 може точно визначати, де містяться в пам'яті об'єкти й [[вказівники|посилання], що дозволяє уникнути витоку пам'яті при помилковій ідентифікації об'єктів як посилань.
  • Введення прихованих класів й вбудованих кешів, які прискорюють доступ до властивостей та виклики функцій.

V8 виконує JavaScript-сценарії в особливих «контекстах», які по суті є окремими віртуальними машинами. Але в одному процесі може працювати тільки одна віртуальна машина, незважаючи на можливість використання декількох потоків[13]. У Chromium це обходиться мультипроцесовою архітектурою, підвищується також стабільність і безпека через реалізацію механізму «пісочниці»[14].

Рушій V8 відрізняється від інших рушіїв (JScript, SpiderMonkey, JavaScriptCore, Nitro) високою швидкодією та продуктивністю[15][16][17][18][19].

Продукти, що використовують V8[ред. | ред. код]

Рушій V8 використовується в:

  • браузерах (Google Chrome та Chromium);
  • в складі серверних платформ Node.js[20];
  • в складі десктоп-програм, наприклад, на платформі .NET/Mono.

Браузери[ред. | ред. код]

  • Chromium — веб-браузер з відкритим кодом, на основі якого створюються низка браузерів
  • Google Chrome — веб-браузер від Google
  • Opera від версії 13
  • CoolNovo — веб-браузер від Maple Studios, що розширює можливості Chromium
  • SRWare Iron — веб-браузер від компанії SRWare, випущені через те, що Google Chrome відправляє компанії Google відомості про користувача
  • Comodo Dragon — веб-браузер від Comodo з додатковими функціями, що підвищують безпеку та конфіденційність
  • Flock — веб-браузер, націлений на роботу з соціальними мережами[21]
  • Maxthon — веб-браузер з вбудованим блокатором реклами, що використовує два рушії рендеринга: WebKit і Trident[22]
  • Браузер Android — мобільний браузер, що входить до Android OS[23]
  • Opera для Android[24]
  • Vivaldi — веб-оглядач від групи колишніх працівників компанії Opera Software

Операційні системи[ред. | ред. код]

  • Android — операційна система від Google, призначена для комунікаторів, нетбуків і планшетів. Використовується в браузері, починаючи з Froyo
  • Open webOS — операційна система від Hewlett-Packard для комунікаторів, нетбуків і планшетів. Рушій V8 використовується в браузері
  • Google Chrome OS — операційна система від Google на базі проекту Chromium, орієнтована на хмарні сервіси. V8 є важливим компонентом ОС

Серверні платформи[ред. | ред. код]

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

  1. V8 Release 5.8. V8 Project. 
  2. Stable Channel Update for Desktop. Google Chrome Team. 
  3. Release 7.7.190 — 2019.
  4. https://developers.google.com/v8/intro
  5. Офіційна підтримка з версії 3.8.2
  6. а б V8 JavaScript Engine. Google Code. 
  7. v8/LICENSE.v8 at master. Github. 
  8. Ларс Бак в Санкт-Петербурге(рос.)
  9. V8 JavaScript Engine initial export
  10. Запуск V8, Chromium и Google Chrome(англ.)
  11. Огляд можливостей(англ.)
  12. Ефективне збирання «сміття»(англ.)
  13. Огляд можливостей рушія V8 на серверах (рос.)
  14. Огляд мультипроцесорної архітектури(англ.)
  15. Design Elements(англ.)
  16. Speed test: Google Chrome beats Firefox, IE, Safari(англ.)
  17. Быстрый запуск веб-приложений(рос.)
  18. Mozilla порівнює продуктивність рушіїв (англ.)
  19. Перевірити продуктивність рушія JavaScript, що використовується браузером, можна запустивши тести V8 Benchmark Suite Архівовано 4 березень 2013 у Wayback Machine., SunSpider, Kraken
  20. Jolie O'Dell (March 10, 2011). Why Everyone Is Talking About Node. Mashable. 
  21. Flock меняет основу Архівовано 7 березень 2012 у Wayback Machine.(англ.)
  22. Реліз Maxthon 3 з рушієм Google V8.(англ.)
  23. Включення рушія V8 у мобільний браузер Froyo Архівовано 1 січень 2011 у Wayback Machine.(англ.)
  24. Первый стабильный выпуск основанного на WebKit браузера Opera для Android // opennet.ru 21.05.2013

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