Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Types of tools for creating a gui (and how those tools approximately work): 1. Utilize the native _graphical interface API_, and depending on the platform, they have specific layers to interface: * Wayland, X11, for Linux * [GDI](https://learn.microsoft.com/en-us/windows/win32/gdi/windows-gdi) for windows * [Quartz](https://en.wikipedia.org/wiki/Quartz\_(graphics\_layer)) for macOS Example - GTK uses [wayland](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/docs/reference/gdk/wayland.md) ([source code](https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gdk/win32)) [X11](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/docs/reference/gdk/x11.md) ([source code](https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gdk/x11)) GDI ([source code](https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gdk/win32)) Quartz ([source code](https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gdk/macos)) [How to use wayland display server](https://bugaevc.gitbooks.io/writing-wayland-clients/content/black-square/the-wayland-client-library.html) (TODO missing "animation" section) 2. Utilize opengl _or other low level graphics api's_ with window context, use GPU to render widgets * Window context manager - [glfw](https://github.com/glfw/glfw), [sdl](https://www.libsdl.org/) * contexts and surfaces, reading input, handling events Example: ImGui, NanoVG, Nuklear, raylib Why? Mainly used for game development, but also good for gui's. _(i haven't seen any examples that uses this method that are used for developing general-use graphical user interfaces.)_
A while ago i make myself a list of possible ways to make a GUI (im not formatting it to reddit-specific markdown, sorry, paste the following text in https://markdownlivepreview.com/ or something if its not readable) :