Язык сценариев для встраивания в приложения C#/.NET?[закрыто]

StackOverflow https://stackoverflow.com/questions/462311

  •  19-08-2019
  •  | 
  •  

Вопрос

[ только похожий вопрос Я нашел ответ уже давно и содержит ссылку в основном на IronPython.Я хочу рассмотреть и другие варианты]

У нас есть сложное приложение для анализа данных, написанное на C#.Приложение должно предоставить пользователям сложные средства настройки задач анализа данных.В настоящее время мы используем для этого смесь файлов конфигурации и таблиц Excel, но это становится громоздким, поэтому мы ищем язык сценариев для встраивания.

Какой простой язык сценариев лучше всего подходит для встраивания C#/.NET?Можно ли как-то встроить VBA аналогично Excel/Word?Или, возможно, используется JavaScript/Lua?

Излишне говорить, что некоторые API и объекты основного приложения должны быть легко доступны во встроенных скриптах.

Это было полезно?

Решение

Я знаю другие ссылки на вопросы IronPython , но я все еще чувствую, что это должно быть здесь, потому что я думаю, это один из лучших вариантов.

Еще одним отличным вариантом будет IronRuby . Основное отличие, которое я вижу, состоит в том, что ваши разработчики / пользователи имели какой-либо опыт работы с Python или Ruby, который можно было бы передавать.

В конце концов, лучшим вариантом будет язык, который наиболее легко адаптируется пользователями. Если они не примут это и не смогут работать более продуктивно, чем при использовании старого метода, это не стоит усилий.

Другие советы

Boo возможно?

Луа великолепен! Lua играть очень хорошо с .NET. Я написал сообщение в блоге о том, как начать встраивать Lua и C #, возможно, стоит проверить:

http://blog.apterainc.com/software/embedding-lua и-с /

Я хотел бы изучить только рабочий процесс Windows на XAML. Вы можете переназначить конструктор и предоставить пользовательские действия, которые можно перетаскивать и использовать для манипулирования данными любым удобным для них способом. ОЧЕНЬ визуально. В настоящее время я использую это в одном из моих приложений, и пользователям, кажется, нравится это. Хотя есть небольшая кривая обучения, это намного меньше, чем типичный язык сценариев, и люди, кажется, в состоянии понять его довольно быстро, особенно те, кто имеет опыт использования блок-схем и Visio.

Я знаю, что вы спрашивали о технологии сценариев, но основная потребность - это контроль кода для непрограммистов. Мы используем Правила ILOG для .Net для удовлетворения этой потребности.

Хм, а как насчет C #? Нет причины, по которой вы не можете позволить пользователю написать C #, а затем безопасно загрузить его в другой домен приложений со всеми правильными ограничениями и мерами защиты.

А как насчет JScript.NET или PowerShell

Я думаю, что использование C # через CodeDom - очень мощное решение

Boo и IronPython были упомянуты, но не забывайте Железная схема, Ф#, или любой из Другие языки которые были перенесены на виртуальную машину CIL и имеют компиляцию/интерпретацию во время выполнения.

IronRuby выглядит лучше каждый день.

Существует много, много, много языков сценариев . Что лучше для вас, зависит от того, что вы пытаетесь сделать.

Вы должны проанализировать задачи, которые должны выполнять ваши пользователи, обозначения, с которыми они уже знакомы, и выбрать существующий язык сценариев, который им соответствует. Не следует выбирать популярный язык сценариев, а затем заставлять ваше приложение и пользователей вписываться в него.

Я бы также проголосовал за использование C# для написания расширений.Если у вас нет веских причин, таких как существующая база пользователей, уже знакомых с Python, Ruby или Boo, использование другого языка просто усложняет работу и увеличивает стоимость обучения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top