Графика В Инферно

Если вы пишете распределенные приложения в стиле файловых серверов, то с графикой в Inferno вы столкнетесь не раньше, чем захотите запустить графический отладчик для отладки вашего многопоточного приложения.



Графика в Инферно

А вот если вы пишете приложение с UI, которое должно работать на встроенных устройствах или в виде плагина в браузере (кстати, сейчас вроде разрабатывают аналог существующего плагина Inferno для IE под Firefox) , то сразу возникнет вопрос: «как писать графические приложения в InfernoЭ» .



Тк

Единственный способ работы с графикой в Inferno - в Тк.

Более того, поддержка Tk встроена в ядро (!) Inferno. Конечно, для программирования графического пользовательского интерфейса, наверное, нет ничего проще, чем Tk (я сейчас не использую дизайнеры пользовательского интерфейса в стиле Delphi, поскольку, хотя они просты и удобны в использовании, код, который они генерируют, на порядок сложнее, чем Тк код).

Абсолютно все графические приложения в Inferno написаны на Limbo/Tk, включая саму оконную систему wm (аналог X-Window).

Но лично меня всегда расстраивало появление Тк-приложений и я никогда не мог понять, почему никто не поддерживает стили/скины для Тк.

:( Обновлять: на самом деле поддерживать Стили есть, просто альтернативные стили еще никто не рисовал.

К сожалению, больше ничего добавить по этому вопросу я не могу, потому что.

С графикой в Inferno я не работал — меня пока больше интересует написание распределенных приложений и файловых серверов.



Сантехника

Еще один интересный механизм в Inferno и Plan9 — «Сантехника».

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

Например, когда вы нажимаете на файл в файловом менеджере, он просто передает имя этого файла водопроводчику и тот запускает соответствующее этому файлу приложение.

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

Вот пример конфигурации сантехники, для наглядности:

   

# file URLs go to wm/charon kind is text data matches '[a-zA-Z0-9_/\-]+\.

html?' data isfile $0 data set file://localhost$file plumb to web plumb start /dis/charon.dis $data # .

m files are looked up in /module and passed to wm/brutus kind is text data matches '([a-zA-Z0-9]+\.

m)(:[0-9]+)?' data isfile /module/$1 data set /module/$0 plumb to edit plumb start /dis/wm/brutus.dis $file$2

К сожалению, я с ним тоже толком не работал.

Люди, работавшие с Plan9, наверное, смогут рассказать вам больше о сантехнике.

Не стесняйтесь публиковать сообщения в этом блоге, он коллективный.

Я просто решил, что лучше хоть как-то упомянуть об этих вещах, чем не упомянуть вообще.

Далее я еще раз напишу о том, с чем работал.

:) Теги: #inferno #inferno #tk #.

сантехника #Программное обеспечение

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.