Cross-platform GUI libraries
Oct. 31st, 2016 10:06 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
GUI libraries
I've written articles on cross platform screen libraries including one for the C/C++ Users Journal. I've also done a lot of searching and evaluation of cross-platform GUI libraries. You can take a look at my comparison article on screen libraries at http://www.distasis.com/cpp/scrlib.htm
The following list does not cover every GUI library out there, but it gives a good sample of what's available. Most are C++ libraries but there are a few C libraries for those wanting to work only with C.
My personal preferences at this point are SDL (1 and 2), pdcurses and FLTK because they're lightweight and work on a large variety of systems including mobile devices.
URLs are accurate as of when this was posted. However, they can change over time. You can use a search engine or archive.org wayback tool to find pages that have been moved or backups of older versions of pages.
FLTK - Fast Light ToolKit (C++)
http://www.fltk.org/index.php
Fox Toolkit (C++)
http://www.fox-toolkit.org/
wxWidgets (C++)
http://www.wxwidgets.org/
SDL - SDL 1 and SDL 2
Simple DirectMedia Layer - C cross-platform multimedia library
https://www.libsdl.org/
SDL-widgets
C++ library
http://members.chello.nl/w.boeke/SDL-widgets/
SMFL - simple and fast multimedia library
http://www.sfml-dev.org/
pdcurses
C library
Works with Windows console, X11, SDL 1 and 2
http://pdcurses.sourceforge.net/
pdcurses win32a
C library
A PDCurses fork for Win32 (not console mode).
http://www.projectpluto.com/win32a.htm
Qt
Expansive C++ GUI toolkit - source includes many libraries including a browser example using Webkit.
https://www.qt.io/
NCurses
C console library. Works on POSIX systems and Windows.
http://invisible-island.net/ncurses/
Windows++
I learned a great deal about Win32 C++ programming from the book that created this framework:
https://web.archive.org/web/20070404043707/http://www.dilascia.com/wpp.htm
Owlnext
Borland's Object Windows C++ Library for the modern age
https://sourceforge.net/projects/owlnext/
Ultimate
C++ cross-platform rapid application development framework
http://www.ultimatepp.org/index.html
Poco
C++ library
https://pocoproject.org/
Nana
C++11 GUI library
https://github.com/cnjinhao/nana
GraphApp
Toolkit for platform-independent graphical user interface programming in the C language.
Works with Windows and X Windows
http://enchantia.com/graphapp/
Anti-Grain Geometry
C++ free graphics library for Windows and X11. Includes SVG viewer.
http://www.antigrain.com/about/index.html
CEGUI
Crazy Eddie's GUI System C++ library providing windowing and widgets for graphics APIs/engines
http://cegui.org.uk/wiki/Main_Page
Guichan
Portable C++ gaming library for Allegro, SDL and/or OpenGL
https://sourceforge.net/projects/guichan/
AntTweakBar
C/C++ GUI library for OpenGL and DirectX applications.
http://anttweakbar.sourceforge.net/doc/
Agar
C Cross-platform toolkit for graphical applications.
Difficult to build on some systems and some versions can be buggy.
http://libagar.org/
LibUFO
LibUFO Universal Form Objects, C++ core library for forms.
http://libufo.sourceforge.net/index.html
VGUI
C++ V GUI library and IDE (VIDE).
http://vgui.sourceforge.net/
IUP
Multi-platform toolkit for building graphical user interfaces. with API in three languages: C, Lua and LED.
http://webserver2.tecgraf.puc-rio.br/iup/
Milkymist GUI toolkit
C GUI library
https://github.com/m-labs/mtk
m2tklib
Mini Interative Interface Toolkit Library
https://code.google.com/archive/p/m2tklib/
ftk
Funny tool kit, a C cross-platform embedded GUI
https://github.com/xianjimli/ftk
I've written articles on cross platform screen libraries including one for the C/C++ Users Journal. I've also done a lot of searching and evaluation of cross-platform GUI libraries. You can take a look at my comparison article on screen libraries at http://www.distasis.com/cpp/scrlib.htm
The following list does not cover every GUI library out there, but it gives a good sample of what's available. Most are C++ libraries but there are a few C libraries for those wanting to work only with C.
My personal preferences at this point are SDL (1 and 2), pdcurses and FLTK because they're lightweight and work on a large variety of systems including mobile devices.
URLs are accurate as of when this was posted. However, they can change over time. You can use a search engine or archive.org wayback tool to find pages that have been moved or backups of older versions of pages.
FLTK - Fast Light ToolKit (C++)
http://www.fltk.org/index.php
Fox Toolkit (C++)
http://www.fox-toolkit.org/
wxWidgets (C++)
http://www.wxwidgets.org/
SDL - SDL 1 and SDL 2
Simple DirectMedia Layer - C cross-platform multimedia library
https://www.libsdl.org/
SDL-widgets
C++ library
http://members.chello.nl/w.boeke/SDL-widgets/
SMFL - simple and fast multimedia library
http://www.sfml-dev.org/
pdcurses
C library
Works with Windows console, X11, SDL 1 and 2
http://pdcurses.sourceforge.net/
pdcurses win32a
C library
A PDCurses fork for Win32 (not console mode).
http://www.projectpluto.com/win32a.htm
Qt
Expansive C++ GUI toolkit - source includes many libraries including a browser example using Webkit.
https://www.qt.io/
NCurses
C console library. Works on POSIX systems and Windows.
http://invisible-island.net/ncurses/
Windows++
I learned a great deal about Win32 C++ programming from the book that created this framework:
https://web.archive.org/web/20070404043707/http://www.dilascia.com/wpp.htm
Owlnext
Borland's Object Windows C++ Library for the modern age
https://sourceforge.net/projects/owlnext/
Ultimate
C++ cross-platform rapid application development framework
http://www.ultimatepp.org/index.html
Poco
C++ library
https://pocoproject.org/
Nana
C++11 GUI library
https://github.com/cnjinhao/nana
GraphApp
Toolkit for platform-independent graphical user interface programming in the C language.
Works with Windows and X Windows
http://enchantia.com/graphapp/
Anti-Grain Geometry
C++ free graphics library for Windows and X11. Includes SVG viewer.
http://www.antigrain.com/about/index.html
CEGUI
Crazy Eddie's GUI System C++ library providing windowing and widgets for graphics APIs/engines
http://cegui.org.uk/wiki/Main_Page
Guichan
Portable C++ gaming library for Allegro, SDL and/or OpenGL
https://sourceforge.net/projects/guichan/
AntTweakBar
C/C++ GUI library for OpenGL and DirectX applications.
http://anttweakbar.sourceforge.net/doc/
Agar
C Cross-platform toolkit for graphical applications.
Difficult to build on some systems and some versions can be buggy.
http://libagar.org/
LibUFO
LibUFO Universal Form Objects, C++ core library for forms.
http://libufo.sourceforge.net/index.html
VGUI
C++ V GUI library and IDE (VIDE).
http://vgui.sourceforge.net/
IUP
Multi-platform toolkit for building graphical user interfaces. with API in three languages: C, Lua and LED.
http://webserver2.tecgraf.puc-rio.br/iup/
Milkymist GUI toolkit
C GUI library
https://github.com/m-labs/mtk
m2tklib
Mini Interative Interface Toolkit Library
https://code.google.com/archive/p/m2tklib/
ftk
Funny tool kit, a C cross-platform embedded GUI
https://github.com/xianjimli/ftk