Ответ 1
Я знаю несколько реализаций
- Ironjs https://github.com/fholm/IronJS
- Jurrasic http://jurassic.codeplex.com/
- Jint http://jint.codeplex.com/
- Javascript.net https://github.com/JavascriptNet/Javascript.Net
Ironjs. Во-первых, это чисто F #!. Его первое реальное слово крупномасштабное, что я видел в F #, и как таковое, является настоящим открытием. Даже если вы не заинтересованы в javascript, это отличный инструмент обучения для F #. Как он оценивает:
- завершено: Да
- stable: Да
- Быстро: утверждает, что очень быстро, я не измерил. Его интерпретатор
- SL: Нет (открытая работа для него на github)
- Вставить: Жесткая работа, чтобы передать тинги взад и вперед. Нет доступа к .net-библиотекам из JS-кода.
юры. Это говорит о том, что он компилируется в IL, то есть без интерпретации
- complete: Кажется,
- стабильна. Не могу сказать, недостаточно проверено.
- Быстро. Утверждается, что это не переводчик. Однако тот факт, что он компилируется в IL, настоятельно указывает на то, что он будет просачивать кодовое пространство. Т.е. сервер, запускающий разные скрипты, в конечном итоге заполнит.
- SL: Да
- Вставить: выглядит так же, как IronJS.
JINT. Это интерпретируемый фронт интерфейса Antlr (интересно отметить, что ironjs использовал antlr, но сдался и сделал свой собственный анализ по основным причинам и, казалось, получил огромный импульс)
- Завершение: я обнаружил, что некоторые вещи пропали без вести, они исправлены, но это немного беспокоило.
- Стабильный: несколько шатких мест
- Быстро: приемлемо
- SL: Нет
- Вставить: Действительно приятно. Это просто работает. Я могу создавать классы .net прямо в JS. Я могу свободно передавать данные взад и вперед.
Javascript.Net. Это управляемая версия движка Google V8. Я вообще не пробовал, так что могу только сказать, что на сайте
- Завершить:?
- Стабильный:?
- Быстро: я ожидаю, что это будет быстро, как быстро V8
- SL: no
- Вставить:?
Я закончил с использованием Jint, потому что у него были такие хорошие возможности встраивания, но мне действительно нужна поддержка SL (у меня есть два проекта, которые нуждаются в встроенной JS, вторая - проект SL), и я не хочу использовать 2 разные двигатели, поэтому что-то изменится.
Кто-нибудь переживает или другие реализации?