Cosmoe GUI: нова ера розробки графічних інтерфейсів
Cosmoe GUI-бібліотека: нова ера розробки під Linux з використанням API стилю BeOS
Cosmoe – це GUI-бібліотека, що підтримує роботу в Linux в середовищах на базі Wayland. Вона дозволяє створювати програми з графічним інтерфейсом на мові C++, використовуючи для формування інтерфейсу API в стилі бібліотеки класів операційної системи BeOS. Бібліотека надає можливість напряму запускати в Linux програми, що використовують API BeOS. Код проекту розповсюджується під ліцензією MIT.
Переваги Cosmoe перед іншими GUI-бібліотеками
Cosmoe надає набір класів C++, що дозволяють швидко й просто створювати інтерфейси користувача. З одного боку, Cosmoe суттєво простіша й компактніша за такі тулкіти, як GTK та Qt. З іншого боку, вона дозволяє створювати інтерфейси, що виглядають сучасніше, ніж при використанні легковагих FLTK та Xforms.
На застарілих системах Cosmoe дає можливість досягти дуже низького споживання ресурсів. На сучасних системах бібліотека дозволяє отримати максимальну продуктивність завдяки активному використанню багатопотоковості. Зрештою, користувачі отримують колекцію прикладів програм, що використовують Cosmoe для створення інтерфейсу, серед яких емулятор терміналу, редактор стилів та прості ігри.
Історія та сучасний розвиток Cosmoe GUI-бібліотеки
Бібліотека заснована як легковагове відгалуження від кодової бази проекту Cosmoe Classic, що не потребує серверних компонентів (app_server, registrar). Її перевели на роботу поверх композитних серверів, які використовують протокол Wayland. Розробка Cosmoe Classic була відроджена минулого року після сімнадцятирічної перерви.
Початково проект Cosmoe Classic займався портуванням середовища Haiku OS для роботи поверх ядра Linux і використовував відрисовку інтерфейсу у вікні, створеному за допомогою бібліотеки SDL.
Поточний стан розробки Cosmoe GUI-бібліотеки
Наразі проект переорієнтовано з розробки форка ОС Haiku на створення окремої бібліотеки для розробки графічних програм для Linux. На поточному етапі розробка перебуває на альфа-стадії, при цьому бібліотека вже підтримує близько 95% від усіх можливостей API BeOS.
Однак існують певні обмеження. Серед найважливіших – відсутність підтримки не прив’язаних до екрана екземплярів типу BBitmap, необхідних для апаратного прискорення відрисовки, та неготовність API BFilePanel, що формує діалоги для відкриття та збереження файлів.
З повною інформацією про проект можна ознайомитися на офіційному сайті Cosmoe, а також у офіційному оголошенні.
