<< February 17, 2008 >>
introducing Gom
for hack week, i decided to continue working on a project i started tinkering with a few months ago. i didn't think i'd get as far as i did, but here i am, ready to release it to the world.
or at least to the three people i think might be interested in it.
so, what is Gom? Gom is two things.
first, it is an implementation of the W3C Document Object Model (Core) Level 1 interfaces for GTK+. what this means is that it takes your widget hierarchy, and presents it as a DOM tree. you can use the painful DOM interfaces to manipulate your GTK applications in C.
the second thing Gom does is provide a JavaScript wrapper for the DOM apis, and a JavaScript runtime for running GTK apps. this lets you write GTK apps in a way familiar to web authors:
<GtkWindow title="Gom 0.0" ondestroy="quit()" border-width="20" default-width="200" default-height="50"> <GtkLabel label="Hello, World"/> </GtkWindow>
the C version of the above program is much longer. i would go so far as to say that Gom even looks nicer than these six other GTK hello world examples.
it may be interesting to note that my goal is not to provide a full JavaScript wrapper for GTk; it is actually to provide a featureful enough JavaScript runtime to support writing GTK apps using the wonderful jQuery library. this means XMLHttpRequest, which means you can write GTK apps using things like JSP, ASP.NET, or WebObjects, if you are crazy enough.
Gom is hosted at google code and has a google group. you can download gom 0.0.

