What is PAX?

PAX is an open source, compact yet complete, web application framework, that includes just the components that you need to build a web application.
PAX places a strong emphasis on balance of power versus compactness, in order to design an optimal solution.
There is a broad range of widgets, and an excellent set of underlying utilities and methods, and all functionality works "out-of-the-box", all you need to do is configure the widget, and hook up the server side code. Best of all, it's is lgpl licenced :o)

How can you use PAX?

You can use it to develop a complete web application! Some of the more prominent features are:

Datagrid (ajax)

Ajax driven data grid with many display and formatting options

Validation (simple)

Various standard form field validation options including: numeric, alpha, length, notEmpty, etc...

Validation (extended)

Extended form field validation including: managed ajax queries, input widgets, custom validation, etc...

Date picker widget

Widget for simple input of dates, with format validation, and the ability to calculate dates from strings, eg: 'tomorrow'

Tabset widget

Widget that shows a set of tabs, based on either HTML markup, javascript, iframe or ajax data


A bunch of examples of how to use PAX templates, including partial rendering

PAX also has a variety of handy plugins, some of which are:

Spell checker plugin

Plugin widget that allows spell checking of text areas via ajax

Google maps plugin

Plugin widget that makes it easier to display google maps and street view

Video plugin

Plugin widget that makes it simpler to display videos from various sites

Widget builder plugin

Plugin that you can use to create PAX widgets with

Who should use PAX?

The main demographic for PAX are developers of data-driven web applications, who want to focus on results and practicality for the end user, whilst still maintaining standards, and optimisation for speed. This is achievable because PAX is built with a relatively limited set of features, that have been determined as essential, based on UI and web application research.

Why? (Inspiration)

The main inspiration for creating PAX was the lack of complete and compact frameworks that had a set of common widgets and features; either the framework had too few of the desired features, or was bloated with too many features, and non-standard functionality. To most users, speed is paramount, they don't care if your application has wizz-bang features, if it doesn't load quickly; PAX addresses these issues, by being user friendly, concise and compact, (less than 40KB, minified and mod_deflate compressed).

How is it just the components I need?

When deciding what was to be included in PAX, research was done on various popular web applications, in order to find common features and elements. From this set, we choose what to include in PAX.


When designing PAX, a few "unwritten rules" were observed, in order to reinforce a 'best practices' approach:

  1. Find a balance between simplicity, functionality and compactness
  2. Optimise the end user experience for simplicity and efficiency
  3. Use the "80 / 20 rule" in deciding the functional requirements
  4. Unobtrusiveness is paramount (kudos J.Keith, WD06 south)
Moving forward, these rules will be applied as suitably as possible