Re: [Vala] mod_vala (was Removal of Mono)



On Fri, 3 Jul 2009, Jeremy wrote:

Michael B. Trausch wrote:
On Tue, 30 Jun 2009, Jeremy wrote:
Maybe mod_mono (for apache) is an example of the sort of dependency I
was thinking of:
http://ibbie.xanga.com/686874553/item/

  That would be my blog post. I do still think a "mod_vala" would be a
*great* idea. Unfortunately, I feel it best to suggest that focusing on
improving the documentation might be a better goal. Both flavors of
syntax are great; but anyone coming in, either knowing another language
or just new to programming, will be discouraged when they can't find the
answers. After all, it's really difficult to RTFM when there's no
(finished) FM.  I mean, imagine if you did "man sbrk",  and at "RETURN
VALUE" it just said "To be completed..." (;

Hrm. A "mod_vala" might be okay, but it would be necessarily non-portable. Why not have a FastCGI library for GObject instead, and then Vala (or C) can be used to create applications that use the FastCGI protocol run run behind a Web server?

The FastCGI library could be a bare, low-level thing that just implemented the protocol, and have a layer that sat on top of it to provide more reasonable interface to the proess and make it easy to work with. That would accomplish something along the lines of a mod_vala, but it would not only work with Apache, but a fair lot of other Web servers, as well.

    --- Mike

You know, I was actually thinking about that after I'd sent the e-mail. Either FastCGI or SCGI should work, and wouldn't be locked into a specific server. There'd be no issue of constantly re-running a binary (ala CGI) since it'd essentially hang out and wait for the server to call it - essentially, the application becomes a sort of data source. At least, that's how I understood it worked, please correct me if I'm wrong.

I am actually working on a FastCGI library for Vala. I had written one for C#, and was using it until a decision was made to migrate the project to Vala for technical reasons (native-code software kicks the pants off of managed software when it comes to memory consumption, and Vala makes it easy to maintain). I do still very much like Mono.

Currently the FastCGI code base is private, and it depends on two bug-fixes: one in GLib, and one in Vala that depends on the one in GLib. It is going to be published under the LGPL after a (rough, initial) port is complete, and you or anyone else who desires to use it as a base is more than welcome to do so.

After it is ported, I will be making a branch that will work with current Vala and GLib versions. It will require some extra code to work around the bugs that there are bugfixes available for in the GNOME Bugzilla. I am trying to advocate for the GLib/GObject fix to be applied, to make the bugfix in Vala easier, but as GLib/GObject doesn't seem to have an active maintainer ATM, that might not be possible. I am considering a different bugfix to Vala that I may submit that will work around the issue in GLib, but it would be a nasty hack and I am not sure that I want to even propose it.

Anyway, working around the issue in the FastCGI library is possible with some extra code (and slightly increased memory overhead) and when the port is finished, I'll be publishing it as a full project on Launchpad and maintaining it actively. I can publish it earlier if there is interest in helping it along, after I have the base spec implementation done---I do plan for it to be more than _just_ a FastCGI library, I want to provide some level of HTTP request abstraction that is just slightly higher than the FastCGI protocol itself.

        --- Mike



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]