I realize that this question has been asked before, but it has been a month with no decent responses... I'm looking at Aptana's Jaxer and I find the concept to be very exciting.
Here is a quick overview for those who are not familiar with it:
Jaxer is, in their words, "the world's first true AJAX server". It is based on the Mozilla engine so scripts are written with javascript and you have complete access to the DOM on the server-side.
Scripts are placed on your pages with <script>
tags and you can specify a runat
attribute (ala ASP.NET) to mark scripts for execution on the client, server, both, or as a "server-proxy" which makes the functions available on the client, but they execute on the server via AJAX. This also means that you can use your favorite client-side libraries (jQuery, Prototype) on the server as well as the client.
It also can be used to process documents that are generated in another language (e.g. php, ruby) which I imagine is not practical except to help in transitioning existing applications to use Jaxer.
- What are the pros and cons?
- How mature/stable is it the API?
- How good is performance compared to other server-side html preprocessors?
- Has anyone used Jaxer with another technology (php, pearl, ruby, etc.) and what were your experiences?
EDIT: I've posted another question regarding a drawback I discovered while playing with Jaxer: Defining objects when using Jaxer
I did come across this set of performance benchmarks.
It looks as though Jaxer performs better than Rails, but not as well as php...
I didn't use Jaxer for very long, but here's some things I found:
Pros
Cons
Overall, I think Jaxer has the most promise as a postprocessor in front of another web framewok. It would be great to use Jaxer to layer all the spiffy AJAX stuff on top of an existing site. It would make it a lot easier to make a dynamic site with validation / page manipulation logic shared between server and client. I don't think I would want to write an application using only Jaxer. Also, it's young (and immature) - I'll be interested to see where it ends up.
@BRH: Great insight. I would echo all of the "Pros" and "Cons" 2, 4, & 5 and your final overview. I kind of get the sense that they didn't intend to displace any of the market for upstream frameworks ... but if they could do so and keep it as tight and comprehensible as it is, I hope they do! I like the way they think!
P.S. I don't know if it is new, but there is a
<jaxer:include
tag that injects fragments into the page prior to server-side script execution that might be a help in some code-reuse scenarios. There may be more for me to discover along those lines.I believe Jaxer is so promising, coming from an AJAX developer here ;) ... though that would mean I have to do away or use less of PHP, my first language. :)