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