Graphical user interface
Other interfaces are, for example, the command line interface (CLI), such as a terminal, or application programmable interfaces (API), through which a program allows other programs to use it.
Window managers
Window managers allow you to open, close, resize and arrange windows. They're often really light weight and rarely provide much in the way of features.
A stacking, or floating, window manager behaves as if there's depth to the screen and allows one application to be behind another one. Examples of stacking window managers are Enlightenment, Fluxbox and WindowMaker.
In contrast, a tiling window manager positions open windows next to each other, such as Ratpoison does.
Dynamic window managers combine these two. Some notable dynamic window managers include sway, awesome, i3, and xmonad
Desktop enviroments
Some systems expand upon the window managing. They generally provide additional features such as desktop alerts, bundled software and toolkits that allow developers to write applications with uniform designs.