by mschwartz | March 9th, 2009
Then I read this brilliant blog post by Steve Yegge of Google:
Helma can be downloaded at http://helma.org. The download is under 5 megabytes. The install took me about 1 minute to unzip. To get started, all I had to do was run start.sh (or start.bat under windows).
The Helma configuration file is just a few lines, yet is rather powerful for defining the various applications you might serve with it. It comes with two applications: welcome and manage. Welcome is a small WWW site, a starting point for understanding what Helma is and how to get started using it. Manage is a server administration back end that shows you the status of your applications, allows you to restart them or disable them, and so forth.
The server comes with at least Rhino 1.7 which features a windowed debugger for Firebug style debugging of server-side code.
You can write text (HTML) to the browser or to the console (where you ran start.sh or start.bat).
You can use Jetty to serve static content, or you can serve static content through a trivial URL handler. The extra overhead is almost zero! So you can check to see if a user is logged in before serving a client-based .js file or you can check to see if the HTTP_REFERER for an image request is from your site before serving it (avoid bandwidth leaching).
I noticed two or three speeds when viewing the sample application I implemented to test things out. There seemed to be a rather long page load time right after restarting the server (start.sh/start.bat) for the first page or so. After editing a script and reloading the page, it seemed a lot faster, but still a tad slow. But reloading that same page was just about as fast as I can expect a page to be served. I assume this is due to the whole application being compiled into byte code upon restart, the incremental compiles as I change / edit source files, and the true production speed of JIT.
Thumbs up from me for Helma!