This is a comparison of notableweb frameworks, software used to build and deploy web applications. This article focuses on frameworks used for building thebackend.
Basic information about each framework.
Systems listed on a light purple background are no longer in active development.
Project | Current stable version | Release date | License |
---|---|---|---|
ASP.NET Dynamic Data | |||
Base One Foundation Component Library (BFC) | 7.51 | 2018-06-01 | Proprietary |
Component-based Scalable Logical Architecture (CSLA) | 4.11.2 | 2019-07-31[1] | MIT |
MonoRail | 2.1 | 2011-03-17[2] | Apache |
Project | Current stable version | Release date | License |
---|---|---|---|
CppCMS | 1.2.1 | 2018-05-18[3] | MIT |
Drogon | 1.9.5 | 2024-06-08[4] | MIT |
Poco | 1.13.3[5] | 2024-04-06[±] | Boost Software License |
Wt | 4.10.4 | 2024-03-06[6] | GPL,Proprietary |
Project | Current stable version | Release date | License |
---|---|---|---|
ColdBox Platform | 7.3.0[7] | 2024-05-14[±] | Apache v2 |
Project | Current stable version | Release date | License |
---|---|---|---|
Phoenix | 1.7.14[8] ![]() | 2024-06-18; 13 months ago | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Snap | 1.1.3.2[9] | 2023-07-19 | BSD-3 |
Yesod | 1.6.24.5[10] ![]() | 2023-09-14; 22 months ago | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Apache Click | 2.3.0 | 2011-03-27 | Apache 2.0 |
Apache OFBiz | 24.09.01[11] ![]() | 2025-03-11; 4 months ago | Apache 2.0 |
Apache Shale | 1.0.4 | 2007-12-19 | Apache |
Apache Sling | 12 | 2022-03-18 | Apache 2.0 |
Apache Struts | 7.0.3[12] ![]() | 2025-03-03; 4 months ago | Apache 2.0 |
Apache Tapestry | 5.8.4[13] ![]() | 2024-02-06; 17 months ago | Apache 2.0 |
Apache Wicket | 10.5.0[14] ![]() | 2025-04; 3 months ago | Apache 2.0 |
AppFuse | 3.5.0 | 2015-02-20 | Apache 2.0 |
Eclipse Mojarra (Jakarta Faces RI) | 4.1.0[15] ![]() | 2024-06-05; 13 months ago | CDDL,GNU GPL 2, Apache 2.0 |
Eclipse RAP | 4.1 | 2024-12-04 | Eclipse |
Grails | 6.2.3[16] ![]() | 2025-01-03; 6 months ago | Apache |
Google Web Toolkit | 2.12.2 | 2025-03-03 | Apache 2.0 |
JBoss Seam | 3.1.0 final | 2012-01-13 | GNU LGPL |
JWt | 4.11.4[17] ![]() | 2025-04-03; 3 months ago | GPL,Proprietary |
Netty | 4.2.3[18] ![]() | 2025-07-14; 4 days ago | Apache License 2.0 |
OpenLaszlo | 4.9.0 | 2010-10-21 | CPL |
Oracle ADF | 12.2.1.4 | 2019-10-09 | Oracle Technology Network Developer License |
Play | 3.0.3[19] ![]() | 2024-05-07; 14 months ago | Apache 2.0 |
Spring | 6.2.7[20] ![]() | 2025-05-15; 2 months ago | Apache 2.0 |
Stripes | 1.6.0 | 2015-07-23 | Apache |
Vaadin | 24.7.0[21] ![]() | 2025-03-19; 3 months ago | Apache 2.0 |
Wavemaker | 11.6.0[22] | 2024-03-03 | Apache |
WebObjects | 5.4.3 | 2008-09-15 | Proprietary |
Project | Current stable version | Release date | License |
---|---|---|---|
Express.js | 5.1.0[23] ![]() | 2025-03-31; 3 months ago | MIT License |
Fastify | 5.4.0[24] ![]() | 2025-06-12; 36 days ago | MIT License |
Meteor | 3.3[25] ![]() | 2025-06-17; 31 days ago | MIT License |
NestJS | 11.1.5[26] ![]() | 2025-07-18; 15 hours ago | MIT License |
Next.js | 15.4.1[27] ![]() | 2025-07-14; 4 days ago | MIT License |
Nuxt.js | 3.17.7[28] ![]() | 2025-07-13; 5 days ago | MIT License |
Remix | 7.1.1[29] ![]() | 2024-12-23; 6 months ago | MIT License |
Sails.js | 1.5.11[30] ![]() | 2024-05-24; 13 months ago | MIT License |
SvelteKit | 1.15.5[31] ![]() | 2023-04-13; 2 years ago | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Catalyst | 5.90131[32] | 2023-07-20[±] | Artistic,GPL |
Dancer | 1.1.1[33] | 2024-07-18[±] | Artistic, GPL |
Maypole | 2.13 | 2008-04-18 | Artistic, GPL |
Mojolicious | 9.37[34] | 2024-05-13[±] | Artistic |
Project | Start date | Current stable version | Release date | License |
---|---|---|---|---|
CakePHP | 2005-08 | 5.2.5[35] ![]() | 2025-06-21;27 days ago | MIT |
CodeIgniter | 2006-02-28 | 4.6.1[36] ![]() | 2025-05-02;2 months ago | MIT |
Fat-Free | 2009-09 | 3.9.0[37] | 2024-12-29[±] | GPLv3 |
FuelPHP | 2011-08 | 1.9.0[38] | 2021-12-28[±] | MIT |
Gyroscope | 2008-11-20 | 20.4[39] | 2023-11-24 | BSD |
Jamroom | 2003-07-28 | 7.0.1[40] | 2024-01-01[±] | MPL |
Kajona | 2006 | 6.2[41] | 2017-06-08 | LGPLv2 |
Laminas (formerlyZend Framework) | 2006-03 | 3.8.0[42] | 2024-11-21 | New BSD |
Laravel | 2011-07-31 | 12.19.3[43] ![]() | 2025-06-18; 30 days ago | MIT |
Li3 (Lithium) | 2009-10 | 2.0.1[44] | 2024-03-218[±] | BSD |
Phalcon | 2012-11-14 | 5.8.0[45] | 2024-07-09 | BSD |
Pop PHP | 2012-03-19 | 5.5.0[46] | 2025-02-12 | BSD Licence |
PRADO | 2004-01 | 4.3.1[47] | 2025-05-21[±] | New BSD[48] |
SilverStripe | 2007-02-03 | 5.3.0[49] | 2024-11-04[±] | BSD |
Smart.Framework | 2015-02-01 | svn.1925[50] | 2024-01-19[±] | BSD |
Symfony | 2005-10 | 7.3.0[51] | 2025-05-29[±] | MIT |
Yii | 2008-12-03 | 2.0.52[52] | 2025-02-13[±] | New BSD |
Project | Current stable version | Release date | License |
---|---|---|---|
BlueBream | 1.0[53] ![]() | 2011-01-18; 14 years ago | ZPL |
CherryPy | 18.10.0[54] ![]() | 2024-06-15; 13 months ago | BSD |
CubicWeb | 4.8.0[55] ![]() | 2024-05-21; 13 months ago | LGPL |
Django | 5.2.4[56] ![]() | 2025-07-02; 16 days ago | BSD |
FastAPI | 0.116.1[57] ![]() | 2025-07-11; 7 days ago | MIT |
Flask | 3.1.1[58] ![]() | 2025-05-13; 2 months ago | BSD |
Google App Engine | 1.9.91[59] ![]() | 2020-05-11; 5 years ago | LGPL, Proprietary |
Grok | 6.1[60] ![]() | 2025-06-10; 38 days ago | ZPL |
Gunicorn | 23.0.0[61] ![]() | 2024-08-10; 11 months ago | MIT |
Jam.py | 7.0.63[62] ![]() | 2025-07-16; 2 days ago | BSD |
Pyjs | 0.8.1a[63] ![]() | 2012-05-09; 13 years ago | Apache |
Pylons | 1.0.2[64] ![]() | 2015-07-22; 9 years ago | BSD |
Pyramid | 2.0.2[65] ![]() | 2023-08-25; 22 months ago | BSD |
Tornado | 6.5.1[66] ![]() | 2025-05-22; 57 days ago | Apache |
TurboGears | 2.5.0[67] ![]() | 2025-02-18; 5 months ago | MIT, LGPL |
web2py | 2.27.1[68] ![]() | 2023-11-16; 20 months ago | LGPL3 |
Zope 2 | 5.6.0[69] ![]() | 2022-09-09; 2 years ago | ZPL |
Project | Current stable version | Release date | License |
---|---|---|---|
Padrino | 0.14.4 | 2019-01-14[70] | MIT |
Ruby on Rails | 8.0.2[71] ![]() | 2025-03-12; 4 months ago | MIT |
Sinatra | 3.0.2[72] ![]() | 2022-10-01; 2 years ago | MIT |
Project | Current stable version | Release date | License |
---|---|---|---|
Lift | 3.4.3 | 2020-11-28 | Apache 2.0 |
Play | 2.8.8 | 2021-04-08 | Apache 2.0 |
Scalatra | 2.8.1 | 2021-09-25 | BSD |
Project | Language | Current stable version | Release date | License |
---|---|---|---|---|
AIDA/Web | Smalltalk | 6.7 | 2014-09-14 | MIT |
Oracle APEX | PL/SQL | 22.2 | 2022-11-10 | Proprietaryfreeware |
Flex | ActionScript,MXML | 4.16.1 | 2019-11-23 | Apache |
Grails | Groovy (JVM) | 6.2.2[73] | 2024-11-20 | Apache |
Morfik | C#,BASIC,Pascal,Java | 3.0.8.1 | 2010-12-13 | Proprietary freeware |
Opa | Opa | 1.1.1 | 2013-04-16[74] | MIT andAGPL |
OpenACS | Tcl | 5.10.1[75] | 2024-09-03 | GPL |
Seaside | Smalltalk | 3.5.9[76] | 2024-10-20 | MIT |
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 |
Wt | Yes | Yes | Push & Pull | Yes | Wt::Dbo | Boost.test | Yes | Yes | No | Yes |
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 | Quick & cbORM | Yes via TestBox | Yes | Yes | CFML | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
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 AtlassianJira) | 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 orBean Validation | |
Apache Wicket | Java | Extensions forYUI,ExtJS, more | No (Modular event-driven) | Pull | Yes | with extensions | Mock objects, unit and integration tests via extension | Yes | Yes | Yes | Yes | |
Grails | Groovy | Yes | Yes | Push | Yes | GORM,Hibernate | Unit tests,integration test,functional test | multiple plugins: autobase, dbmigrate, more | Spring Security,[77]Apache Shiro[78] | Yes | Yes | Yes |
JavaServer Faces | Java | Yes | Yes | Pull | Yes | JPA,Hibernate and any other Java EE ORM framework | JUnit | Yes | Facelets, JSP | Yes | Native validators, integration withBean 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 | |
JWt | Java | Yes | Yes | Push-pull | Yes | Yes | Yes | Yes | ||||
Play | Java, Scala | Yes | Yes | Push-pull | Yes | JPA, Hibernate | JUnit,Selenium | Yes | via Core Security module | Yes | Yes | Server-side validation |
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 | Push-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 | |
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 |
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 (client-side) | |||
EmberJS | Yes | Yes | Yes | Ember Data | QUnit | Handlebars | |||||
qooxdoo | Yes | Data binding | i18n | Testrunner | Form Validation | ||||||
SproutCore | Yes | Yes |
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 forPrototype 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 |
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 |
Project | PHP version | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CakePHP | ≥ 7.4[79] | Any | Yes | Yes, Push & Cells | Yes | ORM,Data Mapper Pattern, SQLRelational Algebra Abstraction Layer | Unit tests, object mocking, fixtures, code coverage, memory analysis withPHPUnit andXdebug andContinuous Integration viaTravis | Yes | CRUD based,ACL-based, Multiple Plugins | Themes, Layouts, Cells, Views, Elements, Plugins forTwig,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 |
CodeIgniter | ≥ 8.1[80] | Any | Yes | Push | Mostly[81] | Third party only | Ready for next release,Unit tests for v.4 and up | Yes | Yes | Yes | Yes | Yes | No[82] | Yes | Templates |
Fat-Free Framework | ≥ 5.4[83] | 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 | ≥ 5.3.3[84] | Yes | MVC, HMVC | Push | Yes | Yes | PHPUnit | Yes | Yes, Plugins available | Yes, Plugins available | File,Redis, Memcache, more | Yes | Yes | ? | ? |
Gyroscope | ≥ 5.4 | nano.js, replaceable[85] | LCHH | Push-pull | Mostly | Data-source agnostic | No | Built-in Schema comparison tool and UDF editor | ACL-based, replaceable | Implementation-specific; helper functions and theme templates available | APC, Memcache | Yes | Interactive code generator | Yes | Dedicated mobile and tablet layouts, landscape-portrait transformation |
Kajona | ≥ 7[86] | Any | Yes | Push | Yes | Yes | PHPUnit,Selenium,Jasmine | Yes | Yes | Yes | APC, Database, File | Yes | Yes | Yes | Bootstrap |
Laminas (formerlyZend Framework) | ≥ 7.3[87] | 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 | ? | ? |
Laravel | ≥ 8.0[88] | Any | Yes | Push | Yes | Eloquent | PHPUnit | Yes | Yes | Yes | APC, Database, File,Memcache,Redis | Yes | Yes | Yes | Yes |
Li3 (Lithium) | ≥ 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, withCSRF Protection and Form Signing | No | Yes | ? |
Phalcon | ≥ 8.0[89] | Any | Yes | Push | Yes | Yes | CodeceptionPHPUnit | Yes | Yes | Volt, PHP | APC,Memcache, Memory,Redis, Redis Cluster, File | Yes | Yes | Yes | ? |
Pop PHP | ≥ 8.2 | Any | Yes | Push | Yes | Yes | PHPUnit with CI via GitHub Actions | Yes | ACL-based | Yes | APC, Database, File,Memcache,Redis, Session | Yes | Yes | Yes | ? |
PRADO | ≥ 7.3[90] | Prototype, script.aculo.us, own components[91] | No | Push-pull | Yes | Data access objects (DAO), active record pattern, SQLMap data mapper | PHPUnit, SimpleTest,Selenium | No | Yes | XML-based, similar toASP.NETs[91] | APC, Database,eAccelerator,Memcached, XCache | Yes[91] | Yes[91] | ? | ? |
SilverStripe (Sapphire) | ≥ 7.1[92] | jQuery, jQuery UI | Yes | Push-pull | Yes | Active record pattern | Unit tests,Selenium | Automatic | incl. OpenID | Themes | Yes | Yes | Yes | Yes | Yes |
Silex | ≥ 5.3.9 | Yes | Yes | Yes | Yes | Plugin exists (Doctrine) | Yes | No | Yes | PHP,Twig | Plugin exists | Yes | Plugin exists | ? | ? |
Smart.Framework | ≥ 7.3[93] | Yes | Yes | Yes | Yes | Yes (PostgreSQL, MySQL, SQLite, MongoDB, Solr, others via plugins) | Yes | No | Yes | Yes (Markers,Twig, others via plugins) | Yes (File, Redis, others via plugins) | Yes | No | Yes | Yes, (jQuery mobile, Bootstrap, others via plugins) |
Symfony | ≥ 8.1[94] | 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 | ? | ? |
TYPO3 | ≥ 7.2[95] | Any | Yes | Push-pull | Yes | Yes | Yes | Partial | Yes | TYPO3 Fluid | Yes | Yes | Plugin exists | Plugin exists | ? |
Yii | ≥ 5.4[96] | 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[97] | ? | ? |
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.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CherryPy | Python | — | — | — | — | pluggable | — | — | — | pluggable | — | — | Yes |
Django | Python | Yes | Yes | Push | Yes | Yes | Yes | Yes | Yes | built-in, Jinja2, Mako,Cheetah | Yes | Yes | Yes |
FastAPI | Python | Yes | — | — | — | ORM-agnostic | viapytest | depends on ORM | Yes | Jinja2 | — | Yes | Yes |
Flask | Python | Yes | — | — | Yes | ORM-agnostic | via unittest | depends on ORM | Yes | Jinja2 | Yes | Yes | Yes |
Jam.py | Python,JavaScript | Yes | Event driven | Yes | Yes | Yes | viapytest and mocha | Yes | Yes | Yes | Yes | Yes | Yes |
Pyjs | Python,JavaScript | Yes | Use PureMVC Python version (compiled to JavaScript) | Yes | ??, no direct data access | No | No | ||||||
Pylons | Python | helpers forPrototype andscript.aculo.us | controller | Push | Yes | ORM-agnostic | via nose | depends on ORM | pluggable: Mako,Genshi, Myghty, Kid, more | native: pluggable: Redis, Beaker (memory, memcached, file, databases) | preferred formencode | No | |
Pyramid | Python | Yes | Yes | Push | Yes | ORM-agnostic | Yes | depends on ORM | Yes | pluggable: Jinja2, Chameleon, Mako, Genshi,more | default: nativesession factory. pluggable: Redis, PyNaCl, Beaker (memory, memcached, file, databases),more | deform, formencode, WTForms,more | 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 formemcached, and any WSGI compliant system | ToscaWidgets, utilizing FormEncode | Yes |
web2py | Python | Yes | Yes | Push | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[98] |
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 |
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) |
---|---|---|---|---|---|---|---|---|---|---|---|
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 | throughRack middleware | Yes | throughRack middleware | No |
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[99] | FlexUnit | |||||||||
Lift | Scala | Yes | Yes | Pull | Yes | Yes | ScalaTest,Selenium[100] | Yes | Yes | 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) |
Lists of frameworks for frontend development:
Other:
{{cite web}}
:Missing or empty|title=
(help){{cite web}}
:Missing or empty|title=
(help){{cite web}}
:Missing or empty|title=
(help){{cite web}}
:Missing or empty|title=
(help)