GuiServer

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

Программа играет роль, извините за тавтологию, GUI - сервера, сервиса для предоставления клиентам графического интерфейса. Клиентом является программа на произвольном языке программирования, для которого написана сравнительно небольшая библиотека, обеспечивающая запуск процесса GuiServer, присоединение к нему и обмен информацией в соответствии с заданным протоколом.

Связь клиента с GUI-сервером может осуществляться разными способами, в настоящее время доступны два варианта: с помощью tcp/ip соединения или через обычные файлы. В первом случае GuiServer при запуске создает tcp/ip сокет и начинает слушать его, перейдя в режим ожидания. После установления соединения с клиентом он начинает принимать от него команды, в соответствии с которыми создает те или иные элементы графического интерфейса. Сразу создается и другое соединение с клиентом, по которому GuiServer отправляет ему информацию при наступлении определенных событий - закрытие окна, нажатие кнопки и т.д. Во втором случае вместо двух сокетов создаются два файла (по умолчанию - в системном каталоге для временных файлов) - и весь процесс взаимодействия происходит путем записи/чтения из этих файлов.

Я начал писать GuiServer, чтобы сделать GUI фреймворк для языка Go, которым в последнее время понемногу занимаюсь. Этот фреймворк называется External, его можно найти у меня на Github. Попутно делаю аналогичную библиотеку и для Harbour - так удобнее отлаживаться. Но сразу пришло понимание, что такой же GUI фреймворк можно сделать с минимальными затратами и для Python, для Java, C, и даже для Perl и PHP.


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

Написан GuiServer на Harbour + HwGUI, и это удачный выбор не только потому, что мне проще и удобнее пользоваться именно этими инструментами. Такая реализация


Приложения, использующие GuiServer


Комментариев:       ()       пред.    след.       Добавить комментарий
Длина комментария - не больше 4000 символов.
Ваше имя:

Адрес электронной почты:
(не предназначено к показу)
 
Введите текст с картинки: