Version 15 of Woof!

Updated 2009-09-16 10:55:48 by APN

Web Oriented Object Framework

APN 20090831 Woof! 0.3 has been released. Main enhancements are IIS support and *significant* performance improvements.

  1. Quickstart: [L1 ]
  2. Programming Guide: [L2 ]
  3. Reference Manual: [L3 ]

Supports multiple web servers (Apache, IIS, Lighttpd, tclhttpd, etc.) and interfaces (Apache module, CGI, SCGI). Tested (and I use the word *very* loosely!) on Linux and XP.

What it is

A year or so, I needed to build a web site with dynamic page generation (for the first time) and landed up using Rails simply because I did not find anything suitable that was Tcl-based. I was quite impressed with Rails, having the basic site up and running in under a week despite no prior experience with Rails or Ruby. However, I find that although Ruby was fun in many ways, in terms of *productivity*, for me personally, Tcl still rules. So in December, when I had need to build a second site, this time with much more back-end code, I decided to stick to Tcl and try to do a basic Rails clone in Tcl. The TclOO and TDBC additions to Tcl 8.6 were the triggers, since I thought it would be a good chance to learn both along the way.

Woof! does not try to break any new ground. For one, I have very little experience in the area. Rails was sufficient for my needs and based on its popularity, did lots of things right. So for the most part, the intent is to follow its design and focus on the implementation. At the same time, I want to keep it small and simple. I often felt Rails tried to do too much out of the box. Woof! is intended to be

  • Well documented and easily installable/deployable. This is priority one.
  • Multi-platform
  • Web server independent (Apache/mod_websh, tclhttpd, CGI etc.)
  • Runs in a safe interpreter (as of V0.4)
  • Embeddable
  • MVC architecture (like Rails)
  • Currently focused on the Rails ActiveController/ActiveView functionality, hopefully it can pick up the ActiveRecord equivalent from some other Tcl'er.

Source repository is at [L4 ].


Woof! includes the Ruff! documentation generator.