2008-11-14 5 views
6

Мы хотим предоставить людям возможность добавить некоторую логику к своим учетным записям (скажем, с учетом нескольких аргументов, как вычислить конкретный результат). По сути, это было бы равносильно написанию простых бизнес-правил с поддержкой условностей и выражений. Тем не менее, задача состоит в том, чтобы предоставить им простой онлайн-редактор, где они могут создать логику (предпочтительно) полностью визуальными средствами (возможно, перетаскивание Expr-tree-узлов может быть подобно Y! Pipe).Макро/язык сценариев для не-разработчиков с простым графическим редактором

Кто-нибудь знает язык сценариев/макросов/доменов, который позволяет людям это делать? Проблема заключается в визуальном редакторе, поскольку мы не хотим инвестировать в разработку пользовательского интерфейса для редактирования. Основные требования будут:
1. Embedded на другой язык, или не работать надежно (без reboot -n или <JUNK-DANGEROUS-COMMAND> >> ~/.bashrc)
2. Легко доступные для пользователей без кодирования не фону (нет необходимости в каких-либо дополнительных функций)
3. предпочтительно имеют простой редактор на основе графического интерфейса для создания логических программ, доступных для не-разработчиков (например, электронных таблиц)
4. Некоторая возможность генерировать предупреждения во время компиляции (неверный код) была бы хорошей (Тип безопасности?)
5. Возможность встраивания некоторые данные до исполнения, доступные для переводчика (например, name, birthday, amount)

Кто-нибудь пытался сделать что-то подобное и получил какие-то идеи? Я посмотрел на Lua, Io, Python, Ruby и множество других, но основная проблема заключается в том, что я не думаю, что не-программисты смогут полностью понять код. Что-то, что можно добавить через «мета-программирование», чтобы сказать «Рубин», было бы неплохо, если бы редактор мог быть легко разработан!

ответ

0

Я не думаю, что вы найдете что-либо, что не является слишком общим, особенно в отношении редактора графического интерфейса. У меня нет общих инструментов, которые, как я знаю, смогут автоматически взаимодействовать с вашей программой и иметь возможность запрашивать данные из нее и интерпретировать сценарий в командах вашего программного обеспечения - если есть, я хотел бы иметь копию. Не быть легкомысленным, но вы будете должны сделать некоторые (возможно, много) работы, чтобы получить эту работу. Вероятно, это приведет к написанию пользовательского DSL.

+0

Являются ли они любыми простыми инструментами для создания DSL + веб-интерфейса для редактирования этих инструментов, предпочтительно на основе графического интерфейса? На самом деле, вместо полноценного языка достаточно всего лишь веб-интерфейса для редактирования деревьев выражений! – kpowerinfinity 2008-11-15 09:21:16

2

На самом деле Microsoft разрабатывает Oslo, который находится прямо вверх по вашей аллее. Chris Sells много писал о нем.

Он предназначен для создания DSL-файлов, а также для визуального создания этих моделей с помощью графического инструмента Quadrant. Звучит очень похоже на то, что вы ищете.

С открытым исходным кодом мудрый, Ruby Я думаю, может быть близко, так как вы можете увидеть, если вы посмотрите на Trywhy_whytheluckystiff's Try Ruby или Hackety.

0

Я бы посмотрел PowerShell. Вы можете нарисовать все действия, которые пользователь хотел бы сценаризировать очень читабельным способом. Существует несколько разговоров о том, как использовать PowerShell для создания DSL на the PowerShell team blog, а технический лидер Bruce Payette рассказывает об этом в своей книге Windows PowerShell в действии от Manning.

0

На другом конце шкалы необходимо написать что-то простое, как приложение HyperText (HTA) - при условии, конечно, Windows, по строкам моего инструмента Clive. В статье в блоге не упоминается версия HTA, но по существу я могу ввести код VBScript-ish в одно текстовое поле и интерпретировать его на месте, выводящий в другую текстовую область формы.

С помощью HTAs, дающего вам полный контроль над HTML, а также DOM, вы могли бы найти что-то интересное довольно быстро.