Windowing

The job of a windowing library is to serve an interface between your code and the windowing system of the operating system while abstracting away some of the gnarly details. These libraries usually try to cover multiple platforms, but there are some exceptions.