The web community has been buzzing about the new Ajax server, Jaxer, from Aptana. If you haven't heard see John's, or Dion's Ajaxian posts about it.
Now, overall, I am really excited about the future in this project. The problem I had is all their examples use synchronous XMLHttpRequests. We already know why this is unfriendly to users.
Here is a shortened example from Aptana:
<script runat="client">
var name = getName();
alert(name);
</script>
<script runat="server-proxy">
function getName(firstName) {
var name = ... // do something interesting
return name;
}
</script>
Here the call to getName() must return the name, so it runs synchronously. Jaxer provides a getNameAsync() method that accepts a callback (and uses an async XMLHttpRequest call) but it's hidden deep in a technical FAQ page.
Obviously the synchronous code reads better, but until JavaScript has some kind of continuation support to make async calls look synchronous, [functionName]Async should be the only -- or at least default -- means of server communication. Otherwise all Jaxer apps will seem perceivably slow to users, not to mention preventing all other browser windows from responding while requests are active.
0 TrackBacks
Listed below are links to blogs that reference this entry: Server-side JavaScript and Jaxer.
TrackBack URL for this entry: http://www.nearinfinity.com/mt/mt-tb.cgi/512



Leave a comment