Aptana Jaxer, the open-source Ajax server that embeds the Mozilla browser engine server-side, is nearing its first release. There's been lots of work on Jaxer with significant community feedback and ideas coming from the Jaxer betas over the summer. This latest (and probably last before 1.0) release candidate packs in some great performance enhancements like native JSON as well as a brand new built-in capability for easily dispatching RESTful and RPC service requests. And like before we're looking for feedback before we finalize and ship 1.0. So please grab a copy of the latest...
If you've not yet tried Jaxer, now is a great time. Aptana Studio provides extensive integrated tooling and samples for Jaxer, and Aptana Cloud now lets you deploy instantly to Jaxer servers running on elastic cloud computing infrastructure. Of course you can also download Jaxer and put it on your server for free too. It's free and open source.
If you are already using Jaxer, you'll love all the enhancements.
Here a synopsis of all the new features and improvements that have gone into this latest release candidate:
- Jaxer.Sandbox: HTTP-level control; support readyState, toHTML, waitForCompletion
- Built-in, extensible dispatching for RESTful and RPC service requests
- Fast, native JSON support
- Improved APIs for HTTP Request and Response
- More flexible handling of application configuration
- Many bug fixes, smaller improvements, and cleanups
More specifics on these below...
Sandbox enhancements
- return headers and other properties about the request and the response
- new method: waitForCompletion(maxMillis)
- new method: toHTML
- query the readyState
Better HTTP request handling
- More control over how to receive the body, useful for binary data or long posts
- Automatic handling of the body based on Content-Type
- Implement RFC-compliant parsing of the URL
- Offer SSL certificate error handling on requests
Better app management
- Automatically load configApps-like files
- Cleaned up the default local version of configApps.js
Support for web services
- Added default sample-level dispatchers for web service requests and RPC requests
- Allow specifying a handler explicitly for your app
- Support for RESTful calls (including GET, POST, PUT, DELETE, OPTIONS, HEAD)
- Default Apache and Studio configs route URLs containing jaxer-service and jaxer-rpc to Jaxer
JSON improvements
- Use native JSON when available
- Use "standard" JSON serialization by default
- More explicit error message when cycles encountered
DB improvements
- MySQL: Allow specifying a socket when defining connection parameters
- MySQL: Correct handling of booleans
- Resultset: cleaned up the data structure to make it more efficient and easily serializable
Better HTTP Response handling
- Allow setContents to take a DOM node, a document, or an object, and "do the right thing"
Misc improvements
- Much faster start/stop/restart and more robust Jaxer process management