Пожалуй, настал час, когда лидирующим десктопным окружениям GNOME и KDE придется подвинуться и принять еще одного крупного игрока: Étoilé! Проект находится в интенсивной разработке уже не первый год, и теперь вышла первая относительно стабильная версия. Это крайне гибкая, модульная и инновационная среда, основанная на GNUStep.
Потрясают масштабы разработки:
- CoreObject — фреймворк описания и организации моделей объектов. Он поддерживает автоматическое сохранение сообщений, получаемых объектами, и контроль версий. CoreObject использует фреймворк EtoileSerialize, который позволяет объектам и сообщениям автоматически осуществлять сериализацию без написания какого-либо дополнительного кода.
- LanguageKit — набор компиляторов, использующих LLVM для создания динамических языков программирования с использованием runtime Objective-C для ООП. В частности, уже написан SmalltalkKit — реализация Pragmatic Smalltalk, JIT-компилятора для Smalltalk, бинарно совместимый с Objective-C. Т.е. теперь эти языки можно «смешивать». Поддерживается компиляция в машинный код. Разрабатывается аналогичная реализация языка Io.
- EtoileFoundation — корневой фреймворк для всех проектов Étoilé, предоставляющий многочисленные удобные методы поверх спецификации OpenStep и значительно улучшенную поддержку рефлексии. Сюда входит и EtoileThread, который позволяет объектам прозрачно выполняться в разных потоках. Также сюда включена масса расширений объектной модели Objective-C, в т.ч. traits и mixins, функции работы с UUID и XML.
- EtoileUI — высокоуровневый объектно-ориентированный пользовательский интерфейс с унифицированным древовидным представлением графических объектов. Все элементы интерфейса, включая менеджеры компоновки, обработчики событий, стили, модели объектов и т.д. будут реализованы в виде динамически подключаемых аспектов (pluggable aspects). Все это позволяет изучать и изменять интерфейс пользователя и объектные модели прямо в runtime и без особых проблем. В библиотеке layout'ов каждый компоновщик инкапсулирует настраиваемые и подключаемые визуальные представления.
- LuceneKit — полнотекстовая индексация и поиск.
- OgreKit — регулярные выражения.
- UnitKit — простой и гибкий каркас для модульного тестирования.
- MediaKit — звук и видео.
- SystemConfig.
- Музыкальный проигрыватель Mélodie.
- Эмулятор терминала TermX.
Ведется активная разработка собственного runtime и сборщика мусора для Objective-C, совместно с командой LLVM дорабатывается поддержка ObjC в компиляторе LLVM/clang. Готовится Jabber-клиент StepChat и Opal — альтернатива Apple Quartz и Cairo.
Напоследок следует отметить, что теперь есть возможность использовать нормальные темы виджетов (написан новый движок), так что GNUStep уже не такой страшный ;)
>>> Подробности