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. It is less than 50kb javascript, gzipped and minified.
PAX places a strong emphasis on balance of features versus compactness, in order to provide an optimal solution.
There is a broad range of widgets, and an excellent set of underlying utilities and methods, all you need to do is configure the widgets,
and hook up the server side code. PAX is LGPL licenced.
How can you use PAX?
You can use it to develop a complete web application! Some of the more prominent features are:
demo page.PAX also has a variety of handy plugins, some of which are:
![]() Google maps pluginPlugin widget that makes it easier to display google maps and street view |
![]() Video pluginPlugin widget that makes it simpler to display videos from various sites |
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 efficiency. 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 was PAX created?
The main inspiration for creating PAX was the lack of complete yet compact frameworks that had a set of common widgets
and features; either the framework had too few of what can be considered "core" features, or was bloated with too many features, and sometimes
cool but useless functionality. To most enterprise 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 50KB javascript, minified and mod_deflate compressed).
Of course, it still has "whizz-bang" features, it just doesn't automatically assume you want to use them. Such features are created as plugins, so that
those people that want to use them need simply use the plugin code. For example: an ajax spell checker is a desirable feature, but can hardly be considered
a "core" feature.
Another motivator was watching how some developers use certain frameworks that encourage non-unobtrusiveness; this development process is not suitable
for many situations, where there are large pages, (eg: many fields and large forms), as it leads to browser memory management issues, and general
maintainablilty problems.
PAX addresses these issues by encouraging and embracing unobtrusiveness.
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 a set of common features and elements. From this set, we choose what to include in PAX.
Philosophies
When designing PAX, a few "unwritten rules" were observed, in order to reinforce a 'best practices' approach:
- Find a balance between simplicity, functionality and compactness
- Optimise the end user experience for simplicity and efficiency
- Use the "80 / 20 rule" in deciding the functional requirements and development priorities
- Unobtrusiveness is paramount (kudos J.Keith, WD06 South)
Road Map
For the next point release: 0.90.00, we are aiming for these features:
- Menu widget, including tree and dropdown
- Better Safari / Opera support
- Auto completer codebase moved to PAX structure
- Examples for the above
- Full Safari / Opera support
- Rewritten and optimised CSS
- jQuery / prototype / etc... support
- Possible user requested features (join the forum, and submit your requests in the appropriate forum.
- Move all widgets code to be in line with proper widget library spec








