AJAX, the Best Thing since Sliced Bread
jQuery, the Great Equalizer
If you’re familiar with jQuery at all, you know that it has built-in support for AJAX requests, hiding all of the messy details associated with XmlHttpRequest. This makes life much easier for the AJAX web developer.
Out of this interest in AJAX jQuery flowed a natural progression. I thought to myself, “Why not create an MVC framework like no other?” After all, most of the MVC (Model-View-Controller) frameworks out there today are following the legacy of Apache Struts, which uses a front controller and a routing configuration. This is a fine architecture, but it is a heavy price to pay for clean URLs. I generally prefer straight PHP scripts because they run fast, and they’re simple. I do like MVC though, and I believe it’s important to separate those three pieces of functionality and not mix things up between any of them. Introduce AJAX into the mix, some of the boundaries get shifted a bit. And that’s a good thing.
A Project is Born
Enter Jax Framework. Jax Framework is a combination of several open source projects — some authored and maintained by myself; some by others. Jax Framework is designed from the ground up to be AJAX-centered. The key technologies are jQuery, AJAX, and Data Access Objects (DAO). This thing makes developing robust, AJAX-centric web applications a snap. It includes support for expressing your database schema in XML or YAML, or it can read your schema straight from your database. It also supports designing Create/Retrieve/Update/Delete (CRUD) pages completely from YAML. It uses code generators to produce complete, working, AJAX-centric CRUD pages for you. Want to customize the pages further? You can create callback “hook” functions which will get called automatically when certain key events occur, allowing you complete control over the behavior of the CRUD pages. Need a page that’s not CRUD-centric, or is beyond the scope of the included code generators? Writing AJAX-centric CRUD pages is a snap with Jax Framework.
Jax Framework combines the following technologies to produce a fully functional AJAX framework:
- jQuery, jQuery UI
- jQuery Data Tables Plugin
- jQuery Field Plugin
- jQuery Color Box Plugin
- Spyc YAML Parser
- Code Generators for Searches, Loaders, and CRUD Pages
Simplicity, Ease of Customization, Faster Development Cycle
One really nice thing about Jax Framework, is that it is an application-centric framework. Instead of requiring you to conform your app to a rigid directory structure, Jax Framework can be reasonably tailored to your preferred directory structure. This makes it much easier to get an application up and running, because the learning curve is small.
It’s Fast, Baby!
Jax Framework is optimized for speed and security. Instead of using a heavyweight Object-Relational Mapper (ORM) between the application and the database, Jax Framework makes use of Phpdaogen, a fast, efficient, thin layer which implements a derivative of the Data Access Object pattern.
Minimal Learning Curve
Getting started with Jax Framework is a snap. Just download the code, then follow the simple instructions in the INSTALL.txt.
Jax Framework is licensed under the BSD license. Various third-party components are licensed under MIT, BSD and other very liberal open-source licenses. Basically, you are free to use it as you like; just maintain the copyright notices and give proper attribution where required. I am not a lawyer, so this does not constitute legal advice.
I Want it Now!
Jax Framework can be downloaded at the Jax Framework Project on SourceForge. Download it, give it a spin, and enjoy!