Использование JavaScript с C # Для операций не на основе браузера

Недавно мне пришлось быстро взглянуть на сервер Adobe InDesign. В этой среде вы пишете свои взаимодействия с библиотеками через JavaSscript.

Это заставило меня задуматься о том, как я мог бы использовать язык Javascript в приложении C #, чтобы я мог предоставлять наборы функций моего API / фреймворка и позволять другим писать небольшие плагины с помощью JavaScript.

Так как JS - довольно популярный язык, я бы подумал, что мне не придется писать собственный имперпретор или что-то еще, но я могу ошибаться. Любые идеи, где я мог бы начать с чего-то вроде этого?

Ура, Крис.

14.12.2008 17:47:38
3 ОТВЕТА
РЕШЕНИЕ

Проверьте этот вопрос:

Ссылка на движок Google V8 из приложения .NET

Эта статья может быть интересной:

Оценка кода JavaScript из C # (с использованием движка MS JScript)

2
23.05.2017 11:48:36
CMS, это очень интересно, но кажется странным, что для разбора JS я должен использовать неуправляемый движок C ++ и вставлять классы обертки сборки для взаимодействия. Тем не менее, как я уже сказал, выглядит интересно. Стоит поиграть.
Owen 14.12.2008 17:58:12

Это будет намного проще, когда Microsoft выпустит Managed JScript ( http://blogs.msdn.com/deepak/archive/2007/05/02/managed-jscript-is-availaible.aspx ).

Если вы пока не обязаны Javascript, я бы проверил IronPython ( http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython ) - API хостинга идентичен тому, что Microsoft выпустит для JS и настолько прост, насколько это возможно, и переключение между 3 языками DLR (IPy, IronRuby и Managed JS) тривиально.

Редактировать: Ой, очевидно, он теперь доступен как часть ASP.NET Futures - я думал, что это было только в Silverlight; иди к нему!

1
14.12.2008 19:04:59
На самом деле просто смотрел на IPy, как мы говорим. Приятно видеть, что это доступно в ASP.NET фьючерсах. Кстати, когда я слышу о динамических языках, Silverlight всегда упоминается, есть идеи, почему это так?
Owen 14.12.2008 19:30:48
Это потому, что Silverlight имеет встроенную копию встроенного IPy / IRb, так что вы можете написать код Python для управления апплетом SL. Silverlight был одним из основных сценариев, для которых MS разработала DLR.
Ana Betts 14.12.2008 20:14:25
Почему Silverlight выиграет больше от DLR, чем любой другой аспект .NET Framework?
Owen 14.12.2008 21:06:39

Попробуйте Javascript .NET:

http://javascriptdotnet.codeplex.com/

Он реализует Google V8. С его помощью вы можете скомпилировать и запустить Javascript непосредственно из кода .NET, а также предоставить объекты CLI для использования в коде Javascript. И V8, вероятно, лучший движок, когда-либо созданный с точки зрения производительности, он генерирует нативный код из Javascript.

0
8.07.2010 12:15:20