Skip to content

sziberov/Poppy-DE

Repository files navigation

RU | EN

Poppy DE

Свободная реализация OS X-подобного окружения.

Концепт

Скриншот

Проект ни в коем случае не является ни типичным DE (как следовало бы предпологать из названия), ни самостоятельной ОС (как может показаться из его архитектуры), но о нём стоит судить как о комбинации этих понятий. Выбор аббревиатуры в названии обусловлен тем распространённым мнением, что любая настоящая ОС должна общаться с оборудованием только напрямую (исключение - гипервизоры), в то время как DE такого ограничения, конечно же, не имеют.

Главные требования проекта:

1. Внешняя совместимость с интерфейсом Cocoa и окружением Aqua версии 10.9
2. Внутренняя схожесть с архитектурами OS X и NeXTSTEP, в значительно меньшей степени с BSD и Linux
3. Продуманное, а не слепое (баг-в-баг) копирование
4. Запуск на Linux и Windows
5. Многофункциональный, контролируемый и приятный глазу ЯП, в т.ч. использующий опциональную/динамическую типизацию и интерпретацию/динамическую компиляцию

Процесс загрузки:

Нативное ПО -> Opium Kernel, Kext'ы -> Библиотеки, службы -> Framework'и, App'ы

В качестве платформы для разработки выбран NW.JS, как среда, максимально отвечающая требованиям 4-6. На втором месте были JVM + Groovy, но они не так хорошо поддаются контролю. Как неизбежная данность, уже даже на текущем Alpha-этапе разработки видно, что производительность не достигает таких же высот, как у нативных приложений. Это во многом связано с тремя факторами: интерпретируемый ЯП, доработки его синтаксиса, и процессорная отрисовка. В теории можно исправить третью проблему используя WebGL, но в целом до повышения производительности ещё очень далеко, так как сейчас главное - это расширение функциональности.

Пометка: Проект заморожен на неопределённый срок в связи с решением разработать новый полностью подходящий для него ЯП.