A new generation of Cosmoe
has arrived
Cosmoe - building graphical apps reimagined
Cosmoe is a C++ UI library for creating rich, easy-to-code graphical apps for Linux, Mac, and Windows. It brings the benefits of the BeOS class library onto modern OS's and windowing engines.
Cosmoe, like BeOS which inspired it, is designed with these goals in mind:
- Extremely easy-to-use GUI classes make for rapid app development
- Develop for Linux/X11, Linux/Wayland, Windows, and MacOS with one universal source tree
- Highly multi-threaded for maximum performance on modern hardware
- Very low resource usage
Testimonials
Portfolio
Frequently Asked Questions
How can I try out Cosmoe?
Cosmoe is still a work in progress, and exists as a source-only release for now. To run it, clone or download the Cosmoe source code repo from Gitlab and compile the code on your Linux or Mac machine. There are several sample applications included which demonstrate what it is capable of.
What are the plans for Cosmoe going forward?
Now that Cosmoe compiles and runs on all target platforms (Linux/X11, Linux/Wayland, MacOS, and Windows), there are 3 main goals:
Stability
While we've made incredible strides with getting the BeOS class libraries to talk to Wayland, X11, MacOS, and Windows, much work still remains to weed out crashes and incorrect behavior.
Compatibility
Cosmoe implements almost all of the BeOS API currently, but some file-related classes like BVolume are only partially implemented.
Ease-of-use
Cosmoe has several sample apps that compile in-tree. Work needs to be done to make compiling apps out-of-tree as easy as possible.
For more details on this items and other in-progress aspects of Cosmoe, please see the TODO file in the Cosmoe repo.
What license does Cosmoe use?
Cosmoe is distributed under the MIT license.
What source code comprises Cosmoe? Where did it come from, and what inspired it?
Cosmoe is a fork of the Haiku operating system, which itself is an open-source re-implementation of BeOS. The current iteration of Cosmoe is implemented as a UI library, but the previous iteration (now known as "Cosmoe Classic") was a full port of Haiku to the Linux kernel.
How is the current iteration of Cosmoe different from Cosmoe Classic?
The current iteration of Cosmoe is a shared library which implements the BeOS class library on top of Wayland, X11, Windows, and MacOS. There are no supporting programs or servers, e.g. app_server or registrar, needed to use it. All the necessary functionality is rolled into the library. Apps linked with the library run natively on each supported platforms with no platform-specific code needed, and a single Linux build supports both Wayland and X11.
The previous iteration of Cosmoe (now known as "Cosmoe Classic") is a full port of the Haiku OS to the Linux kernel. It currentlyh runs inside an SDL window on Linux. It is still available, but is not receiving additional updates.
Moving forward, my focus is on the current iteration of Cosmoe since I believe it has the most practical benefit.