Project |
Language |
Ajax |
MVC framework |
MVC Push/Pull |
i18n & l10n? |
ORM |
Testing framework(s) |
DB migration framework(s) |
Security Framework(s) |
Template Framework(s) |
Caching Framework(s) |
Form Validation Framework(s) |
Ajile |
JavaScript |
Yes |
Yes |
Push & Pull |
Yes |
|
Yes, jsUnit |
|
|
Yes |
Yes |
|
Akelos PHP Framework |
PHP |
Yes, Prototype, script.aculo.us |
Yes, Active record pattern |
Push |
Yes |
Yes, Active record pattern |
Yes, Unit Tests |
Yes |
|
Yes |
Yes |
Yes |
Apache Struts |
Java |
Yes |
|
Push |
Yes |
Yes |
Yes, Unit Tests |
|
|
Yes, Jakarta Tiles framework |
|
Yes, Jakarta Validator framework |
Apache Struts 2 (ex. WebWork) |
Java |
Yes |
|
Push & Pull |
Yes |
Yes |
Yes, Unit Tests |
|
|
Yes |
|
Yes |
Aranea MVC |
Java |
Yes |
|
Pull |
Yes |
Yes |
|
|
|
|
|
|
BarracudaDrive LSP |
Lua |
Yes and JSON-RPC |
Yes |
Push & Pull |
Yes,Limited |
Yes,Limited |
Yes |
|
Yes, ACL-based |
Yes |
Yes, See CMS for demo |
Yes, Limited |
BFC |
.NET |
Yes |
Yes, but not mandatory |
Push & Pull |
Yes |
Yes, through active data dictionary |
Yes, Unit Tests |
Yes, SQL Server, Oracle, DB2, Sybase, MySQL |
Yes, security groups and rules |
Yes |
Yes, metadata and result sets |
Yes, data dictionary-driven |
CakePHP |
PHP |
Yes, Prototype, script.aculo.us |
Yes, Active record pattern |
Push |
Yes, Development branch |
Yes, Active record pattern |
Yes, Unit Tests |
Yes |
Yes, ACL-based |
Yes |
Yes, Development branch |
Yes |
Camping |
Ruby |
No |
Yes |
Push |
No |
Yes, Active record pattern |
Yes, via Mosquito |
Yes |
No |
Yes |
No |
No |
Catalyst |
Perl |
Yes, multiple (Prototype, Dojo...) |
Yes |
Push in its most common usage |
Yes |
Yes, multiple (DBIx::Class, Rose::DB...) |
Yes[1] |
|
Yes, multiple (ACL-based, external engines...) |
Yes, multiple (Template::Toolkit, HTML::Template, HTML::Mason...) |
Yes, multiple (Memcached, TurckMM, shared memory,...) |
Yes, multiple (HTML::FormValidator,...) |
CherryPy |
Python |
|
|
|
Yes |
|
No, because unittest and doctest are standard Python modules |
|
|
Yes, CherryTemplate |
Yes |
|
Click Framework |
Java |
Yes |
Yes |
Pull |
Yes |
Yes, integrates with Hibernate and Cayenne |
|
|
|
Yes, Velocity and JSP |
|
Yes, built-in validation |
CodeIgniter |
PHP |
Yes, Framework extension |
Yes, Modified Active record pattern |
Push |
Yes |
Yes, framework extension |
Yes, Unit Tests |
No |
Yes |
Yes |
Yes |
Yes |
ColdBox Framework |
ColdFusion |
Yes, various libraries |
Yes |
Push & Pull (via Viewlets) |
Yes |
Yes, Transfer & Reactor |
Yes, Unit Tests |
No |
Yes, via plugins or interceptors |
|
Yes ColdBox Cache Manager and externally pluggable. |
Yes |
Django |
Python |
Yes |
Yes |
Push |
Yes |
Yes, Django ORM, SQLAlchemy |
Yes |
No |
Yes, ACL-based |
Yes |
Yes |
Yes |
DotNetNuke |
.NET |
Yes |
No |
Pull |
Yes |
Yes, SubSonic, NHibernate |
Yes, Unit Tests |
Yes |
Yes, ACL-based, (OpenID, LiveID, Active Directory, LDAP, CardSpace, ASP.NET Forms Auth) |
Yes |
Yes, Pluggable |
Yes, ASP.NET Validators, built-in API |
Drupal |
PHP |
Yes, jQuery |
|
|
Yes |
No |
Yes, simpletest, devel |
Yes, Schema API |
Yes, multiple (OG, Node Privacy By Role, ACL, Taxonomy Access List) |
Yes, multiple (PHPTemplate, Smarty, XTemplate, others) |
Yes, multiple (builtin, memcache, APC) |
Yes, Form API |
eZ Components |
PHP |
No |
|
|
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Flex |
Actionscript, MXML |
No |
|
|
|
|
Yes,FlexUnit |
|
|
|
|
|
FUSE |
PHP |
Yes |
Yes |
Push |
Yes, custom |
Yes |
Yes, SimpleTest |
|
Yes |
Yes |
Yes |
Yes |
Fusebox |
ColdFusion, PHP |
Yes |
Yes, but not mandatory |
Push |
No, custom |
Yes, via lexicons for Transfer and Reactor |
Yes, CFUnit, CFCUnit |
|
Yes, multiple plugins available |
|
Yes, via lexicon for ColdSpring |
Yes, via qforms or built in cf validation |
Grails |
Groovy |
Yes |
Active record pattern |
Push |
Yes |
Yes, GORM, Hibernate |
Yes, Unit Test |
No |
Yes |
Yes |
Yes |
Yes |
Grok (web framework) |
Python |
Yes, |
Yes |
Pull |
Yes |
Yes, OODBMS called ZODB, SQLAlchemy, Storm |
Yes, Unit Tests, Functional Tests |
Yes, ZODB Generations |
Yes |
Yes |
Yes |
Yes |
JBoss Seam |
Java |
Yes |
|
Pull |
Yes |
Yes, JPA, Hibernate |
Yes, JUnit, TestNG |
|
Yes, JAAS integration |
Yes, Facelets |
|
Yes, Hibernate Validator |
jZeno |
Java |
Yes |
Yes |
Pull |
No, custom |
Yes Hibernate |
Yes, JUnit, TestNG |
|
Yes, role-based |
Yes, Composite Pattern |
Yes |
Yes |
Kohana |
PHP |
|
Yes |
Push |
Yes |
Yes, framework extension |
Yes, unit_test module |
|
|
|
Yes, File and SQLite Driver based caches |
Yes |
Lift |
Scala |
Yes |
Yes |
|
Yes |
Yes |
|
|
|
|
|
|
Mach-II |
ColdFusion |
Yes, via CF or any JavaScript Library |
Yes |
Push |
Yes, via custom plugin |
Yes Transfer, Reactor, Hibernate |
Yes, CFUnit, CFCUnit |
|
Yes, via plugin |
|
Yes, ColdSpring |
|
MonoRail |
.NET |
Yes, Prototype |
Active record pattern |
Push |
Yes |
Yes, Active record pattern |
Yes, Unit Tests |
|
Yes, via ASP.NET Forms Authentication |
Yes |
Yes |
Yes |
Nitro |
Ruby |
Yes, jQuery |
Yes |
Push |
Yes |
Yes, Og |
Yes, RSpec |
Yes (automatic) |
Yes |
Yes |
Yes |
Yes |
onTap |
ColdFusion |
Yes, native features + Prototype + script.aculo.us |
Yes, but not mandatory |
Push |
Yes |
Yes |
Yes, CFUnit, CFCUnit |
has potential - supports multiple db platforms |
Yes, Members onTap Plugin |
Yes |
Yes |
Yes, client + server |
OpenXava |
Java |
No |
Yes, Model Driven |
|
Yes |
Yes, JPA, Hibernate and EJB2 CMP |
Yes, JUnit |
Yes, Hibernate tools |
Yes, uses JSR-168 portal security |
UI is automatically generated |
Yes, uses portal and JPA caching |
Yes |
Pal |
PHP5 |
Yes, Ajax Components |
Yes |
Push and Pull |
No, roll your own |
Yes, optional Active record pattern, arbitrary SQL |
No, still not completed |
|
Yes, via plugins and filters |
Yes, via plugins |
Yes, allows both memcache and caching pages |
Yes, built-in extensible validation |
PRADO |
PHP5 |
Yes, Active Controls |
Yes |
Push |
Yes |
Yes, Active record pattern, SQLMap |
Yes, PHPUnit, SimpleTest, Selenium (software) |
|
Yes, modular and role-based ACL |
Yes |
Yes |
Yes |
Pylons |
Python |
Yes, helpers for Prototype and script.aculo.us |
Yes |
Push |
Yes |
Yes, SQLObject, SQLAlchemy |
Yes, via nose |
|
|
Yes, pluggable (mako, genshi, myghty, kid, ...) |
Yes, Beaker cache (memory, memcached, file, databases) |
Yes, preferred formencode |
Qcodo |
PHP5 |
Yes, built-in |
Yes, QControl |
Push |
Yes |
Yes, Code Generation-based |
|
Inherent |
|
Yes, QForm and QControl |
Yes |
Yes |
RIFE |
Java |
Yes, DWR (Java) |
Yes |
Push & Pull |
Yes |
Yes |
Yes, Out of container testing |
|
Yes |
Yes |
Yes, Integration with Terracotta |
Yes |
Ruby on Rails |
Ruby |
Yes, Prototype, script.aculo.us |
Yes, ActiveRecord, Action Pack |
Push |
Yes, Localization Plug-in |
Yes, ActiveRecord |
Yes, Unit Tests, Functional Tests and Integration Tests |
Yes |
Yes, Plug-in |
Yes |
Yes |
Yes |
Seaside |
Smalltalk |
Yes, Prototype, script.aculo.us, ... |
|
|
Yes |
Yes, GLORP, Gemstone/S, ... |
Yes, Unit Tests, SUnit |
|
|
No, intentionally |
|
Yes, Magritte |
SilverStripe/Sapphire |
PHP 5.2+ |
Yes, Prototype, script.aculo.us |
Yes, Active record pattern |
Push & Pull |
Yes |
Yes, Active record pattern |
Yes, Unit Tests |
Yes (Automatic) |
Yes incl. OpenID |
Yes (object oriented) |
Yes |
Yes |
Spring Framework |
Java |
|
Yes |
|
Yes |
Yes hibernate, iBatis, etc |
|
|
Yes, Acegi |
Commons Tiles, velocity etc |
|
Commons Validator |
Stripes |
Java |
Yes |
Yes |
Push |
Yes |
Yes, Hibernate |
Yes |
|
Yes, framework extension |
Yes |
|
Yes |
Symfony |
PHP5 |
Yes, Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins |
Yes |
Push |
Yes |
Yes, Propel, Doctrine |
Yes |
Plugin exists (alpha code, though) |
Yes, plugin |
Yes |
Yes |
Yes |
Tapestry |
Java |
Yes |
Yes |
Pull |
Yes |
Yes, integrated with Hibernate(tapestry-hibernate module) |
|
|
Yes, tapestry5-acegi library |
Yes |
|
Yes, built-in validation system |
Tigermouse |
PHP5 |
Yes, it is mostly Ajax-only framework |
Yes, Active record pattern |
Push |
Yes |
Yes, Active record pattern |
No |
No, Multiple RBMSes and access libraries supported |
Yes, through intercepting filters (ACL-based, customizable) |
Yes |
No |
Yes |
TurboGears |
Python |
Yes, MochiKit |
Yes |
Push |
Yes |
Yes, SQLObject, SQLAlchemy |
Yes, nose |
No |
Yes, pluggable authentication providers, user->group<-permissions schema |
Yes, pluggable: Kid, Genshi, any Buffet-compatible engine |
No |
Yes, TurboGears widgets, ToscaWidgets, both utilizing FormEncode |
web2py |
Python |
Yes |
Yes |
Push |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
WebObjects |
Java |
Yes |
Yes |
Push & Pull |
Yes |
Yes, EOF |
Yes, WOUnit (JUnit), TestNG, Selenium (software) |
Yes, in Project WONDER |
|
Yes |
Yes |
Yes |
Wicket |
Java |
Yes |
Modular event driven |
Push |
Yes |
Yes |
|
|
Yes |
Yes |
Yes |
Yes |
Widgetplus |
JavaScript |
Yes it is mostly Ajax-only framework |
Yes |
Push & Pull |
Yes |
No, |
Yes, |
No, |
Yes |
Yes |
Yes |
Yes |
Zend Framework |
PHP5 (>=5.1.4) |
Yes, various libraries |
Yes |
Push |
Yes |
Yes, Table and Row data gateway |
Yes, Unit Tests |
Yes |
Yes, ACL-based |
Yes |
Yes |
Yes |
ZK Framework |
Java |
Yes, 170+ Ajax components |
Yes |
Push & Pull |
Yes |
Yes, any ORM frameworks, such as Hibernate, TopLink |
Yes, Unit Tests, Functional Tests |
|
Yes, plugin, like Acegi |
Yes, DSP, Velocity, JSP, others pluggable |
Yes |
Yes, constraint, event validation, others pluggable |
Zope2 |
Python |
|
Yes |
Pull |
Yes |
Yes, native OODBMS called ZODB, SQLObject, SQLAlchemy |
Yes, Unit Tests |
|
Yes, ACL-based |
Yes |
Yes |
Yes, CMFFormController |
Zope3 |
Python |
Yes, via add-on products, e.g. Plone w/KSS |
Yes |
Pull |
Yes |
Yes, native OODBMS called ZODB, SQLObject, SQLAlchemy |
Yes, Unit Tests, Functional Tests |
Yes, ZODB generations |
Yes, ACL-based |
Yes |
Yes |
Yes |
ztemplates |
Java jdk 1.5 or newer |
Yes, integrates YUI, Google etc. with annotations |
Yes |
Push, multiple actions per url |
Yes, standard Java |
Yes, use any J2EE ORM framework |
Yes, Unit Tests |
|
Yes, annotation based |
Yes, Velocity, JSP, others pluggable |
|
Yes, ZProperty |
Lion Framework |
PHP |
Yes |
Yes |
Yes Push & Pull |
Yes |
No |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Project |
Language |
Ajax |
MVC framework |
MVC Push/Pull |
i18n & l10n? |
ORM |
Testing framework(s) |
DB migration framework(s) |
Security Framework(s) |
Template Framework(s) |
Caching Framework(s) |
Form Validation Framework(s) |