GuiServer

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

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

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


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

Поскольку связь между процессами клиента и сервера у нас по tcp/ip, их можно запустить на разных компьютерах в сети, что открывает путь для довольно интересных вариантов использования этой технологии.

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


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

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