See also Multi-Language_Ajax_Frameworks and Ajax_Frameworks.
AJASON (added November 2005)
AJASON is a PHP based framework. It uses JSON (Javascript Object Notation) to encode/decode data between server and browser; so it isn't full AJAX (it doesn't use XML)
- Open-source license by multiple contributors.
AjaxAC (From April, 2005)
AjaxAC encapsulates the entire application in a single PHP class. From the website:
- All application code is self-contained in a single class (plus any additional JavaScript libraries)
- Calling PHP file / HTML page is very clean. All that is required is creating of the application class, then referencing the application JavaScript and attaching any required HTML elements to the application.
- Built in functionality for easily handling JavaScript events
- Built in functionality for creating subrequests and handling them
- Allows for custom configuration values, so certain elements can be set at run time
- No messy JavaScript code clogging up the calling HTML code - all events are dynamically attached
- Easy to integrate with templating engine due two above 2 reasons
- Easy to hook in to existing PHP classes or MySQL database for returning data from subrequests
- Extensible widget structure to be able to easily create further JavaScript objects (this needs a bit of work though)
Background:
- Open-source license (Apache 2.0) by Zervaas Enterprises
Ajax Agent (From February, 2006)
Ajax Agent is very simple to use Ajax framework created by some two Ajax pro's (Steve Hemmady, the Lead Architect behind award winning Onepage Portal Server (now Sybase Enterprise Portal) & Anuta Udyawar, a core engineer behind the Content Express For Microsoft Commerce Server).
- Aims is to make Ajax work as simple as possible. Based on KISS (keeping it simple & sloppy)
- The PHP version offers three steps to get started with the framework:
include_once('agent.php'); $agent->init(); agent.call('url','server_function', 'client_handle', param1, param2, ...);
The first line is declared to include the Ajax Agent library, initialize the agent framework & instantiate the server side 'Agent'. The second line instantiates the client side 'Agent'. The third line which runs on the client side within the JavaScript browser environment, uses the client side 'Agent' to directly call the server function asynchronously.
- Supports complex data types like associated arrays & objects
- Makes use of JSON (JavaScript Object Notation) for data interchange format
- Open source framework/toolkit licensed under the GNU General Public License
- Developed by Steve Hemmady & Anuta Udyawar
Cajax (added December 2005)
Cajax is a PHP object-oriented framework to create and handle server-side requisitions though javascript remote calls. Some features:
- Simple server-side programming,
- Almost no client-side programming (less Javascript writing is possible)
- Handler for server-side events,
- A suggest handler like Google's,
- Plug-in for multiple selects (like country/state/city),
- Remote server calls directly from javascript, using an abstraction layer
- Plug-in for submiting forms though XMLHTTPRequest
- Javascript caching
- Open-source library (LGPL) by Thiago Pappacena
HTS Web Application Framework
HTSWaf provides seamless client to server event handling.
- The HTS Web Application Framework is a PHP and Javascript based framework designed to make simple web applications easy to design and implement. The framework implements a custom tag engine with an automated Javascript and/or PHP Event Model and automates the transfer of data to and from the server.
- Visit the website for more info and examples.
- Currently in demo stage, by Bert Rosell.
JPSpan
JPSPAN passes Javascript calls directly to PHP functions.
- Heavily unit-tested.
- Open-source license.
Quote from Harry Fuecks, main developer of JPSpan : "While giving this talk, mentioned JPSpan is effectively dead — HTML_AJAX is, to some extent, it’s successor—it’s a bit like PEAR::SOAP and NuSOAP."
My-BIC
My-BIC My-BIC AJAX State of Mind for PHP harmony
- This is a basic state of mind system rather than a framework
- Allows you to focus on making things happen rather than setting things up
- Support for XML, JSON and TEXT ajax transactions
PEAR::HTML::Ajax
PEAR::HTML::Ajax PHP and JavaScript AJAX library. (Description taken from the PEAR Ajax page.)
- Provides PHP and JavaScript libraries for performing AJAX (Communication from JavaScript to your browser without reloading the page)
- Offers OO proxies in JavaScript of registered PHP or proxyless operation
- Serialization of data sent between PHP and JavaScript is provided by a driver model, currently JSON and Null encodings are provided.
- Open source license (LGPL) by multiple contributors.
Pipline
The Pipeline framework consists of a simple client side library and direct integration with the controller. It's main focus is on simplicity, it is not feature rich, and does not use XML. It favors returning html or strings from the controller, or associative arrays which get translated from PHP into javascript.
- Open-source framework with commercial add-ons in development. By Picora Pipeworks.
Symfony
- The symfony web framework integrates a server-side AJAX layer together with helpers "a la" script.aculo.us, to provide an easy way to build AJAX applications in PHP 5. A step-by-step tutorial describing the creation of an interactive shopping cart demonstrates the tight integration of prototype, script.aculo.us and the MVC model.
- The Advent Calendar initiative illustrates how to build a real AJAX application in 24 short tutorials, complete with downloadable code. Interactive form submission, Folksonomy, visual effects are some of the AJAX features of the askeet website they are building live. A must see.
- Open source license (MIT License), sponsored by Sensio.
XAJAX
xajax passes Javascript calls directly to PHP functions.
- Use Javascript stubs to call functions, object methods, and class methods in a PHP script.
- The response is created using the xajax response object which provides numerous commands, such as assigning HTML to an element, displaying an alert, and more. Custom script output is also supported.
- All browser-specific code (such as using XMLHttpRequest) is abstracted, and sending various types of data to the server (including form submission via Ajax) is very easy to accomplish.
- It supports a number of configuration options to allow easy integration with existing Web apps and frameworks.
- The Javascript core is easy to understand and can be overridden to support more advanced Javascript functionality.
- Well-supported via forums and a new Wiki with documentation and tutorials
- Open source (LGPL) by J. Max Wilson & Jared White.
XOAD (formerly NAJAX)
XOAD is a PHP based Ajax/XAP object oriented framework. From the website:
- it uses JSON and native PHP serialized objects to communicate,
- special attention has been paid to security,
- supports server side events (observation),
- client side events (XOAD Events),
- server and client extensions,
- HTML manipulation (extension),
- Caching (extension).
And more:
- each class, method and variable is documented,
- easy tutorials to get started using XOAD,
- examples that demonstrate various functionality,
- absolutely free for both commercial and non-commercial use (XOAD License).
Awards:
- Open-source license (PHP 3.0 license) by Stanimir Angeloff.
phpAjaxTags
phpAjaxTags is a port to PHP of famous java tag library "AjaxTags" (SF Page)
- simple but powerfull
- easy to install & use
- no js coding required
- on-line demos
- Apache open source licence 2
Guava
Guava's Homepage on Sourceforge
- Object Orientated Design
- Hybrid Event-Driven and Process Driven Interface
- Also application environment where multiple Guava applications can co-exist.
PAJAX - Remote (a)synchronous PHP objects in JavaScript
PAJAX is a PHP-based remote object binding framework.
- GPL
- demo
PAJAJ - PHP Asynchronous Javascript and JSON
PAJAJ is a object oriented Ajax framework written in PHP5 for development of event driven PHP web applications.
- Simple
- Develop how you want (supports 3 different development models)
- Event Driving
- Late Binding of Events
- Object Oriented
Flexible Ajax Framework
Flexible Ajax is a handler to combine the remote scripting technology, also known as AJAX (Asynchronous Javascript and XML), with a php-based backend.
- written in PHP5 using object-oriented code (PHP4 supported since Version 0.2.2)
- consists of a client and a server handler
- allows separation of the client-code and the server-code
- get and post methods supported
- easy to implement into existing code
TinyAjax
TinyAjax is php5 Ajax library modified and improved from SAJAX (see Multi-Language_Ajax_Frameworks).
- AJAX enable your pages without having to write a single line of javascript
- Call PHP functions in classes or as separate functions, you can even extend TinyAjax by subclassing it
- Let your PHP-code set which elements to alter and with what using behaviours
- Integrate it with a template system (smarty-example included)
- Easily have gmail style "Loading" notification when AJAX-code is executing
- Use PHP-functions for both AJAX callback and regular code
Claw
Claw allows developing tree-structured web applications with ease, while having the following things in mind:
- Clean Code / Database / Display logic seperation with Hierarchical MVC
- Page / method / variable chains (i.e.: /articles/read/10/comment/35)
- Search engine friendly & clean URLs without creating dozens of rewrite rules
- View / Variable inheritance during application flow
- Rapid and intuitive development process
- User permission handling
- Outside variable handling ($_GET, $_POST, $_REQUEST, $_COOKIE, etc.)
- Form handling and processing
- Session handling
- Configuration file handling
- DRY and KISS principles
- Support for web trends (i.e. AJAX)
- Database independance & object persistance
- Human-readable manual and example applications
- Loose-coupled components with possibility of choice and extensions
- Portability, easy setup and configuration (changing app location will not require changing any configs, except for .htaccess RewriteBase, which is optional)