Подтвердить что ты не робот

Какие реализации Javascript для .net существуют?

Это вопрос с собственным ответом, вероятно, предназначенным для cw

Во-первых - каковы характеристики хорошей реализации JS (на мой взгляд)

  • полная. Он должен иметь возможность обрабатывать все конструкции JS. Хорошие тесты чтобы увидеть, может ли он скомпилировать такие вещи, как jquery, prototype, underscore и т.д. (конечно, многие из них не будут выполняться, поскольку они нуждаются в DOM)
  • стабильна. Никаких сбоев или иногда работает, иногда does not
  • Fast
  • Поддержка Silverlight
  • Встраиваемый. Я хочу простой интерфейс между хостингом окружающей среды и JS и обратно. Он должен просто работать
4b9b3361

Ответ 1

Я знаю несколько реализаций

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 разные двигатели, поэтому что-то изменится.

Кто-нибудь переживает или другие реализации?