Совместное использование кода JavaScript между рабочим столом .NET и браузером - PullRequest
4 голосов
/ 07 ноября 2008

У меня есть набор базовых, сложных структур / классов данных JavaScript, которые я хотел бы использовать как в браузере в качестве JavaScript, так и на настольном компьютере с .NET 3.5. Можно ли скомпилировать дружественный к вебу JavaScript в сборки, к которым мой код C # может получить доступ?

  • Управляемый JScript - есть ли для этого доступный компилятор, который будет производить что-то, что может работать на CLR рабочего стола? Я видел только выпущенные примеры для среды выполнения Silverlight. Не похоже, что он официально доступен на рабочем столе, но я готов попробовать что-то менее удачное, например, могу ли я скомпилировать инструменты Silverlight, а затем запустить на настольном компьютере CLR?
  • JScript .NET - Звучит так, как будто у него достаточно пользовательских языковых расширений, когда запуск одного и того же кода в браузере будет очень сложным, но, может быть, есть способ ...?

Если ни одна из этих работ не работает, я думаю, мои варианты:

  • У меня есть версия C # и версия JavaScript, которую я должен синхронизировать (чёрт).
  • Напишите своего рода препроцессор, который запускается во время компиляции, чтобы превратить мой JavaScript в JScript .NET или что-то, что я могу скомпилировать в сборки .NET.
  • Script #: похоже, это превращает код C # в код JavaScript. Не удивительно, поскольку я предпочел бы иметь возможность напрямую настраивать код JavaScript, но он мог бы работать.

Кто-нибудь имеет успех с любым из этих вариантов?

Ответы [ 3 ]

1 голос
/ 07 ноября 2008

JScript.Net на самом деле в основном соответствует EMCAScript3. До тех пор, пока вы рассматриваете свой код как библиотеку обработки (выполняйте только обработку и т. Д. - используйте обратные вызовы для взаимодействия с программой), все будет в порядке. Я делаю что-то похожее, использую javascript в качестве основной библиотеки для разбора, а затем использую ее в python, dotnet и php.

1 голос
/ 02 июня 2009

Управляемый JavaScript (IronJScript), похоже, был убит. См. этот ответ :

0 голосов
/ 07 ноября 2008

Как насчет другого варианта:

  • Размещаете приложение javascript внутри вашего настольного приложения через элемент управления winforms 'WebBrowser?

Возможно ли это?

Вы также можете получить доступ к DOM из элемента управления WebBrowser, но не все, что вам нужно, полностью поддерживается.

...