You can edit almost every page by Creating an account and confirming your email.

Comparison of server-side web frameworks

From EverybodyWiki Bios & Wiki

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.

General

Basic information about each framework.

Systems listed on a light purple background are no longer in active development.

ASP.NET

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

C++

Project Current stable version Release date License
CppCMS 2.0.1 2025-11-02[3] MIT
Drogon 1.9.5 2024-06-08[4] MIT
Poco Template:POCO C++ Libraries version Template:POCO C++ Libraries version Boost Software License
Wt 4.10.4 2024-03-06[5] GPL, Proprietary

ColdFusion Markup Language (CFML)

Project Current stable version Release date License
ColdBox Platform Template:ColdBox Platform version Template:ColdBox Platform version Apache v2

Elixir

Project Current stable version Release date License
Phoenix Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License

Haskell

Project Current stable version Release date License
Snap 1.1.3.2[6] 2023-07-19 BSD-3
Yesod Template:Yesod (web framework) version Template:Yesod (web framework) version MIT License

Java

Project Current stable version Release date License
Apache Click 2.3.0 2011-03-27 Apache 2.0
Apache OFBiz Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Apache Shale 1.0.4 2007-12-19 Apache
Apache Sling 12 2022-03-18 Apache 2.0
Apache Struts Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Apache Tapestry Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Apache Wicket Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
AppFuse 3.5.0 2015-02-20 Apache 2.0
Eclipse Mojarra (Jakarta Faces RI) Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. CDDL, GNU GPL 2, Apache 2.0
Eclipse RAP 4.1 2024-12-04 Eclipse
Grails Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. 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 Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. GPL, Proprietary
Netty Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. 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 Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Spring Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Stripes 1.6.0 2015-07-23 Apache
Vaadin Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache 2.0
Wavemaker 11.6.0[7] 2024-03-03 Apache
WebObjects 5.4.3 2008-09-15 Proprietary

JavaScript

Project Current stable version Release date License
Analog Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Express.js Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Fastify Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Meteor Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
NestJS Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Next.js Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Nuxt Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Remix Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
Sails.js Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License
SvelteKit Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT License

Perl

Project Current stable version Release date License
Catalyst Template:Catalyst (software) version Template:Catalyst (software) version Artistic, GPL
Dancer Template:Dancer (software) version Template:Dancer (software) version Artistic, GPL
Maypole 2.13 2008-04-18 Artistic, GPL
Mojolicious Template:Mojolicious version Template:Mojolicious version Artistic

PHP

Project Start date Current stable version Release date License
CakePHP 2005-08 Template:CakePHP version Template:CakePHP version MIT
CodeIgniter 2006-02-28 Template:CodeIgniter version Template:CodeIgniter version MIT
Fat-Free 2009-09 Template:Fat-Free Framework version Template:Fat-Free Framework version GPLv3
FuelPHP 2011-08 Template:FuelPHP version Template:FuelPHP version MIT
Gyroscope 2008-11-20 20.4[8] 2023-11-24 BSD
Jamroom 2003-07-28 Template:Jamroom version Template:Jamroom version MPL
Kajona 2006 6.2[9] 2017-06-08 LGPLv2
Laminas (formerly Zend Framework) 2006-03 3.8.0[10] 2024-11-21 New BSD
Laravel 2011-07-31 Template:Laravel version Template:Laravel version MIT
Li3 (Lithium) 2009-10 Template:Li3 (software) version Template:Li3 (software) version BSD
Phalcon 2012-11-14 5.10.0[11] 2025-12-25 BSD
Pop PHP 2012-03-19 6.0.0[12] 2025-11-03 BSD Licence
PRADO 2004-01 4.1.1[13] 2020-03-27[±] New BSD[14]
SilverStripe 2007-02-03 Template:SilverStripe version Template:SilverStripe version BSD
Smart.Framework 2015-02-01 Template:Smart Framework PHP version Template:Smart Framework PHP version BSD
Symfony 2005-10 Template:Symfony version Template:Symfony version MIT
Yii 2008-12-03 Template:Yii version Template:Yii version New BSD

Python

Project Current stable version Release date License
BlueBream Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. ZPL
CherryPy Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. BSD
CubicWeb Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. LGPL
Django Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. BSD
FastAPI Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT
Flask Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. BSD
Google App Engine Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. LGPL, Proprietary
Grok Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. ZPL
Gunicorn Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT
Pylons Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. BSD
Pyramid Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. BSD
Tornado Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. Apache
TurboGears Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT, LGPL
web2py Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. LGPL3
Zope 2 Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. ZPL

Ruby

Project Current stable version Release date License
Padrino 0.14.4 2019-01-14[15] MIT
Ruby on Rails Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT
Sinatra Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. MIT

Scala

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

Others

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[16] 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[17] MIT and AGPL
OpenACS Tcl 5.10.1[18] 2024-09-03 GPL
Rocket Rust 0.5.1[19] 2024-05-23 MIT or Apache
Tokio Rust 1.48.0[20] 2025-10-14 MIT
Seaside Smalltalk 3.5.9[21] 2024-10-20 MIT

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
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 Quick & cbORM Yes via TestBox Yes Yes CFML Yes Yes

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
Grails Groovy Yes Yes Push Yes GORM, Hibernate Unit tests, integration test, functional test multiple plugins: autobase, dbmigrate, more Spring Security,[22] Apache Shiro[23] 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

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)
Analog Yes via
Angular
Yes Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Express.js N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Fastify N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Meteor N/A N/A N/A N/A MongoDB N/A N/A N/A N/A N/A N/A
NestJS N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Next.js Yes via
React
Partial via
Flux
No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Nuxt Yes via
Vue.js
Yes Unknown Unknown Unknown Yes via
Vue.js
Unknown Unknown Yes via
Vue.js
Unknown Unknown
Remix Yes via
React
Partial via
Flux
No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Sails.js Yes Yes Unknown Unknown Yes Unknown Unknown Unknown Unknown Unknown Unknown
SvelteKit Yes via
Svelte
Yes Unknown Unknown Unknown Unknown Unknown Unknown Yes via
Svelte
Unknown Unknown

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
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 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 ≥ 8.2[24] 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[25] Any Yes Push Mostly[26] Third party only Ready for next release, Unit tests for v.4 and up Yes Yes Yes Yes Yes No[27] Yes Templates
Fat-Free Framework ≥ 5.4[28] 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[29] 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[30] 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[31] Any Yes Push Yes Yes PHPUnit, Selenium, Jasmine Yes Yes Yes APC, Database, File Yes Yes Yes Bootstrap
Laminas (formerly Zend Framework) ≥ 7.3[32] 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[33] Any Yes Push Yes Eloquent PHPUnit Yes Yes Yes APC, Database, File, Memcache, Redis Yes Yes Yes Yes
Li3 (Lithium) ≥ 8.0[34] 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[35] Any Yes Push Yes Yes Codeception PHPUnit Yes Yes Volt, PHP APC, Memcache, Memory, Redis, Redis Cluster, File Yes Yes Yes ?
Pop PHP ≥ 8.3 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[36] Prototype, script.aculo.us, own components[37] 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[37] APC, Database, eAccelerator, Memcached, XCache Yes[37] Yes[37] ? ?
SilverStripe (Sapphire) ≥ 7.1[38] 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.4[39] 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[40] 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[41] Any Yes Push-pull Yes Yes Yes Partial Yes TYPO3 Fluid Yes Yes Plugin exists Plugin exists ?
Yii ≥ 5.4[42] 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[43] ? ?

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.*
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
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[44]
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)
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

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[45] FlexUnit
Lift Scala Yes Yes Pull Yes Yes ScalaTest, Selenium[46] 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)

See also

Lists of frameworks for frontend development:

Other:

References

  1. "Version 4.11.2". Github. Retrieved 4 September 2019.
  2. "Download - Castle Project". castleproject.org. Archived from the original on 2017-06-07. Retrieved 2015-01-02. Unknown parameter |url-status= ignored (help)
  3. "CppCMS Blog". Blog.cppcms.com. Archived from the original on 2013-08-03. Retrieved 2023-11-04. Unknown parameter |url-status= ignored (help)
  4. "drogonframework/drogon". GitHub. Retrieved 2024-07-10.
  5. "Wt: Release notes". www.webtoolkit.eu. Archived from the original on 2017-08-06. Retrieved 2024-07-10. Unknown parameter |url-status= ignored (help)
  6. "snapframework/snap". github.com.
  7. "WaveMaker 11.6.0 - Release date: 03 March 2024 | WaveMaker Docs". www.wavemaker.com. 2024-03-04. Retrieved 2024-03-06.
  8. "Antradar Downloads". antradar.com. 2023-11-24. Archived from the original on 2023-11-29. Retrieved 2023-12-24. Unknown parameter |url-status= ignored (help)
  9. "Releases". github.com. Archived from the original on 29 July 2017. Retrieved 10 June 2017. Unknown parameter |url-status= ignored (help)
  10. "Release 3.8.0 · laminas/laminas-mvc". GitHub. Retrieved 2025-06-19.
  11. "phalcon/cphalcon". github.com. Retrieved 2026-01-19.
  12. "Releases - popphp/popphp-framework". github.com. 2019-10-17. Archived from the original on 2020-10-20. Retrieved 2019-05-30. Unknown parameter |url-status= ignored (help)
  13. "PRADO PHP Framework". prafoframework.net. Retrieved 9 June 2020.
  14. "License of PRADO". pradosoft.com. 2013. Archived from the original on 2013-10-16. Retrieved 2013-10-16. Unknown parameter |url-status= ignored (help)
  15. "Padrino 0.14.4 release". Padrino. Retrieved 5 September 2019.
  16. "Introducing Grails Framework 6.2.2 Release". grails.org. Retrieved 2024-12-29.
  17. "The Opa Blog: Some great news on Opa". Blog.opalang.org. Archived from the original on 2013-02-28. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  18. "OpenACS Home". openacs.org. Archived from the original on 2024-12-18. Retrieved 2024-12-30. Unknown parameter |url-status= ignored (help)
  19. "Releases · rwf2/Rocket". GitHub.
  20. "Release Tokio v1.48.0 · tokio-rs/Tokio". GitHub.
  21. "Releases · SeasideSt/Seaside · GitHub". GitHub. 25 October 2024. Archived from the original on 29 July 2017. Retrieved 19 July 2021. Unknown parameter |url-status= ignored (help)
  22. "Grails Plugin: Spring Security Core Plugin". Grails.org. 2012-04-06. Archived from the original on 2013-08-23. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  23. "Grails Plugin: Apache Shiro Integration for Grails". Grails.org. 2012-04-11. Archived from the original on 2013-08-23. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  24. "Installation - 5.x". book.cakephp.org. Retrieved 2026-01-19. Unknown parameter |url-status= ignored (help)
  25. "Server Requirements — CodeIgniter 4 documentation". codeigniter.com. Retrieved 2025-02-23.
  26. "Language helper included, must activate & set desired language by parsing HTTP headers". Codeigniter.com. Archived from the original on 2012-11-08. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  27. "Change Log : CodeIgniter User Guide". EllisLab, Inc. Archived from the original on 15 May 2015. Retrieved 19 March 2012. Unknown parameter |url-status= ignored (help)
  28. "Getting Started - Fat-Free Framework for PHP". fatfreeframework.com. Archived from the original on 2025-02-23. Retrieved 2025-02-23. Unknown parameter |url-status= ignored (help)
  29. "Requirements - FuelPHP Documentation". fuelphp.com. Archived from the original on 2020-11-26. Retrieved 2020-12-02. Unknown parameter |url-status= ignored (help)
  30. "Replacing nano.js in Gyroscope". antradar.com. 2014-05-20. Archived from the original on 2016-09-28. Retrieved 2015-08-20. Unknown parameter |url-status= ignored (help)
  31. "Kajona 6.2 shifts the focus to PHP 7". www.kajona.de. Archived from the original on 2020-01-18. Retrieved 2020-12-02. Unknown parameter |url-status= ignored (help)
  32. "Zend/Laminas Drops PHP support prior to 7.3". GitHub. Retrieved 2021-01-06.
  33. "Laravel - The PHP Framework For Web Artisans". laravel.com. Archived from the original on 2021-02-07. Retrieved 2022-04-23. Unknown parameter |url-status= ignored (help)
  34. UnionOfRAD. "lithium/CHANGELOG.md at 2.0 · UnionOfRAD/lithium". GitHub. Retrieved 2026-01-19.
  35. "Phalcon v5.8 supports only PHP 8.0 and above".
  36. "PRADO PHP Framework". www.pradoframework.net. Archived from the original on 2022-05-26. Retrieved 2022-04-23. Unknown parameter |url-status= ignored (help)
  37. 37.0 37.1 37.2 37.3 "PRADO QuickStart Tutorial". Pradosoft.com. Archived from the original on 2013-09-28. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  38. "Server Requirements". docs.silverstripe.org. Archived from the original on 2022-12-21. Retrieved 2020-12-02. Unknown parameter |url-status= ignored (help)
  39. "Smart.Framework: a practical, modern and high performance PHP / JavaScript Framework for Web featuring Middlewares + MVC". GitHub. Archived from the original on 2022-04-23. Retrieved 2026-01-19. Unknown parameter |url-status= ignored (help)
  40. "Installing & Setting up the Symfony Framework (Symfony Docs)". symfony.com. Archived from the original on 2022-09-25. Retrieved 2022-09-25. Unknown parameter |url-status= ignored (help)
  41. "Download TYPO3 - get.typo3.org". get.typo3.org. Archived from the original on 2019-01-28. Retrieved 2020-12-02. Unknown parameter |url-status= ignored (help)
  42. "Getting Started: Installing Yii". Yii Framework. Retrieved 2020-12-02.
  43. "Initial Prototyping: Scaffolding | Building a Blog System Using Yii | Yii PHP Framework". Yiiframework.com. Archived from the original on 2013-07-24. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  44. "invalid function (default/images)". Web2py.com. Archived from the original on 2019-03-28. Retrieved 2019-03-21. Unknown parameter |url-status= ignored (help)
  45. "URLRequest - Adobe ActionScript 3 (AS3 ) API Reference". Livedocs.adobe.com. 2013-07-01. Archived from the original on 2009-02-12. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)
  46. "ScalaTest". ScalaTest. Archived from the original on 2013-11-05. Retrieved 2013-08-18. Unknown parameter |url-status= ignored (help)


This article "Comparison of server-side web frameworks" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Comparison of server-side web frameworks. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.