Comparison of web application frameworks
This is a comparison of notable web application frameworks.
General
Basic information about each framework.
ASP.NET
See also: ASP.NET and List of CLI languages
Project | Language | Current stable version | Release date | License |
---|---|---|---|---|
ASP.NET MVC Framework (ASP.NET MVC) | ASP.NET | 6.0 | 2014-11-12 | Apache v2[1] |
Base One Foundation Component Library (BFC) | ASP.NET | 7.44 (discontinued) | 2013-07-19 | Proprietary |
Component-based Scalable Logical Architecture (CSLA) | C#, Visual Basic .NET | 4.5.601 | 2014-08-04[2] | Proprietary freeware, no limit on use type |
MonoRail | ASP.NET | 3.3.3 | 2014-11-06[3] | Apache |
OpenRasta | ASP.NET | 2.1.0.83282449 | 2011-09-28 | MIT |
C
See also: C (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
Saetta Web Server | 1.4.10 | 2014-11-22[4] | Proprietary |
KORE | 1.2.1 | 2014-12-12[5] | ISC license |
C++
See also: C++
Project | Current stable version | Release date | License |
---|---|---|---|
CppCMS | 1.0.5 | 2014-10-30[6] | LGPL, Proprietary |
Poco | 1.6.0 | 2014-12-22[7] | Boost Software License |
Tntnet | 2.2.1 | 2014-01-17[8] | LGPL |
Wt | 3.3.4 | 2015-03-25[9] | GPL, Proprietary |
ColdFusion Markup Language (CFML)
See also: ColdFusion Markup Language and ColdFusion
Project | Current stable version | Release date | License |
---|---|---|---|
CFWheels | 1.3.4 | 2015-03-11 | Apache v2 |
ColdBox Platform | 4.0.0 | 2015-01-22 | Apache v2 |
ColdSpring | 1.2 | 2008-09-12 | Apache v2 |
Fusebox | 5.5.2 | 2012-05-08 | Apache |
Mach-II | 1.8.1 | 2010-09-20 | GPLv3 with Classpath exception |
Model-Glue | 3.1.299 | 2010-03-05 | Apache |
D
See also: D (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
vibe.d | 0.7.22 | 2015-01-12[10] | MIT License |
Haskell
See also: Haskell (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
Happstack | 7.0 | 2012-03-29 | BSD-3 |
Snap | 0.13 | 2014-05-06 | BSD-3 |
Yesod | 1.4.1 | 2014-11-23[11] | MIT License |
Java
See also: Java (programming language) and Java (software platform)
Project | Current stable version | Release date | License |
---|---|---|---|
Apache Click | 2.3.0 (retired) | 2011-03-27 | Apache 2.0 |
Apache OFBiz | 13.07.01 | 2014-10-06 | Apache 2.0 |
Apache Shale | 1.0.4 (retired) | 2007-12-19 | Apache |
Apache Sling | 7 | 2014-10-03 | Apache 2.0 |
Apache Struts 2 | 2.3.20 | 2014-12-07 | Apache 2.0 |
Apache Tapestry | 5.3.8 | 2014-11-20 | Apache |
Apache Wicket | 6.18.0 | 2014-11-11 | Apache 2.0 |
AppFuse | 3.0 | 2013-12-23 | Apache |
Brutos Framework | 2.0 | 2014-12-14 | Apache 2.0 |
Crux | 5.2 | 2014-09-18 | Apache 2.0 |
Eclipse RAP | 2.3.1 | 2014-09-26 | Eclipse |
FormEngine | 2.0.1 | 2012-05-08 | Proprietary |
Grails | 2.4.4 | 2014-10-28 | Apache |
Google Web Toolkit | 2.7.0 | 2014-11-20 | Apache 2.0 |
Hamlets | 1.7.1 | 2012-06-29 | BSD |
ItsNat | 1.3.1 | 2013-06-30 | GNU LGPL, proprietary |
JavaServer Faces (Mojarra) | 2.2.9 | 2014-12-18 | CDDL, GNU GPL 2, Apache 2.0 |
JBoss Seam | 3.1.0 final | 2012-01-13 | GNU LGPL |
Jspx-bay | 2.0 | 2014-04-01 | Apache 2.0 |
JVx | 2.1.1 | 2014-12-06 | Apache 2.0 |
OpenLaszlo | 4.9.0 (discontinued) | 2010-10-21 | CPL |
OpenXava | 5.2 | 2015-01-27 | GNU LGPL |
Oracle ADF | 12.1.3.0 | 2014-06-26 | Oracle Technology Network Developer License |
Play | 2.3.4 | 2014-09-01 | Apache 2.0 |
RIFE | 1.6.1 (unmaintained) | 2007-07-14 | CDDL, GNU LGPL |
Spark | 2.1 | 2014-12-08 | Apache |
Spring | 4.1.4 | 2014-12-30 | Apache 2.0 |
Stripes | 1.5.8 | 2014-07-07 | Apache |
Takes | 0.9.5 | 2015-03-20 | MIT |
ThinWire | 1.2 (unmaintained) | 2007-09-17 | GNU GPL |
Vaadin | 7.3.10 | 2015-02-03 | Apache 2.0 |
VRaptor | 4.1.4 | 2014-12-30 | Apache 2.0 |
Wavemaker | 6.5.3 | 2013-03-14 | Apache |
WebObjects | 5.4.3 | 2008-09-15 | Proprietary |
WebWork | 2.2.6 (unmaintained) | 2007-07-21 | Apache |
Ze Framework | 1.1 | 2014-07-16 | BSD |
ZK | 7.0.3 | 2014-09-02 | LGPL, ZOL |
ztemplates | 2.4.0 | 2011-09-11 | Apache |
JavaScript
See also: JavaScript
Project | Current stable version | Release date | License |
---|---|---|---|
AngularJS | 1.3.12 | 2015-02-02 | MIT License |
KnockoutJS | 3.2.0 | 2014-08-12 | MIT License |
Backbone.js | 1.1.2 | 2014-02-20 | MIT License |
Ember.js | 1.10.0 | 2014-02-07 | MIT License |
OpenUI5 | 1.26.8 | 2015-03-10 | Apache 2.0 License by SAP |
Node.js | 0.12.0 | 2015-02-06 | MIT License |
Express.js | 4.12.3 | 2015-03-17 | MIT License |
Scala
See also: Scala (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
Play! | 2.3.7 | 2014-12-03 | Apache 2.0 |
Unfiltered | 0.8.4 | 2015-1-1 | MIT License |
Lift | 2.6 | 2015-01-11 | Apache 2.0 |
Scalatra | 2.3.0 | 2014-06-11 | BSD |
Perl
See also: Perl
Project | Current stable version | Release date | License |
---|---|---|---|
Catalyst | 5.90082 | 2015-01-11 | Artistic, GPL |
Dancer | 1.5800 | 2015-01-01 | Artistic, GPL |
Mason | 2.22 | 2014-02-01 | Artistic, GPL |
Maypole | 2.13 (discontinued) | 2008-04-18 | Artistic, GPL |
Mojolicious | 6.05 | 2015-03-24 | Artistic |
PHP
See also: PHP
Project | Start date | Current stable version | Release date | License |
---|---|---|---|---|
Agavi | 2005-05 | 1.0 | 2014-11-12 | LGPL |
Aiki Framework | 2009-09 | 0.9.1 | 2012-02-23[12] | GPLv3 |
AppFlower | 2009-02 | 1.3 | 2012-10-09 | GPLv3 |
Ayoola Framework | 2011-01 | 1.4.1 | 2014-01-12 | Proprietary |
CakePHP | 2005-08 | 3.0.0 | 2015-03-22[13] | MIT |
Cgiapp | 2004-12 | 1.0 | 2004-12-01[14] | LGPL |
ClanCatsFramework | 2012-02 | 2.0.6 | 2014-09-16 | MIT |
CodeIgniter | 2006-02-28 | 3.0.0 | 2015-03-31[15] | MIT |
Fat-Free | 2009-09 | 3.4.0 | 2015-01-01[16] | GPLv3 |
FuelPHP | 2011-08 | 1.7.2 | 2014-07-13 | MIT |
Hazaar MVC | 2012-10 | 1.3 | 2014-08-29 | Apache 2.0 |
Kajona | 2006 | 4.5 | 2014-06-23 | LGPLv2 |
Laravel | 2011-06-11 | 5.0.14 | 2015-03-06[17] | MIT |
Lithium | 2009-10 | 0.11 | 2012-10-03 | BSD |
Nette Framework | 2006-01[18] | 2.3.1 | 2015-03-27[19] | New BSD, GPLv2, GPLv3[20] |
Phalcon | 2012-11-14 | 1.3.4 | 2014-10-28 | BSD |
PHPixie | 2012-07 | 3 | 2014-10-01 | BSD |
PRADO | 2004-01 | 3.2.4[21] | 2014-08-26 | New BSD[22] |
Qcodo | 2005-10 | 0.4.22 | 2011-08-15[23] | MIT |
Seagull | 2003-10 | 1.0.4[24] | 2013-01-04 | BSD |
Sija | 2014-05 | 0.1[25] | 2015-01-05 | MIT |
Silex | 2011-08 | 1.2.3[26] | 2014-09-26 | BSD |
Symfony | 2005-10 | 2.6.4[27] | 2015-02-03 | MIT |
TYPO3 Flow | 2011-10 | 2.3.1[28] | 2014-11-14 | LGPLv3 |
Xyster Framework | 2007-09 | 02 Build 01 | 2010-10-18 | BSD |
Yii | 2008-01 | 2.0.3[29] | 2015-03-01 | New BSD |
Zend Framework | 2006-03 | 2.3.4 | 2015-01-14[30] | New BSD |
Python
See also: Python (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
BlueBream | 1.0 | 2011-01-18 | ZPL |
Bottle | 0.12 | 2013-07-19 | MIT |
CherryPy | 3.6.0 | 2014-09-14[31] | BSD |
CubicWeb | 3.20.3[32] | 2015-02-02 | LGPL |
Django | 1.8 | 2015-04-01[33] | BSD |
Flask | 0.10.1 | 2013-06-14[34] | BSD |
Grok | 1.4 | 2011-04-04 | ZPL |
Nagare | 0.4.1 | 2012-01-18 | BSD |
Pyjamas | 0.8.1a | 2012-05-06 | Apache |
Pylons | 1.0.1 | 2012-08-14 | BSD |
Pyramid | 1.5.2 | 2014-11-09 | BSD |
TACTIC | 4.3.0.b01[35] | 2014-11-03 | EPL |
Tornado | 4.0.2[36] | 2014-09-10 | Apache |
TurboGears | 2.3.4 | 2014-10-03 | MIT, LGPL |
web2py | 2.10.3 | 2015-01-17[37] | LGPL3 |
Webware | 1.1.1 | 2013-01-18 | Python |
Zope 2 | 2.13.22 | 2014-02-09[38] | ZPL |
Ruby
See also: Ruby (programming language)
Project | Current stable version | Release date | License |
---|---|---|---|
Camping | 2.1 | 2010-08-20 | MIT |
Padrino | 0.12.5 | 2015-02-22[39] | MIT |
Ruby on Rails | 4.2.0 | 2014-12-19 | MIT, Ruby |
Sinatra | 1.4.5 | 2014-04-08[40] | MIT |
Merb | 1.1.3 | 2010-07-10 | MIT |
PureMVC | 2.0.4 | 2008-08-14 | CC +Attribution |
Others
Project | Language | Current stable version | Release date | License |
---|---|---|---|---|
AIDA/Web | Smalltalk | 6.7 | 2014-09-14 | MIT |
Application Express | PL/SQL | 4.2.6 | 2014-09-24 | Proprietary freeware |
AWS | Ada | 2014 | 2014-03-22 | GPL |
Compojure | Clojure | 1.0.1 | 2012-01-08 | Eclipse |
Flex | ActionScript, MXML | 4.14 | 2015-02-03 | Apache |
Grails | Groovy (JVM) | 2.4.4 | 2014-10-28 | Apache |
Kepler | Lua | 1.1.1 | 2009-03-11 | MIT |
Morfik | C#, BASIC, Pascal, Java | 3.0.8.1 | 2010-12-13 | Proprietary freeware |
Ocsigen | OCaml | 2.3.0 | 2012-12-10[41] | LGPL |
Opa | Opa | 1.1.1 | 2013-04-16[42] | MIT and AGPL |
OpenACS | Tcl | 5.7.0 | 2011-07-17 | GPL |
Seaside | Smalltalk | 3.0 | 2010-09-13 | MIT |
Zotonic | Erlang | 0.10.1 | 2014-06-17 | Apache |
Comparison of features
C++
Project | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
CppCMS | Yes | Yes | Push | Yes | CppDB | No | No | Yes | Yes | Yes | Yes |
Tntnet | Yes | No | No | Yes | Tntdb | No | No | No | Yes | No | No |
Wt | Yes | Yes | Push & Pull | Yes | Wt::Dbo | Boost.test | Yes | Yes | No | Yes |
ColdFusion Markup Language (CFML)
Project | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
ColdBox Platform | Yes | Yes | Push-pull | Yes | Yes | Yes via TestBox, MockBox | via plugin | Yes | Yes | Yes | Yes |
ColdFusion on Wheels | Yes | Yes | Push | via plugin jLingua | Yes | Yes integrated RocketUnit | via plugin | Yes | Yes via layout.cfm | via plugin | Yes |
Fusebox | via CF or any JavaScript library | optional | Push | No, custom | via lexicons for Transfer, Reactor | via MXUnit, others | No | via plugins | via lexicon for ColdSpring | No | |
Mach-II | via CF or any JavaScript library | Yes | Push | via plugin | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | |||
Model-Glue | via CF or any JavaScript library | Yes | Push | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | ||||
Java
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) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apache Click | Java | jQuery | Page oriented | Pull | Yes | Hibernate, Cayenne | Yes | pluggable | Velocity, JSP | Cached templates | Built-in validation | ||
Apache OFBiz | Java, Groovy, XML, | jQuery | Yes | Push-pull | Yes | Entity Engine (Internal kind of ORM, not really ORM, notably used by Atlassian Jira) | JUnit | Entity Engine Tools, Data File Tool, CSV Parser, Apache POI | Internal Security framework based on OWASP | Freemarker (Recommended), Velocity (Support Available), JSP (Support Available) | Internal Cache Maintenance with Distributed Cache Clearing for clusters | Server side validation, Client Side Validation (JQuery) | |
Apache Sling | Java | Yes | Yes | Push-pull | Uses JCR content repository | Yes | Yes | Yes | |||||
Apache Struts | Java | Yes | Yes | Push-pull | Yes | Yes | Unit tests | Yes | Yes | ||||
Apache Tapestry | Java | Prototype, jQuery | Yes | Pull | Yes | JPA, Hibernate, Cayenne | Selenium, TestNG, JUnit | Spring Security, Shiro | Yes | with extensions | Native or Bean Validation | ||
Apache Wicket | Java | Extensions for YUI, ExtJS, more | No (Modular event-driven) | Pull | Yes | with extensions | Mock objects, unit and integration tests via extension | Yes | Yes | Yes | Yes | ||
FormEngine | Java | Yes | Yes | own connector API | Ajax validation on server and form state update | ||||||||
Grails | Groovy | Yes | Yes] | Push | Yes | GORM, Hibernate | Unit tests, integration test, functional test | multiple plugins: autobase, dbmigrate, more | Spring Security,[43] Apache Shiro[44] | Yes | Yes | Yes | |
ItsNat | Java | Yes | event driven | Push | using Java i18n | external, built-in | pluggable | pure HTML-SVG | page caching | normal Java | |||
JavaServer Faces | Java | Yes | Yes | Pull | Yes | JPA, Hibernate and any other Java EE ORM framework | JUnit | Yes | Facelets, JSP | Yes | Native validators, integration with Bean Validation | ||
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) | |
JBoss Seam | Java | Yes | Yes | Pull | Yes | JPA, Hibernate | JUnit, TestNG | JAAS integration, Drools, Hibernate Filters, OpenID, CAPTCHA | Facelets | JBoss Cache, Ehcache | Hibernate Validator | ||
Jspx-bay | Java | Yes | Page oriented | Own API | JAAS integration | Master-content pages | Yes, Internal UI validation controls | ||||||
JVx WebUI | Java | Yes | Model Driven | Yes | Yes, pluggable | JUnit | Yes | Single sourcing | Yes, pluggable | ||||
OpenXava | Java | Yes | Model Driven | Yes | JPA, Hibernate, EJB2 CMP | JUnit | Hibernate tools | uses JSR-168 portal security | UI is automatically generated | uses portal and JPA caching | Yes | ||
Play | Java, Scala | Yes | Yes | Push-pull | Yes | JPA, Hibernate | JUnit, Selenium | Yes | via Core Security module | Yes | Yes | Server-side validation | |
RIFE | Java | DWR | Yes | Push-pull | Yes | Yes | Out of container testing | Yes | Yes | Integration with Terracotta | Yes | ||
Spring | Java | Yes | Yes | Push | Yes | Hibernate, iBatis, more | Mock objects, unit tests | Spring Security (formerly Acegi) | JSP, Commons Tiles, Velocity, Thymeleaf, more | Ehcache, more | Commons validator, Bean Validation | ||
Stripes | Java | Yes | Yes | Pull | Yes | JPA, Hibernate | Yes | framework extension | Yes | Yes | |||
Vaadin | Java | GWT | Pull | Yes | Yes | Yes | Yes | Yes | |||||
Wavemaker | JavaScript (client), Java (server) | Dojo Toolkit | Yes | Push | Dojo Toolkit | Hibernate | JUnit | Hibernate | Spring Security (formerly Acegi), role-based access control | Dojo Toolkit | Dojo Toolkit | Regular expression, schema-driven validation | |
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) | |
WebObjects | Java | Yes | Yes | Push-pull | Yes | EOF | WOUnit (JUnit), TestNG, Selenium | in Project WONDER | Yes | Yes | Yes | ||
ztemplates | Java JDK 1.5 or newer | integrates YUI, Google, etc., with annotations | Yes | 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 | Yes | Yes | JPA with RequestFactory | JUnit (too early), jsUnit (too difficult), Selenium (best) | via Java | Yes | Bean Validation | |||||
ZK | Java, ZUML | jQuery | Yes | Push-pull | Yes | any J2EE ORM framework | JUnit,ZATS | HibernateUtil, SpringUtil | Spring Security | Macro components & composition | Yes | client, server |
JavaScript
Project | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
AngularJS | XHR, JSONP | Yes | i18n and l10n | Karma (unit testing),
Protractor (end-to-end testing) |
Content Security Policy (CSP),
XSRF |
Templates | Caching | Form validation (front-end) | |||
EmberJS | Yes | Yes | Yes | Ember Data | QUnit | Handlebars | |||||
qooxdoo | Yes | Data binding | i18n | Testrunner | Form Validation | ||||||
SproutCore | Yes | Yes | |||||||||
Wakanda | Yes | Yes | Push & Pull | Native Object NoSQL DB | CommonJS Unit Testing YUI Test Service | Data Security and Access Control | Storage (application.storage, user.storage, SessionStorage) |
Perl
Project | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Catalyst | Toolkit-independent (REST & JSON support, specific plugins for Prototype JavaScript Framework, more) | Yes | Push in its most common usage | Yes | 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 | Yes | Yes | Push | Yes | DBIx::Class, ORMesque | Yes | ? | ? | Template::Toolkit, HTML::Mason, Text::MicroTemplate, any extant Perl template engine | Cache, Memcached, shared memory, more | DataFu, any extant Perl form validation software |
Mason | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Maypole | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Mojolicious | Toolkit-independent (REST & JSON support | No explicit model support though commonly used as MVC | Push | Yes | Commonly used with DBIx::Class | Test::Mojo | ? | Signed session cookie | Built-in Perl templating, Template::Toolkit and several others via plugins | ? | Not explicitly, use any Perl Modules |
PHP
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) | Scaffolding | RAD | Mobility |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AppFlower | PHP 5 | Yes, ExtJS | Yes | Push | Yes | Propel | Yes | Yes | Plugin | Yes | Yes | No | No | No | ? |
CakePHP 1 & 2 | PHP >= 5.2 | Prototype, script.aculo.us, jQuery, jQuery UI, MooTools, MooTools More | Yes | Push | Yes | Active record pattern (CakePHP 1.x), data mapper pattern (CakePHP 2.x) | Unit tests, object mocking, fixtures, code coverage, memory analysis with SimpleTest and Xdebug PHPUnit (cakephp 2.0) | Yes | ACL-based | Themes, layouts, views, elements | Memcache, Redis, XCache, APC, File | Validation, security | Yes | No | ? |
CakePHP 3 | PHP >= 5.4 | Any | Yes | Yes, Push & Cells | Yes | ORM, Data Mapper Pattern, SQL Relational Algebra Abstraction Layer | Unit tests, object mocking, fixtures, code coverage, memory analysis with PHPUnit and Xdebug and Continuous Integration via Travis | Yes | CRUD based, ACL-based, Multiple Plugins | Themes, Layouts, Cells, Views, Elements, Plugins for Twig, Bootstrap, etc. | Memcache, Redis, XCache, APC, File | Validation via Contexts (Table (DAO), Entity (VO) & Controller), CSRF Protection | Plugin CRUD | Cake Bake | Mobile Agent Detection, Layouts |
ClanCatsFramework | PHP >= 5.3.9 | Any | HMVC | Push | Yes | Yes | Yes | Yes | Yes | Yes | Ready for next release | Yes | Yes | ? | ? |
CodeIgniter | PHP >= 5.1 | Any | Yes | Push | Mostly[45] | Third party only | Ready for next release | Yes | Yes | Yes | Yes | Yes | No[46] | Yes | Templates |
Drupal | PHP | jQuery, jQuery UI, more | PAC | N/A | Yes | Optional module | SimpleTest | Yes | Yes | Yes | Memcache, APC, Varnish, more | Yes | No | No | Yes |
Fat-Free Framework | PHP | Any | MVC, RMR | Push-pull | Yes | Data mappers for SQL, MongoDB, Flat-File | Built-in | Yes | Yes | Yes | APC, Memcache, XCache, WinCache, and Filesystem | Yes | No | ? | ? |
FuelPHP | PHP >= 5.3.x | Yes | MVC, HMVC | Push | Yes | Yes | PHPUnit | Yes | Yes, Plugins available | Yes, Plugins available | File, Redis, Memcache, more | Yes | Yes | ? | ? |
Fusebox | PHP | Yes | Not mandatory | Push | No, custom | ? | ? | ? | Multiple plugins available | ? | ? | via qforms or built in PHP validation | Yes | ? | ? |
Joomla | ? | Yes | Plugin | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Lithium | PHP >= 5.3.6 | Any | Yes | Push | Yes | Yes | Unit tests, builtin test framework or other independent | No | Yes, Plugins available | PHP, Twig Plugin available | Memcache, Redis, XCache, APC, File | Yes, with CSRF Protection and Form Signing | No | Yes | ? |
Nette Framework | PHP >= 5.3.0 | Toolkit-independent | MVP | Push | Yes | Third party only | Yes | No | Yes | Yes | Yes | Yes | No | ? | ? |
PRADO | PHP >= 5.3.0 | Prototype, script.aculo.us, own components[47] | No | Push-pull | Yes | Data access objects (DAO), active record pattern, SQLMap data mapper | PHPUnit, SimpleTest, Selenium | No | Yes | XML-based, similar to ASP.NETs[48] | APC, Database, eAccelerator, Memcached, XCache | Yes[49] | Yes[50] | ? | ? |
Qcodo | PHP 5 | built-in | QControl | Push | Yes | XML-based | ? | Inherent | ? | QForm and QControl | Yes | Yes | No | ? | ? |
SilverStripe (Sapphire) | PHP >= 5.2 | jQuery, jQuery UI | ? | Push-pull | Yes | Active record pattern | Unit tests | Automatic | incl. OpenID | ? | Yes | Yes | Yes | ? | ? |
Solodev CMS | PHP 5 | jQuery, jQuery UI, more | ? | Push-pull | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? |
Symfony | PHP 5 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Yes | Push | Yes | Propel, Doctrine (YAML) | Yes | Plugin exists (alpha code) | Plugin | PHP, Twig | Yes | Yes | Yes | ? | ? |
Symfony 2 | PHP >= 5.3.3 | Any | Yes | Push | Yes | Propel, Doctrine (YAML) | Yes | Plugin exists | Yes | PHP, Twig | Yes | Yes | Yes | ? | ? |
Yii | PHP >= 5.4.0 | jQuery, jQuery UI, own components, plugins | Yes | Push-pull | Yes | Data Access Objects (DAO), Active Record Pattern, Plugins (incl. Doctrine 2.0) | PHPUnit, Selenium | Yes | ACL-based, RBAC-based, plugins | PHP-based, PRADO-like, plugins | APC, Database, eAccelerator, File, Memcache, Redis, WinCache, XCache, Zend Platform | Yes | Yes[51] | ? | ? |
Zend Framework[52] | PHP >= 5.3 | Toolkit-independent | Yes | Push-pull | Yes | Table and row data gateway or Doctrine | Unit tests, PHP Unit or other independent | Yes | ACL-based | Yes | APC, Database, File, Memcache, Zend Platform | Yes | Yes | ? | ? |
Zend Framework 2 | PHP >= 5.3.3 | Toolkit-independent | Yes | Push-pull | Yes | Table and row data gateway and Doctrine 2.0 for Zend Framework 2.0 | Unit tests, PHP Unit or other independent | Yes | ACL-based | Yes | APC, Database, File, Memcache, Zend Platform | Yes | Yes | ? | ? |
Zikula | PHP | Yes | Yes | N/A | Yes | Yes | PHPUnit | Yes | Yes | Yes | Yes | Yes | No | ? | ? |
Python
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) | Python 3.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bottle | Python | Yes | Yes | Pull | Yes | ORM agnostic | No | No | built-in, Jinja2, Mako, Cheetah | No | No | Yes | |
CherryPy | |||||||||||||
Django | Python | Yes | Yes | Push | Yes | Yes | Yes | Yes | Yes | built-in, Jinja2, Mako, Cheetah | Yes | Yes | Yes |
Pyjamas | Python, JavaScript | Yes | Use PureMVC Python version (compiled to JavaScript) | Yes | ??, no direct data access | No | No | ||||||
Pylons | Python | helpers for Prototype and script.aculo.us | controller | Push | Yes | ORM-agnostic | via nose | depends on ORM | pluggable: Mako, Genshi, Myghty, Kid, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | No | |
Pyramid | Python | Yes | Yes | Push | Yes | ORM-agnostic | Yes | depends on ORM | Yes | pluggable: Chameleon, Genshi; Mako, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | Yes |
TACTIC | Python | Yes | Yes | Pull | No | Yes | Yes | Yes | Yes | Mako | No | Yes | No |
Tornado | Python | See Advanced Async Example implements AJAX | - | - | - | - | - | - | - | - | - | - | Yes |
TurboGears | Python | Toolkit-independent, provides support via JSON | Full stack, best-of-breed based | Push | Yes | SQLAlchemy | nose | SQLAlchemy-Migrate | Repoze.what & Repoze.who | pluggable: Genshi, more | Support for memcached, and any WSGI compliant system | ToscaWidgets, utilizing FormEncode | Yes |
web2py | Python | Yes | Yes | Push | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Webware | Python | No | Optional | Pull | No | Yes | Yes | No | Yes | Yes | No | No | No |
BlueBream (Zope 3) | Python | via add-on products, e.g. Plone w/KSS | Yes | Pull | Yes | ZODB, SQLObject, SQLAlchemy | Unit tests, functional tests | ZODB generations | ACL-based | Yes | Yes | Yes | No |
Zope 2 | Python | Yes | Pull | Yes | ZODB, SQLObject, SQLAlchemy | Unit tests | ACL-based | Yes | Yes | CMFFormController | No | ||
Ruby
Project | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Camping | No | Yes | Push | No | Active record pattern | via Mosquito | Yes | No | Yes | No | No |
Ruby on Rails | Prototype, script.aculo.us, jQuery | ActiveRecord, Action Pack | Push | Yes | ActiveRecord | Unit Tests, Functional Tests and Integration Tests | Yes | Plug-in | Yes | Yes | Yes |
Sinatra | No | Yes | Push | No | ORM-independent | rack-test | Yes | through a Rack middleware | Yes | through a Rack middleware | No |
Others
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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AIDA/Web | Smalltalk | Yes | Yes | Yes | Gemstone/S, GLORP, more | SUnit | Yes | Yes | ||||
Application Express | PL/SQL | Yes | Yes | Yes | Yes | Yes | ||||||
Flex | ActionScript, MXML | Not by name but similar technology[53] | FlexUnit | |||||||||
Kepler | Lua | Yes | ||||||||||
Lift | Scala | Yes | Yes | Pull | Yes | Yes | ScalaTest, Selenium [54] | Yes | Yes | Yes | Yes | Yes |
Ocsigen | OCaml | Yes | Yes | Yes | ||||||||
Opa | Opa | Yes | Yes | MongoDB | Yes | Yes | Yes | |||||
OpenACS | Tcl | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Seaside | Smalltalk | jQuery, jQuery UI, Prototype JavaScript Framework, script.aculo.us, more | Yes | Yes | GLORP, Gemstone/S, more | Unit tests, SUnit | No, intentionally | Magritte | ||||
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) |
See also
- Comparison of free software eCommerce web application frameworks
- Content management system
- Java view technologies and frameworks
- List of content management frameworks
- List of content management systems
References
- ↑ "ASP.NET MVC, Web API,Web Forms, Razor and Open Source - ScottGu's Blog". Weblogs.asp.net. Retrieved 2013-08-18.
- ↑ "releases". Github. Retrieved 2 January 2015.
- ↑ http://www.castleproject.org/download/
- ↑ http://izysoftware.com/news/news.php?id=210
- ↑ https://kore.io/release/kore-1.2.1-release.txt
- ↑ "CppCMS Blog". Blog.cppcms.com. Retrieved 2013-08-18.
- ↑ "Stable Release 1.6.0 Available!". pocoproject.org. 22 December 2014. Retrieved 2015-01-21.
- ↑ "Tntnet homepage". Tntnet.org. Retrieved 2013-08-18.
- ↑ "Wt Release Notes". Webtoolkit.eu. Retrieved 2015-04-12.
- ↑ "vibe.d". RejectedSoftware. Retrieved 2015-01-12.
- ↑ "Yesod Web Framework for Haskell". Yesodweb.com. 2013-07-19. Retrieved 2013-08-18.
- ↑ "aikiframework in Launchpad". Launchpad.net. Retrieved 2013-08-18.
- ↑ http://bakery.cakephp.org/articles/lorenzo/2015/03/22/cakephp_3_0_0_is_here
- ↑ "Cgiapp.class.php - Browse /Cgiapp.class.php at". Sourceforge.net. Retrieved 2013-08-18.
- ↑ "CodeIgniter 3.0.0 Changelog / BCIT". Codeigniter.com. Retrieved 2015-01-31.
- ↑ "Fatfree Changelog". Github. Retrieved 22 September 2014.
- ↑ "Laravel releases on GitHub". Laravel.com. Retrieved 2015-03-07.
- ↑ "Nette Framework - first commit". nette.org. 2014. Retrieved 2014-04-23.
- ↑ "Nette Framework on Github". 2014.
- ↑ "Nette Framework Licence". nette.org. 2014. Retrieved 2014-04-23.
- ↑ "PRADO Documentation: New Features". pradosoft.com. Retrieved 2013-10-16.
- ↑ "License of PRADO". pradosoft.com. 2013. Retrieved 2013-10-16.
- ↑ "Qcodo Development Framework - Forums". Qcodo.com. Retrieved 2013-08-18.
- ↑ http://seagullproject.org/
- ↑ http://chermenin.github.io/sija
- ↑ http://silex.sensiolabs.org/
- ↑ "Symfony 2.6.0 released". Symfony Blog. Retrieved 1 December 2014.
- ↑ "Release Overview". typo3.org. Retrieved 23 October 2014.
- ↑ "Yii 2.0.3 is released". yiiframework.com. Retrieved 2015-03-07.
- ↑ "Zend Framework 1.12.9, 2.2.8, and 2.3.3 Released!". Zend.com. Retrieved 22 September 2014.
- ↑ https://pypi.python.org/pypi/CherryPy/3.6.0
- ↑ "cubicweb 3.15.2 (CubicWeb's Forge)". Cubicweb.org. Retrieved 2013-08-18.
- ↑ Graham, Tim (1 April 2015). "Django 1.8 released". Django Weblog. Retrieved 2 April 2015.
- ↑ "Flask Changelog — Flask 0.10.1 documentation". Flask.pocoo.org. Retrieved 2013-08-18.
- ↑ "Southpaw Launches Tactic 4.0 - TACTIC by Southpaw - TACTIC by Southpaw". Southpawtech.com. 2013-05-07. Retrieved 2013-08-18.
- ↑ "What’s new in Tornado 4.0.2". Tornadoweb.org. 2014-09-10. Retrieved 2014-09-10.
- ↑ "web2py/CHANGELOG at master · web2py/web2py · GitHub". Github.com. 2014-03-16. Retrieved 2014-03-22.
- ↑ "Changelog — Zope 2 documentation 2.13 documentation". Retrieved 2014-12-11.
- ↑ "Change Log - Padrino Ruby Web Framework". Padrino. Retrieved 25 March 2015.
- ↑ https://github.com/sinatra/sinatra/blob/v1.4.5/CHANGES
- ↑ http://ocsigen.org/lwt/install
- ↑ "The Opa Blog: Some great news on Opa". Blog.opalang.org. Retrieved 2013-08-18.
- ↑ "Grails Plugin: Spring Security Core Plugin". Grails.org. 2012-04-06. Retrieved 2013-08-18.
- ↑ "Grails Plugin: Apache Shiro Integration for Grails". Grails.org. 2012-04-11. Retrieved 2013-08-18.
- ↑ "Language helper included, must activate & set desired language by parsing HTTP headers". Codeigniter.com. Retrieved 2013-08-18.
- ↑ "Change Log : CodeIgniter User Guide". EllisLab, Inc. Retrieved 19 March 2012.
- ↑ "PRADO QuickStart Tutorial". Pradosoft.com. Retrieved 2013-08-18.
- ↑ "PRADO QuickStart Tutorial". Pradosoft.com. Retrieved 2013-08-18.
- ↑ "PRADO QuickStart Tutorial". Pradosoft.com. Retrieved 2013-08-18.
- ↑ "PRADO QuickStart Tutorial". Pradosoft.com. Retrieved 2013-08-18.
- ↑ "Initial Prototyping: Scaffolding | Building a Blog System Using Yii | Yii PHP Framework". Yiiframework.com. Retrieved 2013-08-18.
- ↑ "Zend Framework 2 Documentation Release 2.3.3" (PDF). Zend.com. Retrieved 22 September 2014.
- ↑ "URLRequest - Adobe ActionScript® 3 (AS3 ) API Reference". Livedocs.adobe.com. 2013-07-01. Retrieved 2013-08-18.
- ↑ "ScalaTest". ScalaTest. Retrieved 2013-08-18.