Bob
Have a question related to this hub?
Alice
Got something to say related to this hub?
Share it here.
This is a comparison of notable web frameworks, software used to build and deploy web applications. This article focuses on frameworks used for building the backend.
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.8.0[8] ![]() |
2025-08-05; 28 days 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; 23 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.02[11] ![]() |
2025-07-26; 38 days 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; 5 months ago | Apache 2.0 |
Apache Tapestry | 5.8.4[13] ![]() |
2024-02-06; 18 months ago | Apache 2.0 |
Apache Wicket | 10.5.0[14] ![]() |
2025-04; 5 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; 14 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; 7 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.12.0[17] ![]() |
2025-07-23; 41 days ago | GPL, Proprietary |
Netty | 4.2.4[18] ![]() |
2025-08-13; 20 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; 15 months ago | Apache 2.0 |
Spring | 6.2.9[20] ![]() |
2025-07-17; 47 days ago | Apache 2.0 |
Stripes | 1.6.0 | 2015-07-23 | Apache |
Vaadin | 24.7.0[21] ![]() |
2025-03-19; 5 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; 5 months ago | MIT License |
Fastify | 5.5.0[24] ![]() |
2025-08-11; 22 days ago | MIT License |
Meteor | 3.3[25] ![]() |
2025-06-17; 2 months ago | MIT License |
NestJS | 11.1.6[26] ![]() |
2025-08-07; 26 days ago | MIT License |
Next.js | 15.4.6[27] ![]() |
2025-08-06; 27 days ago | MIT License |
Nuxt.js | 4.0.3[28] ![]() |
2025-08-05; 28 days ago | MIT License |
Remix | 7.1.1[29] ![]() |
2024-12-23; 8 months ago | MIT License |
Sails.js | 1.5.11[30] ![]() |
2024-05-24; 15 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.6[35] ![]() |
2025-08-02;31 days ago | MIT |
CodeIgniter | 2006-02-28 | 4.6.1[36] ![]() |
2025-05-02;4 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 (formerly Zend Framework) | 2006-03 | 3.8.0[42] | 2024-11-21 | New BSD |
Laravel | 2011-07-31 | 12.25.0[43] ![]() |
2025-08-18; 15 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-08-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; 14 months ago | BSD |
CubicWeb | 4.8.0[55] ![]() |
2024-05-21; 15 months ago | LGPL |
Django | 5.2.5[56] ![]() |
2025-08-06; 27 days ago | BSD |
FastAPI | 0.116.1[57] ![]() |
2025-07-11; 53 days ago | MIT |
Flask | 3.1.1[58] ![]() |
2025-05-13; 3 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; 2 months ago | ZPL |
Gunicorn | 23.0.0[61] ![]() |
2024-08-10; 12 months ago | MIT |
Jam.py | 7.0.64[62] ![]() |
2025-08-04; 29 days ago | BSD |
Pyjs | 0.8.1a[63] ![]() |
2012-05-09; 13 years ago | Apache |
Pylons | 1.0.2[64] ![]() |
2015-07-22; 10 years ago | BSD |
Pyramid | 2.0.2[65] ![]() |
2023-08-25; 2 years ago | BSD |
Tornado | 6.5.2[66] ![]() |
2025-08-08; 25 days ago | Apache |
TurboGears | 2.5.0[67] ![]() |
2025-02-18; 6 months ago | MIT, LGPL |
web2py | 2.27.1[68] ![]() |
2023-11-16; 21 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.1[71] ![]() |
2025-08-13; 20 days 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 | Proprietary freeware |
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 and AGPL |
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 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 | |
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 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 | |
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 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 |
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, 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 |
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 (formerly Zend 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, with CSRF Protection and Form Signing | No | Yes | ? |
Phalcon | ≥ 8.0[89] | Any | Yes | Push | Yes | Yes | Codeception PHPUnit | 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 to ASP.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 | via pytest | 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 | via pytest 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 for Prototype and script.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: native session 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 for memcached, 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 | through Rack middleware | Yes | through Rack 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)
{{cite web}}
: Missing or empty |title=
(help)