Tuesday, September 11, 2007

PHP Ajax Frameworks

Akelos


Akelos PHP Framework



  • The Akelos Framework is Akelos is a PHP4 and PHP5 port of Ruby on Rails Web Development Framework.


The main goal of the Akelos Framework is to help programmers to build multilingual database-backed web applications according to the Model-View-Control pattern. It lets you write less code by favoring conventions over configuration.



  • Features ported from Rails are:


Active Record (Model)


* Associations (belongs_to, has_one, has_many, has_and_belongs_to_many) * Finders (not so cool as Ruby on Rails but you can still do $Project->findFirstBy('language AND start_year:greater', 'PHP', '2004'); ) * Acts as (tree, nested_set, list) * Callbacks * Transactions * Validators * Lockings * Observers * Versioning * Scaffolds * Support for MySQL, PostgreSQL and SQLite (might work with other databases supported by ADOdb)

Action Controller


* Filters * Pagination * Helpers * Mime Type * Mime Response * Code Generation * Flash messages * URL Routing * Response handler * Url rewriter

Action View


* Templates (using Sintags, plain PHP or your favorite engine) * Web 2.0 javascript using prototype and script.aculo.us * Helpers * Partials * Template Compilers

Additional Akelos Framework Features


* Multilingual Models and Views * Locale alias integrated on URLS (example.com/spanish will load the es_ES locale) * Database migrations * Pure PHP support for Unicode (no extensions required) * Unit Tested source code * Code Generators * Built in XHTML validator * Automated locale management * Clean separation from HTML and Javascript using CSS event selectors. * Ajax file uploads. * Format converters. * File handling using SFTP for shared host running Apache as user nobody (as most CPanel server do). * Distributed sessions using databases.



The Akelos 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 with a tight integration of prototype, script.aculo.us and the MVC model.


Open source license (LGPL License).


 


AModules3


AModules3 is the whole new concept to fully use potential of PHP5. Having conceptually proper MVC implementation, support for multiple APIs and fully OOP design makes it very good choice for writing serious applications.



  • Distributed under LGPL, which is good for your commercial application

  • Stable since February 2006, have been used commercially

  • Compatible with major browsers

  • Offers many visual classes to make a real web applications (portals, information management system, document workflow, etc)

  • Transparent AJAX support used for reloading part of the page, submitting forms, switching lister pages, filtering data, sorting and more

  • Completely extendible

  • Innovative template manager well fitting into MVC design (SMLite)

  • Multiple API classes allows to develop either lightweight or full-featured applications

  • View PDF presentation - tells more about real-life web market and where AModules3 stands

  • Commercial support available


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.


aSSL


aSSL - SSL for Ajax. aSSL is an open source library built to substitute the need for SSL in Ajax applications.





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 to 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:



Ajax Agent (From February, 2006)


Ajax Agent is very simple to use Ajax framework created by two Ajax pros (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 to make Ajax work as simple as possible. Based on KISS (keep it simple stupid)

  • 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 through 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


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)


CrossBrowserAjax


CrossBrowserAjax is a free, tiny, fast, and truly cross browser Ajax library.



  • Works with IE5.0+ ( even with disabled ActiveX ), Mozilla 1.7+, Firefox 1.0+, Opera 7+, Safari

  • Small size. 2.5Kb compressed

  • Data can be loaded from different host.

  • Easy-to-Use.

  • See Ajax Tabs Demo


DutchPIPE - Avatar worlds on websites


DutchPIPE is a PHP object-oriented framework to turn sites into real-time, multi-user virtual environments:



  • Make fora, chat rooms, card games or virtual RPG worlds with avatars. See your buddies wander around. See the site for a demo, no login required.

  • Make easy-to-use product and shopping cart pages. Have automated and/or real person site assistants stand by to assist your customers and increase sales.

  • Each page will become an abstracted environment or location where visitors and other items on the page are visualized.

  • This status is retained as visitors move around.

  • A whole lot of real-time interaction is possible.

  • Developers program "world" objects in PHP - No Javascript coding required.

  • Multilingual support

  • Open source license (MIT).


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


FURIA


FURIA is an open source desktop emulation framework. Supporting multiple windows control, taskbar control and icons. PHP/PostreSQL


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.


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.


jPOP


jPOP is an All-PHP Ajax and RIA Framework



  • Absolutely no Javascript coding required, all you use is PHP.

  • Very very simple and readable code, no steep learning curve.

  • Make a div ajax-enabled with just one line of PHP code.

  • Create sleek css-html-javascript windows easily from PHP.

  • Easy installation

  • Licensed under open-source MIT license

  • Makes coding Ajax and RIAs almost as fun as using them!


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, its 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

  • Supports EasyForms for one line form processing

  • Supports network Down handling if the server goes down

  • Simple, Fast, easy to use

  • Client side JSON encoding support


HTML_AJAX PEAR Package


HTML_AJAX PHP and JavaScript AJAX library. (Description taken from the PEAR 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.


Mook l97ba


Kumbia PHP Framework


Kumbia is a full-stack framework written in PHP for developing database-backed web applications according to the Model-View-Control pattern and other patterns as ActiveRecord and TemplateView. Optimized for programmer productivity.


Spanish Only: Official Web Site


NanoAjax (added July 2006, updated October 2006 and NEW version July 2007)


NanoAjax is a PHP (Version 5.x.x and above) based framework.


New Version available in 22. July 2007 !!! More features, many new examples and a lot of bugs fixed!


It uses JSON (Javascript Object Notation) to encode/decode data between server and browser;


Multiple (virtual) requests can be summarized into one (real) AJAX request. Project website on sourceforge.net and its own website NanoAjax are available.



  • packaging multiple (virtual) requests in one real AJAX request

  • adjusted for developers (knowledge about PHP and medium JavaScript is required)

  • small, fast and easy to use

  • class based handler for server-side events (class + method)

  • uses full compact JSON for data transfer [client->server;server->client]

  • JavaScript object-based programming

  • PHP 5 object oriented programming (OOP) [used Design Patterns: Registry, Strategy, Factory, and more]

  • automatic use of internal PEAR JSON Extension or ultra-fast PHP JSON Extension (if installed)

  • new and highly extended examples with own GUI: Hello World, Disk Usage, City List and Google Suggest Clone [NEW]

  • Server-Side (PHP) straight unit-tested (with PHPUnit 3 and Phing for visual display, incl. code-coverage)

  • Client-Side (JS) in future version it will be unit tested (with JSUnit)

  • Open-Source license (GPL)


Novulo (added August 2006)


Novulo is a PHP based framework + development tool for AJAX applications. It uses a Java application to design the UI without any programming. Then it generates an operational AJAX application without db. After connection a db and adding some functional code, the application is ready for use.



  • object-oriented

  • database independent

  • advanced search functions and user-rights-management


cannot be used one....


PHPLiveX


PHPLiveX is a php class library which can be used to call PHP functions from Javascript in web pages using AJAX.



  • Very easy-to-use.

  • No need to extra functions to call a php function.

  • Class functions can be called, too.

  • Useful properties like flexible preloading.

  • Compatible with IE, Opera, Mozilla, Firefox (was not tried on others)

  • Open source (developed under GPL license).

  • See PHPLiveX HomePage


Picora


Picora a minimalist framework that provides only a Controller and View class. The Controller supports integration with Prototype both in determining what method (GET/POST/AJAX) was used for the request, and by optionally by returning JSON data.



  • Open-source. By Picora Pipeworks.


Qcodo (added April 2006)


Qcodo is a PHP-based MVC, code-generation framework.



  • Completely object-oriented, stateful, event-driven architecture for HTML forms processing and rendering - completely separates code and display HTML.

  • QForms and QControl libraries provide low-code AJAX support

  • Open-source (MIT license) by multiple contributors, Mike Ho and QuasIdea Development are primary developer & sponsor.


Sajax


Sajax is an open source tool to make programming websites using the Ajax framework — also known as XMLHTTPRequest or remote scripting — as easy as possible. Sajax makes it easy to call PHP, Perl or Python functions from your webpages via JavaScript without performing a browser refresh. The toolkit does 99% of the work for you so you have no excuse to not use it.ok


SimpleJax


SimpleJax is a lightweight (2.3KB!) combination of JavaScript and PHP that allows you to create highly flexible, AJAX-enabled applications on the web with only five short lines of code.



  • If you're interested in getting in on the AJAX craze, but don't feel like putting up with the hassle or learning curve of some of the more complex AJAX frameworks, SimpleJax is for you.


Pay: $12.95


Jehzeel H. Laurente


sniPEAR


[1] is an open source framework that was created by "Anywhere Together Software" for their application development. The framework is component based and by wrapping a component around a peice of other open source it utilises all existing open source. The framework also supports AJAX (web 2.0) development natively. The site contains their flagship product "Files Together" which can be installed with a free 2 user license. This uses ajax extensively. The site also contains some tutorials on getting started creating your own web application using the framework.


Stratos PHP Framework


Stratos PHP Framework


Stratos is an open source web application framework that uses the Dojo Toolkit for AJAX support. Stratos provides a built-in RequestAction class and JavaScript functions for dynamically updating page content.


Sybrain Framework


Sybrain Framework


Sybrain Framework is a Web2.0 plataform for development, deployment and management of MSA (many small applications) based web applications. The MSA architecture is an alternative to the complexity of MVC.



  • Ajax/PHP based framework.

  • Comes with basic applications for the whole lifecycle of an application.

  • LGPL license.


Symfony


symfony



  • Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.



  • Symfony provides a lot of features seamlessly integrated together, such as:

    • simple templating and helpers

    • cache management

    • smart URLs

    • scaffolding

    • multilingualism and I18N support

    • object model and MVC separation

    • Ajax support

    • enterprise ready





  • 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.


PAJAX - Remote (a)synchronous PHP objects in JavaScript


PAJAX is a PHP-based remote object binding framework.



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


phpAjaxTags


phpAjaxTags is a port to PHP of famous java tag library "AjaxTags" ( SF Page )



  • Simple but powerful

  • Easy to install and use

  • No Javascript coding required

  • Loose documentation with unknown parameters

  • Various on-line demos available

  • Apache open source license 2


PHPWebBuilder


PHPWebBuilder is an object-oriented framework for building web applications in PHP. It supports AJAX transparently, MVC, and object persistency (with automatic database generation).





Tigermouse


Tigermouse is object oriented, LGPL licensed PHP/AJAX framework for development of highly interactive web applications in MVC architecture. Its main principle is to be as much client side processing independent as it is possible to provide high reliability and stability. It requires no to little Javascript coding, no manual callbacks handling and no configuration. Noteworthy features are:



  • full native AJAX support with queuing and expiring

  • MVC architecture

  • pluggable input/output filters

  • powerful ActiveRecord implementation

  • SWT-, Qt- or GTK#-like user interface implementation

  • extensible i18n support

  • native support for Smarty templates

  • built-in development tools


Tigermouse is much more than just a library for binding PHP classes or functions to Javascript ones. It is an abstraction layer that can help you forget about all this mess: XMLHttpRequest, callbacks and URL parameters. See example calculator application in tigermouse:


class MainCtrl extends Ctrl { public function show() { $f = new Form(); $f->add(new Input('a')); $f->add(new Input('b')); $compute = new Button('compute'); $compute->addListener( new ClickListener( new Action('MainCtr/compute', $f->valueReader()) ) ); $f->add($compute); $f->add(new Label('result')); return $f; } public function compute(FormContext $cx) { $label = new Label('result'); $label->text = $cx->a + $cx->b; return $label; } }

That's it. No Javascript as promised.


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

  • Degrades gracefully, both IFRAME and when javascript is disabled

  • See SAjax page in AjaxProjects


tppAJAX


tppAJAX is a lightweight, yet feature-rich PHP and Ajax toolkit that is compatible with PHP versions 4 and 5.



  • Works in Firefox, Safari on Macintosh

  • Works in Firefox, Opera and Internet Explorer on Windows

  • Works in the newest browsers from Microsoft and Mozilla!

  • Works in Linux browsers too!

  • Includes robust Javascript interface to the xmlHttpRequest object

  • Lightweight easy-to-use PHP code generates output for Ajax interactions

  • Installation and custom development services available.

  • Actively being developed - not some dead-end code

  • See Sortable List Demo

  • See The Php Pro Home Page


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.

  • See Xajax Page in AjaxProjects


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.






Zephyr


Zephyr is an MVC (model-view-controller) framework and supports complete separation of business logic layer from presentation layer. It is built using popular and tested libraries in backend.



  • zephyr uses Smarty as template engine. so developing templates for zephyr is flexible and structured. moreover you can use all the powerful features of smarty in your templates.

  • adoDB is used as DAL (data access layer) in zephyr.

  • you can manage multiple databases concurrently in zephyr actions.

  • easy integration of custom php and javascript libraries

  • zephyr's front end is developen on top of sam stephenson's famous prototype library. it reduces pain to use javascript in templates and gives you ultimate flexibility.

  • zephyr uses CPAINT as ajax interface. so you can easily pass multibyte characters from and to your actions using zephyr.

  • each package has their own initializer

  • implements pre actions processors which helps you to run some specific actions before normal actions. this will help you to implement stronger validations.

  • supports cron actions which runs after regular interval.

  • easy manipulation of database records. zephyrs internal request manager manages all request parameters in a flexible way so that you just dont need to access and set these parameters exclusively.

  • you can integrate any PEAR package easily.

  • you can manage database aggreate functions via zephyr's builtin database aggregator object.

  • Supports multiple level of user defined filters

  • easy integration with ezComponents

No comments:

About Me

Ordinary People that spend much time in the box
Powered By Blogger