John Resig writes about Server Side JavaScript with Jaxer in his blog. Basically, it's an extremely simple way to set up a JavaScript server, with the things that you would expect a server to be able to do such as writing and reading files.

I first ran into Jaxer a couple of days ago when doing the latest update for the Aptana plugin for Eclipse. I didn't give it much attention, other than getting upset at the ugly icon on the toolbar. Ok, it's not ugly as much as it is inconsistent. The last thing I want is another "feature" being shoved down my throat (like the Aptana messages — grrr).

Hey, if John thinks it's cool, then it is. His jQuery library is not half bad and his book "Pro JavaScript Techniques" is not terrible either,* so there might be something to Jaxer.

Dion Almaer also posts about it on Ajaxian, adding that the database connection could be integrated with Gears. One thing that immediately caught my eye is that you can use JavaScript 1.8 — on the server.

Personally, I'd like to work on a project where there's only JavaScript to deal with, both on the server and the client side. Ok, maybe lately I've been hating C++ more than the average person, but wouldn't it be nice to use the same language on both sides? Have both sides talk to each other without complicated setups? That's Jaxer's promise to you. We'll see how it pans out.

*My sarcastic signature comments may confuse the unacquainted. John Resig has earned my respect because of his visionary work, most notably jQuery and lately with his excellent book.

1 comment:

Jed said...

Carlos spent some time recently looking into Jaxer here at Appian. While we thought it would provide a lot of value in terms of rendering time for complicated forms, we ended up being undecided on its usefulness.

Yes, it's much faster to render the one form on the server than having the browser process the DOM, but the resulting size of the page that is sent over the wire to the client is much, much larger than just the DOM. So we speculated that any rendering performance gain might be canceled out by transfer time slowdown.

Plus, Jaxer basically takes what is normally a distributed, client side task and makes it a server side one. We were afraid of the scalability issues of doing that.

Overall, Jaxer is pretty cool, especially on a project where you JUST want to work with Javascript and want to do server stuff with it. But I'm not sure how useful it is for moving existing client-side JS to the server. But then again, no one said that was the main point of it (just what I was hoping it could do for us)!