## Welcome to Jaxer

Rich, "Ajax-style" web sites and applications offer tremendous advantages over both static web sites and desktop applications. But they can be difficult to develop, maintain, and expand. Many of the difficulties on the client side are alleviated by Ajax libraries such as jQuery, ext, and Dojo, and by development environments such as the Aptana IDE. Jaxer, the Aptana server, completes the picture by offering a powerful "Ajax server." With Jaxer, you can:

### Simple Sample

Below is a extremely simple sample that shows how to write out server content.

#### Exploring Jaxer code.

Press the Source tab in the HTML editor. You'll see multliple colors of code. Code like this runs on the server:

    function checkValid(contents)
    {
        if (contents.length > 10000)
        {
            throw "Too long!";
        }
    }

Code like this runs in the browser and on the server. To try, change the <script runat="server" to runat="both":

    function getFilePath()
    {
        return "contents.txt";
    }

In addition, you'll see colors and icons corresponding to server and client code in the Outline view.

### Exploring Jaxer

Aptana Studio provides a number of ways to play with Jaxer.

#### Step 1. Open the servers view and see the Jaxer and Jetty servers running.

1. Show Statistics shows the current Jaxer build number
2. Right-click on the Jaxer Internal Server and choose "Open Log". This is the log of the internal Jaxer process.

#### Step 2. Play with the Jaxer interactive console.

Try the following:

1. Open up the Jaxer Shell
2. Type the following:

       var tmp = [];
       for (var p in Jaxer)
       {
           tmp.push("Jaxer." + p);
       }
       print(tmp.sort().join("\n"));

3. Press the play button, or Control + Enter on the keyboard.
4. See how it writes out the items in the Jaxer namespace

#### Additional Samples

Check the samples view for additional samples to preview and import.