Aptana Jaxer is the first (so far as I know, anyway) Ajax web server. It allows developers to use the same client-side skills (HTML, CSS, JavaScript, and the DOM) on the server. Jaxer, on one level, greatly extends the capabilities of JavaScript to include access to databases, the file system, and networking components (sockets). Version 1 was recently released (Fall 2008) from Aptana, Inc.
I have a bad habit, when learning new things, of reading too much and doing too little. In an effort (early New Year's Resolution, anyone?) to rectify that, I created a real project, as opposed to working through snippets and short tutorials only, to further reinforce what I'm learning.
Project: Because the web can't have enough blogging applications, I decided to build a blog entirely in JavaScript utilizing Aptana's new Jaxer Ajax Server. Even though this application (most likely) has no real world usage outside my little consultancy, I thought it would be a good basis for getting under the hood of Jaxer.
The blog will contain the following features (no particular order, more of a brain dump):
- Posts
- Categories
- Post tagging
- Comments (optional moderation and security filters)
- Subscription (to specific post)
- Ability to share links
- SES URLs
- RSS feeds
- Track backs
- Type of blog (can be technical, photo, or standard)
- Blog owners (so each employee can have their own blog)
- Blog admin
- Control over items displayed (calendar, recent entries, rss feed, etc.) in view/layout
- Code View (for technical blogs)
- Lightbox (for photo/image blogs)
- Rich Text Editors for ALL!
I am certain I've left a few things off this list and will probably come back to edit the post a few more times as I refine it.
Development Environment: Please see development environment post for details.
Hosting Environment: Aptana Cloud. I played around with the Cloud when it was in beta and really enjoyed how easy it was to run a site or application completely from your IDE. The least expensive service is $0.04/hour (about $0.99/day), fully managed for you, private, staging and production servers (and a MySQL database server), an SVN repository, deployment and account/site management from within the IDE (Aptana/Eclipse). It's pretty sweet.
I have a collection of posts running now about my introduction to and exploration of Aptana Cloud.
Setup: This really is quite easy because the hosting service is intimately tied to the IDE. Aptana Studio (the IDE) includes a working web server integrated with its Ajax web server, Jaxer. So you can test your site as you develop, without ever leaving the IDE. When you are ready to deploy, you select your project in Aptana Studio, choose to deploy it to the Aptana Cloud, follow the screens, providing information as requested, and you're good to go. From then on out, you simply upload files to the server from the IDE and that's it. Yeah.
Up Next: The DDL (link not activated until article published)
I did have some issues configuring Jaxer for local projects in terms of hooking it into Apache so I could use it seamlessly on port 80 with my standard Apache install. I've got a post on it, if you want to read that one (just click the Jaxer label) or please feel free to post a comment here with your problem and (I think) I can help out!