Comparaison des frameworks d'applications web
Ceci est une comparaison des frameworks d'application web (en) les plus connus.
Généralités
PHP
Projet | Date de début | Version stable courante | Date de publication | Type de framework | Licence |
---|---|---|---|---|---|
Agavi | 2005-05 | 1.0.7 | 2011-12-22 | framework d'application web | LGPL |
Aiki Framework | 2009-09 | 0.9.0 | 2011-12-24 | framework d'application web | AGPLv3 |
AppFlower | 2009-02 | 1.2 | 2011-12-21 | framework d'application web | GPLv3 |
CakePHP | 2005-08 | 3.2.8 | 2016-04-24 | framework d'application web | MIT |
CodeIgniter | 2006-01 | 2.1.1 | 2012-06-13[1] | framework d'application web | OSLv3 |
e107 | 2004-11 | 1.0.1 | 2012-03-30 | framework d'application web | GPLv2 |
Flow3 | 2007-01 | 1.1 | 2012-05-15 | framework d'application web | LGPLv3 |
FuelPHP | 2010-10 | 1.2.1 | 2012-06-03 | framework d'application web | MIT |
Fusebox | 1997-11 | 5.5.1 | 2008-03-01 | framework d'application web | Apache |
Horde | 2002-02 | 4.0.8 | 2012-05-29[2] | framework d'application web | GPL, LGPL, BSD, Apache |
Laravel | 2011-06 | 5.1 | 2012-09-03[3] | framework d'application web | MIT |
Lithium | 2009-10 | 0.10 | 2011-06-18 | framework d'application web | BSD |
Mouf | 2009-08 | 2.0 | 2015-01-07 | framework d'application web | MIT |
Qcodo | 2005-10 | 0.4.22 | 2011-08-15[4] | framework d'application web | MIT |
Seagull | 2003-10 | 0.6.8 | 2010-12-03 | framework d'application web | BSD |
Symfony | 2005-10 | framework d'application web | MIT | ||
Xyster Framework | 2007-09 | 02 Build 01 | 2010-10-18 | framework d'application web | BSD |
Yii | 2008-01 | 1.1.12 | 2012-08-19 | framework d'application web | New BSD |
Zend Framework | 2006-03 | 2.0.0 | 2012-09-05[5] | framework d'application web | New BSD |
Zeta Components (ex-eZ Components) | 2005-11 | eZ Components 2009.2.1 | 2010-03-22[6] | framework d'application web | Apache |
Zikula | 2008-06 | 1.3.3 | 2012-05-08 | framework d'application web | LGPLv3 or later |
Projet | Date de début | Version stable courante | Date de publication | Type de framework | Licence |
ASP.NET
Projet | Langage | Version stable courante | Date de publication | Licence |
---|---|---|---|---|
ASP.NET MVC | ASP.NET | 4.0 Beta | 2012-02-15 | Microsoft Public License v2[7] |
Base One Foundation Component Library (BFC) | ASP.NET | 7.43 | 2011-01-15 | Propriétaire |
Component-based Scalable Logical Architecture (CSLA) | C#, Visual Basic .NET | 4.3.10 | 2012-03-04 | Proprietary freeware, no limit on use type |
DotNetNuke | ASP.NET | 6.01.02 | 2011-07-25 | MIT |
Kentico | ASP.NET | 6.0 | 2011-10-10 | Propriétaire |
MonoRail (software) (en) | ASP.NET | 2.1 RC | 2011-03-17 | Apache |
OpenRasta | ASP.NET | 2.0 RC | 2009-11-04 | MIT |
Nancy | C#, Visual Basic .NET | 0.6.0 | 2011-06 | MIT |
C++
ColdFusion Markup Language (CFML)
Projet | Version stable courante | Date de mise à jour | Licence |
---|---|---|---|
ColdBox Platform | 3.5.2 | 2012-08-01 | Apache v2 |
ColdFusion on Wheels | 1.1.7 | 2011-12-14 | Apache v2 |
ColdSpring | 1.2 | 2008-09-12 | Apache v2 |
Fusebox | 5.5.1 | 2008-03-08 | Apache |
FW/1 | 1.2 | 2010-10-18 | Apache v2 |
Mach-II | 1.8.1 | 2010-09-20 | GPLv3 with Classpath exception |
Model-Glue | 3.1.185 | 2009-08-11 | Apache |
onTap | 3.3 | 2009-11-07 | BSD |
ECMAScript
Java
Projet | Version stable courante | Date de mise à jour | Licence |
---|---|---|---|
Apache OFBiz | 18.12.05 | January 2022 | Apache Software License 2.0 (ASL 2.0) |
Apache Shale | 1.0.4 | 2007-12-19 | Apache |
Apache Sling | 6 | 2011-04-18 | Apache 2.0 |
Apache Struts | 2.3.4 | 2012-05-12 | Apache 2.0 |
Apache Tapestry | 5.3.7 | 2013-04-29 | Apache |
Apache Wicket | 7.4.0 | 2016-10-12 | Apache |
AppFuse | 2.1 | 2011-04-04 | Apache |
Eclipse RAP | 1.4.1 | 2011-09-23 | Eclipse |
FormEngine | 2.0.1 | 2012-05-08 | MIT, propriétaire |
Grails | 2.3.5 | 2014-01-16 | Apache |
Google Web Toolkit | 2.5.1 | 2013-03-11 | Apache |
Hamlets | 1.7 | 2011-03-11 | BSD |
ItsNat | 1.2 | 2011-05-24 | LGPL, propriétaire |
JavaServer Faces | 2.1 | 2010-10-22 | Implementation dependent |
JBoss Seam | 3.1.0 final | 2012-01-13 | LGPL |
Jspx-bay | 1.1.0 | 2011-02-17 | Apache 2.0 |
JVx WebUI | 0.9 | 2011-04-01 | Apache 2.0 |
ManyDesigns Portofino | 3.1.10 | 2011-03-22 | GPLv3 |
OpenLaszlo | 4.9.0 | 2010-10-21 | CPL |
OpenXava | 4.5 | 2012-07-19 | LGPL |
Oracle ADF | 11.1.1.5 | 2011-05-06 | Oracle Technology Network Developer License |
Play! | 2.2.0 | 2013-09-20 | Apache 2.0 |
RIFE | 1.6.1 | 2007-07-14 | CDDL, LGPL |
SmartClient | 8.0 | 2011-01-05 | LGPL |
Spring | 3.1.2 | 2012-07-09 | Apache |
Stripes | 1.5.7 | 2012-05-17 | Apache |
ThinWire | 1.2 | 2007-09-17 | GPL |
Vaadin | 6.7.6 | 2012-03-06 | Apache |
Wavemaker | 6.3.3 | 2011-09-22 | Apache |
WebObjects | 5.4.3 | 2008-09-15 | Propriétaire |
WebWork | 2.2.6 | 2007-07-21 | Apache |
ZK | 6.0.2 | 2012-07-24 | LGPL, ZOL |
ztemplates | 2.4.0 | 2011-09-11 | Apache |
JavaScript
Projet | Version stable courante | Date de mise à jour | Licence |
---|---|---|---|
Node.js plusieurs frameworks populaires | 0.11.5 | 2013-08-06 | MIT |
qooxdoo | 1.5 | 2011-07-13 | LGPL ou Eclipse |
SproutCore | 1.8 (beta 2.0) | 2012-03-07 | MIT |
WaveMaker (client side) | 6.3.3 | 2011-09-22 | Apache |
Scala
Perl
Projet | Version stable courante | Date de mise à jour | Licence |
---|---|---|---|
Catalyst | 5.90105 | 2016-06-08 | Artistic, GPL |
Dancer | 1.3202 | 2015-11-07 | Artistic, GPL |
Mason | 2.24 | 2015-05-16 | Artistic, GPL |
Maypole | 2.13 | 2008-04-18 | Artistic, GPL |
Mojolicious | 6.64 | 2016-06-09 | Artistic |
Reaction | 0.002005 | 2011-03-08 | Artistic, GPL |
Python
Projet | Version stable courante | Date de publication | Licence |
---|---|---|---|
BlueBream | 1.0 | 2011-01-18 | ZPL |
Bottle | 0.12.9 | 2011-01-18 | MIT |
CherryPy | 3.2.2 | 2011-10-28 | BSD |
CubicWeb | 3.15.2[9] | 2012-07-24 | LGPL |
Django | BSD | ||
Flask | BSD | ||
Grok | 1.4 | 2011-04-04 | ZPL |
Nagare | 0.4.1 | 2012-01-18 | BSD |
Plone | 4.2 | 2012-07-05 | GPL |
Pyjamas | 0.8 | 2012-06-01 | Apache |
Pylons | 1.0.0 | 2010-05-28 | BSD |
Pyramid | 1.3 | 2012-03-21 | BSD |
Tornado | 2.3[10] | 2012-05-31 | Apache |
TurboGears | 2.2 | 2012-08-23 | MIT, LGPL |
web2py | 1.99.7 | 2012-03-04[11] | LGPLv3 |
Webware | 1.1 | 2011-08-03 | Python |
Zope 2 | 2.13.15 | 2012-06-22[12] | ZPL |
Ruby
Autres
Projet | Langage | Version stable courante | Date de mise à jour | Licence |
---|---|---|---|---|
AIDA/Web | Smalltalk | 6.5 | 2012-08-27 | MIT |
Application Express | PL/SQL | 4.1 | 2011-08-24 | Propriétaire freeware |
Grails | Groovy (JVM) | 2.0.1 | 2012-02-14 | Apache |
Kepler | Lua | 1.1.1 | 2009-03-11 | MIT |
Morfik | C#, BASIC, Pascal, Java | 3.0.8.1 | 2010-12-13 | Logiciel propriétaire |
Noir | Clojure | 1.2.2 | ? | Eclipse |
Ocsigen | OCaml | 2.0.4 | 2012-03-09 | LGPL |
Opa | Opa | 1.0.5 | 2012-08-02 | MIT et AGPL |
OpenACS | Tcl | 5.7.0 | 2011-07-17 | GPL |
Seaside | Smalltalk | 3.0 | 2010-09-13 | MIT |
Compojure | Clojure | 1.0.1 | 2012-01-08 | Eclipse |
Zotonic | Erlang | 0.8.1 | 2012-08-11 | Apache |
Projet | Langage | Version stable courante | Date de mise à jour | Licence |
Comparaison des fonctionnalités
ASP.NET
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
ASP.NET MVC | Oui | Oui | Push | Oui | ORM-independent | Tests unitaires, Functional Tests, Integration Tests | Entity Framework | ASP.NET Forms Authentication (Default), Pluggable | Razor (Default), ASPX, Pluggable | Oui | Oui (client-side via plugins) |
BFC | Oui | Not mandatory | Push & pull | Oui | via active data dictionary | Unit tests | security groups and rules | Oui | metadata, result sets | Data dictionary driven | |
DotNetNuke | Oui | (no) | Pull | Oui | SubSonic, NHibernate | Unit tests | Oui | ACL-based (OpenID, LiveID, Active Directory, LDAP, CardSpace, ASP.NET Forms Authentication) | Oui | Pluggable | ASP.NET Validators, built-in API |
Kentico CMS | Oui | Oui | Push & Pull | Oui | Proprietary, customizable | Unit tests | Yes, Import toolkit | ACL-based (OpenID, LiveID, Active Directory, LDAP, CardSpace, ASP.NET Forms Authentication, FB connect) | Oui | Yes, Customizable | ASP.NET Validators, built-in API |
MonoRail | Prototype | Active record | Push | Oui | Active record pattern | Unit tests | via ASP.NET Forms Authentication | Oui | Oui | Oui | |
OpenRasta | (no) | Oui | Push | Oui | ORM-independent | Unit tests | (no) | HTTP Digest and via ASP.NET Forms Authentication or host environment | Oui | (no) | (no) |
C++/C
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
CppCMS | Oui | Oui | Push | Oui | CppDB | (no) | (no) | Oui | Oui | Oui | Oui |
Wt | Oui | Oui | Push & Pull | Oui | Wt::Dbo | Boost.test | Oui | (no) | (no) | Oui | |
Tntnet | Oui | (no) | (no) | Oui | Tntdb | (no) | (no) | (no) | Oui | (no) | (no) |
ColdFusion Markup Language (CFML)
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
ColdBox Platform | Oui | Oui | Push-pull | Oui | Oui | via MockBox, MXUnit, others | via plugin | Oui | Oui | Oui | via plugin |
ColdFusion on Wheels | Oui | Oui | via plugin jLingua | Oui | Oui integrated RocketUnit | via plugin | Oui | via plugin | Oui | ||
Fusebox | via CF or any JavaScript library | optional | Push | (no), custom | via lexicons for Transfer, Reactor | via MXUnit, autres | (no) | via plugins | via lexicon for ColdSpring | (no) | |
Mach-II | via CF or any JavaScript library | Oui | Push | via plugin | Transfer, Reactor, Hibernate | via MXUnit, autres | via plugins | ColdSpring | |||
Model-Glue | via CF or any JavaScript library | Oui | Push | Transfer, Reactor, Hibernate | via MXUnit, autres | via plugins | ColdSpring | ||||
onTap | native features + Prototype + script.aculo.us | optional | Push | Oui | DataFaucet | via MXUnit, others | DataFaucet has potential - supports multiple db platforms | Members onTap Plugin | Oui | Oui | Oui |
Projet | 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) |
ECMAScript
Projet | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Flex | ActionScript, MXML | (no) | FlexUnit |
Java
Projet | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Spring | Java | Oui | Oui | Push | Oui | Hibernate, iBatis, more | Mock objects, tests unitaires | Spring Security (ex-Acegi) | JSP, Commons Tiles, Velocity, Thymeleaf, more | ehcache, more | Commons validator, Bean Validation | |
Apache Click | Java | jQuery | Page oriented | Pull | Oui | Hibernate, Cayenne | Oui | pluggable | Velocity, JSP | Cached templates | Built-in validation | |
Apache OFBiz | Java | jQuery | Oui | Push-pull | Oui | Entity Engine (also used by Jira) | JUnit | Entity Engine Tools, Data File Tool, CSV Parser, Apache POI | OOTB Security framework | Freemarker | OOTB Cache Maintenance | Server side validation, Client Side Validation(JQuery) |
Apache Sling | Java | Oui | Oui | Push-pull | Uses JCR content repository | Oui | Oui | Oui | ||||
Apache Struts | Java | Oui | Oui | Push-pull | Oui | Oui | Tests unitaires | Oui | Oui | |||
Apache Wicket | Java | Extensions for YUI, ExtJs, more | Modular event driven | Pull | Oui | with extensions | Mock objects, unit and integration tests via extension | Oui | Oui | Oui | Oui | |
FormEngine | Java | Oui | Oui | own connector API | Ajax validation on server and form state update | |||||||
ItsNat | Java | Oui | event driven | Push | using Java i18n | external, built-in | pluggable | pure HTML-SVG | page caching | normal Java | ||
JavaServer Faces | Java | Oui | Oui | Pull | Oui | Yes, with extensions | JUnit | Oui | Facelets, JSP | Oui | Native validators, integration with Bean Validation | |
JBoss Seam | Java | Oui | Oui | Pull | Oui | JPA, Hibernate | JUnit, TestNG | JAAS integration, Drools, Hibernate Filters, OpenID, CAPTCHA | Facelets | JBoss Cache, EHcache | Hibernate Validator | |
Jspx-bay | Java | Oui | Page oriented | Own API | JAAS integration | Master-content pages | Yes, Internal UI validation controls | |||||
JVx WebUI | Java | Oui | Model Driven | Oui | Yes, pluggable | JUnit | Yes | Single sourcing | Yes, pluggable | |||
OpenXava | Java | Oui | Model Driven | Oui | JPA, Hibernate, EJB2 CMP | JUnit | Hibernate tools | uses JSR-168 portal security | UI is automatically generated | uses portal and JPA caching | Oui | |
Play | Java | Oui | Oui | Push-pull | Oui | JPA, Hibernate | JUnit, Selenium | Oui | via Core Security module | Oui | Oui | Server-side validation |
RIFE | Java | DWR | Oui | Push-pull | Oui | Oui | Out of container testing | Oui | Oui | Integration with Terracotta | Oui | |
Stripes | Java | Oui | Oui | Pull | Oui | JPA, Hibernate | Oui | framework extension | Oui | Oui | ||
Apache Tapestry | Java | Oui | Oui | Pull | Oui | Hibernate et JPA | Selenium et TestNG ou JUnit | external module: Tapestry-security (Apache Shiro) | Oui | built-in validation system | ||
Vaadin | Java | GWT | Pull | Oui | Oui | Oui | Oui | Oui | ||||
Wavemaker | JavaScript (client), Java (server) | Dojo Toolkit | Oui | Push | Dojo Toolkit | Hibernate | JUnit | Hibernate | Spring Security (ex-Acegi), contrôle d'accès à base de rôles | Dojo Toolkit | Dojo Toolkit | Regular expression, schema-driven validation |
WebObjects | Java | Oui | Oui | Push-pull | Oui | EOF | WOUnit (JUnit), TestNG, Selenium | in Project WONDER | Oui | Oui | Oui | |
ztemplates | Java JDK 1.5 or newer | integrates YUI, Google, etc., with annotations | Oui | Push, multiple actions per URL | standard Java | use any J2EE ORM framework | Unit tests | annotation based | Velocity, FreeMarker, JSP, others pluggable | Ajax validation on server and form state update (YUI, JSON) | ||
Google Web Toolkit | Java, JavaScript | Oui | Oui | JPA with RequestFactory | JUnit (too early), jsUnit (too difficult), Selenium (best) | via Java | Oui | Bean Validation | ||||
ZK | Java, ZUML | jQuery | Oui | Push-pull | Oui | any J2EE ORM framework | JUnit,ZTL | HibernateUtil, SpringUtil | Spring Security | Macro components & composition | Oui | client, server |
Projet | Langage | 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) |
JavaScript
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
qooxdoo | Oui | Data binding | i18n | Testrunner | Form Validation | ||||||
SproutCore | Oui | Oui |
Perl
Projet | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Catalyst | Perl | Toolkit-independent (REST & JSON support, specific plugins for Prototype JavaScript Framework, more) | Oui | Push in its most common usage | Oui | DBIx::Class, Rose::DB::Object, more | Supports Perl testing standards, Test Anything Protocol (TAP) | ACL-based, external engines, more | Template::Toolkit, HTML::Template, HTML::Mason, PHP and any extant Perl template engine | Cache, Memcached, shared memory, more | HTML::FormHandler HTML::FormFu, HTML::FormValidator, more | |
Dancer | Perl | Oui | Oui | Push | Oui | DBIx::Class, ORMesque | Oui | ? | ? | Template::Toolkit, HTML::Mason, Text::MicroTemplate, any extant Perl template engine | Cache, Memcached, shared memory, more | DataFu, any extant Perl form validation software |
Interchange | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Mason | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Maypole | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Mojolicious | Perl | Toolkit-independent (REST & JSON support | (no) | Push | Oui | Oui | (no) | Test::Mojo | (no) | Oui | Built-in Perl templating, Template::Toolkit and several others via plugins | (no) |
Reaction | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PHP
Projet | Start Date | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) | Échafaudage |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AppFlower | 2009-02 | PHP 5 | Yes, ExtJs | Oui | Push | Oui | Propel | Oui | Plugin exists | Plugin | Oui | Oui | Oui | Oui |
CakePHP | 2005-08 | PHP 5.2+ | Prototype, script.aculo.us, jQuery, jQuery UI, MooTools, MooTools More | Oui | Push | Oui | Active record (CakePHP 1.x), data mapper pattern (CakePHP 2.x) | Tests unitaires, object mocking, fixtures, code coverage, memory analysis avec SimpleTest et Xdebug PHPUnit (cakephp 2.0) | Oui | ACL-based | Themes, layouts, views, elements | Memcache, XCache, APC, File | Validation, security | Oui |
CodeIgniter | 2006-01 | PHP >= 5.1 | Any | Oui | Push | Mostly[13] | Third party only | Ready for next release | Oui | Oui | Oui | Oui | Oui | Non[14] |
FuelPHP | 2010-10 | PHP >= 5.3.x | Oui | MVC, HMVC | Push | Oui | Oui | PHPUnit | Oui | Oui, Plugins available | Oui, Plugins available | File, Redis, Memcache, more | Oui | Oui |
Fusebox | 1997-11 | PHP | Oui | Not mandatory | Push | Non, custom | Multiple plugins available | via qforms or built in PHP validation | Oui | |||||
Laravel | 2011-06 | PHP 5.3 | Oui | Oui | Push | Oui | Oui | PHPUnit | Oui | Oui | Oui | Oui | Oui | Non |
Mouf | 2009-08 | PHP | Oui | Splash MVC | Pull | Oui | TDBM or Doctrine | PHPUnit | database.patcher | UserService and RightsService, ACL-based | PHP, Twig | Memcache,APC,Redis,File,Memory,More | Via BCE | Oui |
PRADO | 2004-07 | PHP 5 (>=5.3.0) | Prototype, script.aculo.us, own components[15] | Oui | Push-pull | Oui | Data access objects (DAO), active record pattern, SQLMap data mapper | PHPUnit | Non | Oui | XML-based, similar to ASP.NETs[16] | APC, Database, eAccelerator, Memcached, XCache | Oui[17] | Oui[18] |
Qcodo | 2005-10 | PHP 5 | built-in | QControl | Push | Oui | XML-based | Inherent | QForm and QControl | Oui | Oui | Non | ||
Symfony | 2005-10 | PHP 5 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Oui | Push | Oui | Propel, Doctrine (YAML) | Oui | Plugin exists (alpha code) | Plugin | PHP, Twig | Oui | Oui | Oui |
Symfony 2 | 2010 | PHP 5.3 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Oui | Push | Oui | Propel, Doctrine (YAML) | Oui | Plugin exists (alpha code) | n | PHP, Twig | Oui | Oui | Oui |
Yii | 2008-01 | PHP 5 (>=5.1.0) | jQuery, jQuery UI, own components, plugins | Oui | Push-pull | Oui | Data Access Objects (DAO), Active Record Pattern, Plugins (incl. Doctrine 2.0) | PHPUnit, Selenium | Oui | ACL-based, RBAC-based, plugins | PHP-based, PRADO-like, plugins | APC, Database, eAccelerator, File, Memcache, Redis, WinCache, XCache, Zend Platform | Oui | Oui[19] |
Zend Framework | 2006-03 | PHP 5 (>=5.2.4) | Toolkit-independent | Oui | Push-pull | Oui | Table and row data gateway and Doctrine 2.0 for Zend Framework 2.0 | Unit tests | Oui | ACL-based | Oui | Oui | Oui | Non |
Zikula | 2008-06 | PHP | Oui | Oui | NC | Oui | Oui | PHPUnit | Oui | Oui | Oui | Oui | Oui | Non |
Python
Projet | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) | Python 3.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CherryPy | Python | Oui | controller & URL dispatching | Oui | ORM agnostic | use stdlib's unittest and doctest | depends on ORM | Templating engine agnostic | Oui | Form validation engine agnostic | Oui | ||
CubicWeb | Python | Oui | controller & URL dispatching | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | (no) | |
Flask | Python | Oui | Oui | Push | Oui | Oui | Oui | Oui | Oui | Jinja2 | Oui | Oui | Oui |
Grok | Python | Oui | Oui | Pull | Oui | OODBMS called ZODB, SQLAlchemy, Storm | Tests unitaires, tests fonctionnels | ZODB Generations | Oui | Oui | Oui | Oui | |
Pyjamas | Python, JavaScript | Oui | Use PureMVC Python version (compiled to JavaScript) | Oui | ??, no direct data access | (no) | (no) | ||||||
Pylons | Python | helpers for Prototype and script.aculo.us | controller | Push | Oui | ORM-agnostic | via nose | depends on ORM | pluggable: Mako, Genshi, Myghty, Kid, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | (no) | |
Pyramid | Python | Oui | Oui | Push | Oui | ORM-agnostic | Oui | depends on ORM | Oui | pluggable: Chameleon, Genshi; Mako, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | Oui |
Django | Python | Yes | Full stack | Push | Oui | Django ORM | Oui | Provided by South | ACL-based | Django Template Language | Cache Framework | Django Forms API | Oui |
TurboGears | Python | Toolkit-independent, provides support via JSON | Full stack, best-of-breed based | Push | Oui | SQLAlchemy | nose | SQLAlchemy-Migrate | Repoze.what & Repoze.who | pluggable: Genshi, more | Support for memcached, and any WSGI compliant system | ToscaWidgets, utilizing FormEncode | (no) |
web2py | Python | Oui | Oui | Push | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | (no) |
Webware | Python | (no) | Optional | Pull | (no) | Oui | Oui | (no) | Oui | Oui | (no) | (no) | (no) |
BlueBream (Zope 3) | Python | via add-on products, e.g. Plone w/KSS | Oui | Pull | Oui | ZODB, SQLObject, SQLAlchemy | Unit tests, functional tests | ZODB generations | ACL-based | Oui | Oui | Oui | (no) |
Zope 2 | Python | Oui | Pull | Oui | ZODB, SQLObject, SQLAlchemy | Unit tests | ACL-based | Oui | Oui | CMFFormController | (no) | ||
mnml | Python | (no) | (no) | (no) | (no) | (no) | (no) | Templating engine agnostic | (no) | Form validation engine agnostic | (no) |
Ruby
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
Camping | (no) | Oui | Push | (no) | Active record | via Mosquito | Oui | (no) | Oui | (no) | (no) |
Nitro | jQuery | Oui | Push | Oui | Og | RSpec | (automatic) | Oui | Oui | Oui | Oui |
Ruby on Rails | Prototype, script.aculo.us, jQuery | ActiveRecord, Action Pack | Push | Yes | ActiveRecord | Unit Tests, Functional Tests and Integration Tests | Oui | Plug-in | Oui | Oui | Oui |
Sinatra (logiciel) | (no) | Oui | Push | (no) | ORM-independent | rack-test | Oui | through a Rack middleware | Oui | through a Rack middleware | (no) |
Scala
Projet | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
Circumflex | (no) | Oui | Push | (no) | Circumflex ORM | (no) | (no) | (no) | Scalate, FreeMarker, Markdown | (no) | (no) |
Play Framework | Oui | Oui | Push | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
Lift | Oui | Oui | Push | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
Scalate | (no) | (no) | Push | (no) | (no) | (no) | (no) | (no) | Oui | (no) | (no) |
Scalatra (en) | (no) | Oui | Push | (no) | (no) | Oui | (no) | Oui | (no) | (no) | (no) |
Autres
Projet | Langage | Ajax | MVC framework | MVC push-pull | Internationalisation | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AIDA/Web | Smalltalk | Oui | Oui | Oui | Gemstone/S, GLORP, more | SUnit | Oui | Oui | ||||
Application Express | PL/SQL | Oui | Oui | Oui | Oui | Oui | ||||||
Grails | Groovy | Oui | Active record | Push | Oui | GORM, Hibernate | Unit tests, integration test, functional test | multiple plugins: autobase, dbmigrate, more | Spring Security[20], Apache Shiro[21] | Oui | Oui | Oui |
Kepler | Lua | Oui | ||||||||||
Lift | Scala | Oui | Oui | Pull | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
Ocsigen | OCaml | Oui | Oui | Oui | ||||||||
Opa | Opa | Oui | Oui | MongoDB | Oui | Oui | Oui | |||||
OpenACS | Tcl | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
Seaside | Smalltalk | jQuery, jQuery UI, Prototype JavaScript Framework, script.aculo.us, more | Oui | Oui | GLORP, Gemstone/S, more | Unit tests, SUnit | (no), intentionally | Magritte | ||||
Projet | Langage | 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) |
Notes et références
- (en) « CodeIgniter 3.1.4 released », sur codeigniter.com (consulté le ).
- « Downloads », sur horde.org (consulté le ).
- http://forums.laravel.com/viewtopic.php?pid=14041#p14041
- http://www.qcodo.com/forums/forum.php/5/4377/
- « ASP.NET MVC, Web API, Razor and Open Source », sur asp.net (consulté le ).
- « How.is.CppCMS.licensed », sur cppcms.com, (consulté le )
- http://www.cubicweb.org/project/cubicweb/3.15.2
- http://www.tornadoweb.org/documentation/releases/v2.3.0.html
- http://web2py.com/examples/default/download
- http://zope2.zope.org/releases
- Language helper included, must activate & set desired language by parsing HTTP headers.{http://codeigniter.com/user_guide/libraries/language.html}
- (en) « Change Log : CodeIgniter User Guide », EllisLab, Inc. (consulté le )
- http://www.pradosoft.com/demos/quickstart/?page=ActiveControls.Home
- http://www.pradosoft.com/demos/quickstart/?page=Configurations.Templates1
- http://www.pradosoft.com/demos/quickstart/?page=Controls.Validation
- http://www.pradosoft.com/demos/quickstart/?page=Database.Scaffold
- « Initial Prototyping : Scaffolding », sur Yii Framework (consulté le ).
- Spring Security plugin
- Apache Shiro plugin
Voir aussi
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.