Может кто-нибудь / кто-нибудь использовал движок Mozilla Rhino JS в оболочке WebKit? - PullRequest
5 голосов
/ 01 июня 2011

У меня сложилось впечатление, что WebKit - это более общая структура, в которую можно подключить несколько механизмов JavaScript. Наиболее заметно, что у нас есть и AppleCore JavaScriptCore, и Google V8.

Кто-нибудь пробовал подключить Mozilla's Rhino? Если они этого не сделали, можете ли вы указать мне некоторые краткие ресурсы о том, что происходит? (Я вряд ли возьму это на себя, но я заинтересован в том, как структурированы точки расширения WebKit в этой области, просто ради любопытства.)

Кроме того, если мое понимание взаимосвязи между WebKit, JavaScriptCore и V8 неверно, правильное указание здесь будет хорошим ответом.

1 Ответ

3 голосов
/ 14 июля 2011

Игнорируя многие проблемы, возникающие из-за поддержки нескольких js-движков в webkit, очень много работы по поддержке любого js-движка.

Большинство привязок DOM генерируются автоматически, но скрипты, которые делают это (и делают это правильно), большие, сложные и совершенно разные для каждой цели (в webkit есть привязки dom для JSC, V8, Objective-C и gtk). Тем не менее, наличие> 2 наборов привязок должно указывать на то, что поддержка дополнительного набора привязок не будет слишком сложной (в основном время, а не сумасшествие).

Проблема с JS, в частности, заключается в том, что браузер по своей природе должен иметь возможность взаимодействовать с ним несколькими способами (тегами сценариев и т.п.). Это в основном абстрагировано от ядра движка, но нужно реализовать много логики, которая будет трудной, и она все еще не гарантированно будет работать. Наконец, V8 был спроектирован с использованием webkit в качестве цели встраивания, поэтому он поддерживал странные вещи, которые нужны webkit, и нет гарантии, что spidermonkey, rhino или любой другой движок сможет их предоставить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...