2010-11-25 3 views
1

Я изучаю возможность представления визуального интерфейса пользователям приложения, которые позволят им вводить некоторый пользовательский код/​​функциональность в стиле потока данных (a la Yahoo Pipes).Как работают языки визуального программирования?

Мне интересно, как в Трубах, например, их визуальный редактор мог бы работать. Может ли визуальный код быть скомпилирован в текстовый язык, который будет храниться в базе данных? Или отдельные блоки, соединители, переменные и т. Д. Все будут храниться в базе данных?

Что относительно визуальных языков программирования IDE, таких как Visual Studio от Microsoft? Является ли код интерпретированным прямо из визуального интерфейса?

ответ

2

То, что вы видите на экране, является вершиной айсберга. Компоненты представляют собой различные размеры, сложные или простые программы с общедоступными интерфейсами. В программировании потока данных эти интерфейсы являются производителями и потребителями (выходы и входы), поэтому компонент может отображаться как черный ящик с контактами на его входных и выходных сторонах. Когда вы подключаете контакты (порты), вы выводите вывод одной программы на вход другой программы. Компоненты предварительно скомпилированы для вас, они готовы к запуску, вы только что установили своих потребителей (входы) и производителей (выходов), подключив их. Вот почему они черные ящики: это программы, которые вы не можете изменить (за исключением случаев, когда вы получили исходный код).

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

Типичная полная конструкция потока данных содержит цепочку-источник процесса-процесса-процесса, где количество компонентов типа процесса может быть равно нулю (данные, генерируемые источником, отображаются компонентом приемника). Вы можете думать о трех компонентах, поскольку они были одной программой раньше, но они сломались, и теперь вы можете их повторно собрать.

Одной из наиболее известных систем обработки данных является оболочка Unix. Команды CLI являются компонентами. Они предварительно скомпилированы, вы просто определяете цепочку, помещая «|» между ними. Кроме того, большинство «исходных» команд можно использовать автономно, например ls, а большинство компонентов «приемника» могут принимать входные данные из файла, определенного как аргумент, например. больше.

+0

Отличное объяснение. Таким образом, в системе, разработанной как Yahoo Pipes (например, в PHP), эти источники, процессы и поглотители могут быть просто визуальными представлениями реальных классов PHP, которые вызываются и запускаются «на лету»? Будет ли это хорошим способом? Или, если пользователь отредактирует этот поток данных, скажем, компиляцию и сохранение, а затем выборку и запуск этих классов - лучший способ? – 2010-12-04 04:14:14

Смежные вопросы