17-08-2023
Тип | |
---|---|
Разработчик | |
Написана на | |
Операционная система |
Microsoft Windows, Mac OS X, FreeBSD, HP webOS[1][2] и Linux |
Аппаратная платформа | |
Последняя версия | |
Состояние |
Активная разработка |
Лицензия | |
Сайт |
code.google.com/p/v8/ |
V8 — движок JavaScript с открытым программным кодом, распространяемый по лицензии BSD. Разработан датским отделением компании Google.
Содержание |
Разработка JavaScript-движка V8 началась в датском отделении Google в городе Орхус. Ведущим разработчиком стал Ларс Бак (Lars Bak). Основными проблемами, которые пришлось решать разработчикам в движке, стали производительность и масштабируемость[5]. Первая лабораторная версия движка появилась 3 июля 2008 года[4], а уже 2 сентября была официально представлена версия 0.2.5, вошедшая в первый публичный релиз Chromium[6].
Ларс Бак считал[7], что краеугольными камнями V8 являются:
V8 исполняет JavaScript-сценарии в особых «контекстах», которые по сути являются отдельными виртуальными машинами. Правда в одном процессе может работать только одна виртуальная машина, несмотря на возможность использования нескольких потоков[9]. В Chromium это обходится мультипроцессовой архитектурой, повышающей также стабильность и безопасность, реализуя таким образом механизм «песочницы»[10]. Таким образом, несмотря на динамическую природу JavaScript, разработчикам удалось применить методы, характерные для реализации классических объектно-ориентированных языков, такие как компиляция кода «на лету», внутреннее кэширование, точный процесс сборки мусора, снэпшоттинг при создании контекстов[5][9].
Движок V8 отличается от других движков (JScript, SpiderMonkey, JavaScriptCore, Nitro) высокой производительностью[11][12][13][14][15].
Портал «Свободное программное обеспечение» |
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Диалекты | ActionScript · Caja · JavaScript (движки) · JScript · JScript .NET · Objective-J · QtScript · WMLScript | ||||||||||||
Движки (сравнение) |
Carakan · Futhark · InScript · JavaScriptCore (SquirrelFish) · JScript · KJS · Linear B · Narcissus · QtScript · Rhino · YAJI · SpiderMonkey (TraceMonkey, JägerMonkey) · Tamarin · V8 · Chakra | ||||||||||||
Фреймворки, библиотеки |
|
||||||||||||
Люди | Брендан Айк · Дуглас Крокфорд · Джон Резиг | ||||||||||||
Другое | DHTML · Ecma International · JSAN · JSDoc · JSLint · JSON · JSSS · Sputnik · SunSpider · CommonJS |
Свободное и открытое программное обеспечение | |
---|---|
Главное | |
История |
GNU • Linux • Mozilla (Application Suite • Firefox • Thunderbird) |
Организации |
ASF • AOSP • Blender Foundation • Eclipse Foundation • FreeBSD Foundation • freedesktop.org • FSF • FSMI • GNOME Foundation • Проект GNU • Google Code • KDE e.V. • Linux Foundation • Mozilla Foundation • OSGF • OSI • ReactOS Foundation • Software Freedom Conservancy • SourceForge • Symbian Foundation • The Document Foundation • Xiph.Org • XMPP Standards Foundation • X.Org Foundation |
Лицензии |
Apache • Artistic • Beerware • BSD • GNU GPL • GNU LGPL • ISC • MIT • MPL • Ms-PL/RL • zlib • Public domain / CC0 • WTFPL • Лицензии, одобренные FSF • Пермиссивные лицензии • Разнообразие лицензий |
Проблемы | |
Прочее |
V8 (движок JavaScript).