Monday, March 20, 2006

Started X11 UI backend

The Cocoa backend is almost complete; it is missing a few features which depend on the ability to call methods on a superclass inside an Objective C method definition. Once I implement this feature, I can continue working on the Cocoa backend, but today, I decided to start the X11 backend instead. So far, I've moved the core of Eduardo's X11 bindings from contrib/x11/ to library/x11/, and cleaned up some of his utility words. I got it to the stage where a GLX window rendering Factor UI gadgets is displayed, however input does not work yet.

Here is my rough list of goals for Factor 0.81:
  • Finish Cocoa and X11 UI backends
  • Make the UI faster, write some new graphical tools
  • Wait for Doug Coleman to finish the Windows UI backend :-)

Basically 0.81 is all about callbacks in the FFI, and the new super-duper platform-tuned UI.

Developing Factor has been a great educational experience for me. I taught myself many new things:
  • The C language
  • x86, PowerPC and AMD64 assembly
  • OpenGL
  • Cocoa (although my first exposure to Cocoa was a commercial gig, I still learned a lot more about Cocoa internals while writing the Factor Cocoa binding)
  • X11 - learning it right now
  • Language design and implementation techniques
  • I even learned JVM bytecode so I could write the early JFactor compiler...

No comments: