V8 (рушій JavaScript)
Тип | рушій JavaScript |
---|---|
Розробники | The Chromium Project |
Перший випуск | 2 вересня 2008 |
Стабільний випуск | 5.8[1][2] (19 квітня 2017 ) |
Платформа | IA-32, x86-64, ARM[3], MIPS[4] |
Операційна система | Багатоплатформний |
Мова програмування | C++,[5] JavaScript[5] |
Стан розробки | активний |
Ліцензія | BSD[6] |
Репозиторій | chromium.googlesource.com/v8/v8 |
Вебсайт | developers.google.com/v8 |
V8 — рушій JavaScript з відкритим сирцевим кодом. Розроблений данським відділенням компанії Google та розповсюджується за ліцензією BSD.
Огляд
Розробка JavaScript-рушія V8 почалася у данському відділенні Google в місті Орхус. Провідним розробником став Ларс Бак (Lars Bak).
Основними проблемами, які розв'язували розробники були швидкодія та масштабованість[7]. Перша лабораторна версія рушія з'явилася 3 липня 2008[8], а вже 2 вересня було офіційно представлена версія 0.2.5, яка увійшла в перший публічний реліз Chromium[9].
Ларс Бак вважав[10], що V8 має особливості:
- Компіляція сирцевого коду JavaScript безпосередньо у власний машинний код, минаючи стадію проміжного байт-коду.
- Ефективна система керування пам'яттю, яка дозволяє швидко резервувати місця для об'єкту та зменшити очікування на прибирання сміття[11]
- Введення прихованих класів й вбудованих кешів, які прискорюють доступ до властивостей та виклики функцій.
V8 виконує JavaScript-сценарії в особливих «контекстах», які по суті є окремими віртуальними машинами. Але в одному процесі може працювати тільки одна віртуальна машина, незважаючи на можливість використання декількох потоків[12]. У Chromium це обходиться мультипроцесовою архітектурою, підвищується також стабільність і безпека через реалізацію механізму «пісочниці»[13].
Рушій V8 відрізняється від інших рушіїв (JScript, SpiderMonkey, JavaScriptCore, Nitro) високою швидкодією та продуктивністю[14][15][16][17][18].
Продукти, що використовують V8
Рушій V8 використовується в:
- браузерах (Google Chrome та Chromium);
- в складі серверних платформ Node.js[19];
- в складі десктоп-програм, наприклад, на платформі .NET/Mono.
Браузери
- Chromium — веб-браузер з відкритим кодом, на основі якого створюються низка браузерів
- Google Chrome — веб-браузер від Google
- Opera від версії 13
- CoolNovo — веб-браузер від Maple Studios, що розширює можливості Chromium
- SRWare Iron — веб-браузер від компанії SRWare, випущені через те, що Google Chrome відправляє компанії Google відомості про користувача
- Comodo Dragon — веб-браузер від Comodo з додатковими функціями, що підвищують безпеку та конфіденційність
- Flock — веб-браузер, націлений на роботу з соціальними мережами[20]
- Maxthon — веб-браузер з вбудованим блокатором реклами, що використовує два рушії рендеринга: WebKit і Trident[21]
- Браузер Android — мобільний браузер, що входить до Android OS[22]
- Opera для Android[23]
- Vivaldi — веб-оглядач від групи колишніх працівників компанії Opera Software
Операційні системи
- Android — операційна система від Google, призначена для комунікаторів, нетбуків і планшетів. Використовується в браузері, починаючи з Froyo
- Open webOS — операційна система від Hewlett-Packard для комунікаторів, нетбуків і планшетів. Рушій V8 використовується в браузері
- Google Chrome OS — операційна система від Google на базі проекту Chromium, орієнтована на хмарні сервіси. V8 є важливим компонентом ОС
Серверні платформи
Виноски
- ↑ V8 Release 5.8. V8 Project.
- ↑ Stable Channel Update for Desktop. Google Chrome Team.
- ↑ https://developers.google.com/v8/intro
- ↑ Офіційна підтримка з версії 3.8.2
- ↑ а б V8 JavaScript Engine. Google Code.
- ↑ v8/LICENSE.v8 at master. Github.
- ↑ Ларс Бак в Санкт-Петербурге(рос.)
- ↑ V8 JavaScript Engine initial export
- ↑ Запуск V8, Chromium и Google Chrome(англ.)
- ↑ Огляд можливостей(англ.)
- ↑ Ефективне збирання «сміття»(англ.)
- ↑ Огляд можливостей рушія V8 на серверах (рос.)
- ↑ Огляд мультипроцесорної архітектури(англ.)
- ↑ Design Elements(англ.)
- ↑ Speed test: Google Chrome beats Firefox, IE, Safari(англ.)
- ↑ Быстрый запуск веб-приложений(рос.)
- ↑ Mozilla порівнює продуктивність рушіїв (англ.)
- ↑ Перевірити продуктивність рушія JavaScript, що використовується браузером, можна запустивши тести V8 Benchmark Suite [Архівовано 4 березень 2013 у Wayback Machine.], SunSpider, Kraken
- ↑ Jolie O'Dell (10 березня 2011). Why Everyone Is Talking About Node. Mashable.
- ↑ Flock меняет основу [Архівовано 7 березень 2012 у Wayback Machine.](англ.)
- ↑ Реліз Maxthon 3 з рушієм Google V8.(англ.)
- ↑ Включення рушія V8 у мобільний браузер Froyo [Архівовано 1 січень 2011 у Wayback Machine.](англ.)
- ↑ Первый стабильный выпуск основанного на WebKit браузера Opera для Android // opennet.ru 21.05.2013