Zune
Материал из Википедии — свободной энциклопедии
Zune — объектно-ориентированный графический интерфейс пользователя в операционной системе AROS. В процессе развития операционной системы перед разработчиками возникла проблема обеспечения возможности компиляции Open Source приложений использующих графический интерфейс MUI, т.к. сам MUI являлся shareware-продуктом. Длительные переговоры об открытии исходных кодов с автором MUI (Стефаном Штунтцем) не привели к положительному результату, поэтому было принято решение создавать интерфейс полностью совместимый с MUI, «с нуля». Проект начинался как GPLed MUI-клон для X11 (с целью ускорения процесса написания базовые функции подменялись на вызовы X-Window) и постепенно переводился в полностью нативный код. Цель была достигнута в полном объёме к 2002 году и с этого момента Zune развивается уже самостоятельно. Автором Zune является итальянец Флавио Станчина (Flavio Stanchina (англ.)).
Zune стал практически полным аналогом MUI (как на уровне API, так и на уровне Look&Feel), самого популярного на Amiga shareware-интерфейса Стефана Штунтца. Это обеспечило возможность рекомпиляций для AROS интерфейсных частей MUI-приложений AmigaOS и MorphOS, без изменений исходного кода. Кроме того, разработчики знающие MUI, чувствуют себя в нём «как дома», а новые пользователи и разработчики для AROS получили возможность изучения концепций и особенностей общих для обоих интерфейсов. Философия Zune (как и MUI) основана на двух постулатах:
- Программист может затратить намного меньше времени при проектировании интерфейса: в Zune нет привязки элементов интерфейса к абсолютным значениям, среда чувствительна к кеглям шрифтов и сама адаптирует размеры и расположение любых окон в зависимости от шрифтов пользователя. Zune предоставляет семантический доступ к элементам проектируемого интерфейса, а его свойства (такие как отступ элемента от края окна в пикселях) регулируются автоматически.
- Пользователь может намного лучше контролировать Look&Feel интерфейса спроектированного программистом и получает возможность специфической настройки параметров окружения Zune.
Zune основан на системе BOOPSI, унаследованной от AmigaOS и используемой для объектно-ориентированного программирования на Си. Классы Zune не являются дочерними по отношению к существующим для элементов интерфейса классам BOOPSI (т.е. не являются простым расширением их возможностей). Базовым классом (в иерархии Zune) является Notify — дочерний относительно корневого класса BOOPSI (rootclass).
[править] См. также
[править] Cсылки
- Дерево классов MUI (англ.)
- Конвертор классов GTK в MUI (англ.)
- Руководство разработчика интерфейсов Zune (русск.)
- Блог Флавио Станчина - автора Zune (англ.)
- Сайт Стефана Штунца - автора MUI (англ.)