Language Bindings

Language Bindings (or 'Wrappers') allow GTK+ to be used from other programming languages, in the style of those languages. They are relatively easy to create because GTK+ is designed with them in mind.

The bindings that are official GNOME Bindings follow the GNOME release schedule which guarantees API stability and time-based releases.

Key
gnome-binding Official GNOME Binding
Supported
Partially Supported
Unsupported
Language Project 2.6 2.8 2.10 2.12  
C++ gtkmm supported supported supported supported gnome binding
C# Gtk# supported supported supported supported gnome binding
Java java-gnome supported supported supported supported gnome binding
Python PyGTK supported supported supported supported gnome binding
Perl gtk2-perl supported supported supported supported gnome binding
R RGtk2 supported supported supported supported  
Lua lua-gtk supported supported supported supported  
Guile guile-gnome partially partially partially partially  
Ruby Ruby-GNOME2 complete complete complete partially  
PHP PHP-GTK complete complete partially partially  
Ada GtkAda supported supported partially unsupported  
OCaml LablGTK supported supported partially unsupported  
Haskell Gtk2Hs partially partially unsupported unsupported  
S-Lang SLgtk partially partially partially unsupported  
D gtkd unsupported unsupported unsupported supported  

If this page happens to be out of date, you can edit this page by checking out the 'gtk-web' module in GNOME's SVN. If you don't have an account to do this, please contact the envelope GNOME Language Bindings Team for GNOME supported bindings or the gtk-devel list for all other bindings.