Если вы пишете распределенные приложения в стиле файловых серверов, то с графикой в 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 #.
сантехника #Программное обеспечение
-
Не Все Полимеры?.
19 Oct, 24 -
Проксетерий. Глава 1. Часть 2: Улица
19 Oct, 24 -
Печать Pdf-Документа В Виде Буклета
19 Oct, 24 -
Dexp Наглый Китайский Шпион
19 Oct, 24 -
Размытие Js
19 Oct, 24 -
Плавающие Якоря
19 Oct, 24