Comparison of server-side web frameworks

This article or section possibly contains synthesis of material which does not verifiably mention or relate to the main topic. (February 2026) (Learn how and when to remove this template message)

|

Short description: none

Programming language comparisons

* General comparison
* Assignment
* Basic syntax
* Basic instructions
* Comments
* Control flow
* Foreach loops
* While loops
* For loops
* Do-while
* Exception handling
* Enumerated types
* Generators
* Anonymous functions
* Conditional expressions
* Functional instructions
* Arrays
* Associative arrays
* Scope
* String operations
* String functions
* Higher-order functions
* Type systems
* List comprehension
* Object-oriented programming
* Object-oriented constructors
* Operators

* Evaluation strategy
* List of "Hello World" programs

* Languages with dependent types
* Comparison of type systems

* * *

Comparison of individual languages

* ALGOL 58's influence on ALGOL 60
* ALGOL 60: Comparisons with other languages
* Comparison of ALGOL 68 and C++
* ALGOL 68: Comparisons with other languages
* Compatibility of C and C++
* Comparison of Pascal and Borland Delphi
* Comparison of Object Pascal and C
* Comparison of Pascal and C
* Comparison of Java and C++
* Comparison of C# and Java
* Comparison of C# and Visual Basic .NET
* Comparison of Visual Basic and Visual Basic .NET

* v
* t
* e

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.

## Contents

* 1 General
* 1.1 ASP.NET
* 1.2 C++
* 1.3 ColdFusion Markup Language (CFML)
* 1.4 Elixir
* 1.5 Haskell
* 1.6 Java
* 1.7 JavaScript
* 1.8 Perl
* 1.9 PHP
* 1.10 Python
* 1.11 Ruby
* 1.12 Scala
* 1.13 Others
* 2 Comparison of features
* 2.1 C++
* 2.2 ColdFusion Markup Language (CFML)
* 2.3 Java
* 2.4 JavaScript
* 2.5 Perl
* 2.6 PHP
* 2.7 Python
* 2.8 Ruby
* 2.9 Others
* 3 See also
* 4 References

## General

Basic information about each framework.

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

### ASP.NET

See also: Software:ASP.NET, Software:ASP.NET Core, and List of CLI languages

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++

See also: 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)

See also: ColdFusion Markup Language and Adobe ColdFusion

Project  | Current stable version  | Release date  | License

|
|
|

ColdBox Platform | Template:ColdBox Platform version | Template:ColdBox Platform version | Apache v2

### Elixir

See also: Elixir (programming language)

Project  | Current stable version  | Release date  | License

|
|
|

Phoenix |  | ; 0 seconds ago  | MIT License

### Haskell

See also: 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

See also: Java (programming language) and Java (software platform)

Project  | Current stable version  | Release date  | License

|
|
|

Apache Click | 2.3.0  | 2011-03-27  | Apache 2.0
Apache OFBiz |  | ; 0 seconds ago  | Apache 2.0
Apache Shale  | 1.0.4  | 2007-12-19  | Apache
Apache Sling | 12  | 2022-03-18  | Apache 2.0
Apache Struts |  | ; 0 seconds ago  | Apache 2.0
Apache Tapestry |  | ; 0 seconds ago  | Apache 2.0
Apache Wicket |  | ; 0 seconds ago  | Apache 2.0
AppFuse | 3.5.0  | 2015-02-20  | Apache 2.0
Eclipse Mojarra (Jakarta Faces RI)  |  | ; 0 seconds ago  | CDDL, GNU GPL 2, Apache 2.0
Eclipse RAP | 4.1  | 2024-12-04  | Eclipse
Grails |  | ; 0 seconds 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 |  | ; 0 seconds ago  | GPL, Proprietary
Netty |  | ; 0 seconds 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 |  | ; 0 seconds ago  | Apache 2.0
Spring |  | ; 0 seconds ago  | Apache 2.0
Stripes | 1.6.0  | 2015-07-23  | Apache
Vaadin |  | ; 0 seconds ago  | Apache 2.0
Wavemaker  | 11.6.0[7] | 2024-03-03  | Apache
WebObjects | 5.4.3  | 2008-09-15  | Proprietary

### JavaScript

See also: JavaScript and Comparison of JavaScript-based web frameworks

Project | Current stable version | Release date | License

|
|
|

Analog  |  | ; 0 seconds ago  | MIT License
Express.js |  | ; 0 seconds ago  | MIT License
Fastify |  | ; 0 seconds ago  | MIT License
Meteor |  | ; 0 seconds ago  | MIT License
NestJS |  | ; 0 seconds ago  | MIT License
Next.js |  | ; 0 seconds ago  | MIT License
Nuxt |  | ; 0 seconds ago  | MIT License
Remix  |  | ; 0 seconds ago  | MIT License
Sails.js |  | ; 0 seconds ago  | MIT License
SvelteKit |  | ; 0 seconds ago  | MIT License

### Perl

See also: 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

See also: 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
Laminas (formerly Zend Framework)  | 2006-03  | 3.8.0[9] | 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[10] | 2025-12-25  | BSD
Pop PHP | 2012-03-19  | 6.0.0[11] | 2025-11-03  | BSD Licence
PRADO | 2004-01  | Template:PRADO (framework) version | Template:PRADO (framework) version | New BSD[12]
SilverStripe | 2007-02-03  | 4.5.1[13] | 2020-02-17[±] | 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

See also: Python (programming language) and List of Python software § Web frameworks

Project  | Current stable version  | Release date  | License

|
|
|

BlueBream |  | ; 0 seconds ago  | ZPL
CherryPy |  | ; 0 seconds ago  | BSD
CubicWeb |  | ; 0 seconds ago  | LGPL
Django |  | ; 0 seconds ago  | BSD
FastAPI  |  | ; 0 seconds ago  | MIT
Flask |  | ; 0 seconds ago  | BSD
Google App Engine |  | ; 0 seconds ago  | LGPL, Proprietary
Grok |  | ; 0 seconds ago  | ZPL
Gunicorn |  | ; 0 seconds ago  | MIT
Pylons |  | ; 0 seconds ago  | BSD
Pyramid |  | ; 0 seconds ago  | BSD
Tornado |  | ; 0 seconds ago  | Apache
TurboGears |  | ; 0 seconds ago  | MIT, LGPL
web2py |  | ; 0 seconds ago  | LGPL3
Zope 2 |  | ; 0 seconds ago  | ZPL

### Ruby

See also: Ruby (programming language)

Project  | Current stable version  | Release date  | License

|
|
|

Padrino | 0.14.4  | 2019-01-14[14] | MIT
Ruby on Rails |  | ; 0 seconds ago  | MIT
Sinatra |  | ; 0 seconds ago  | MIT

### Scala

See also: Scala (programming language)

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

See also: JavaScript and Comparison of JavaScript-based web frameworks

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[23] | 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[24] | Any  | Yes  | Push  | Mostly[25] | Third party only  | Ready for next release, Unit tests for v.4 and up  | Yes  | Yes  | Yes  | Yes  | Yes  | No[26] | Yes  | Templates
Fat-Free Framework | ≥ 5.4[27] | 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[28] | 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[29] | 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
Laminas (formerly Zend Framework)  | ≥ 7.3[30] | 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[31] | Any  | Yes  | Push  | Yes  | Eloquent  | PHPUnit | Yes  | Yes  | Yes  | APC, Database, File, Memcache, Redis | Yes  | Yes  | Yes  | Yes
Li3 (Lithium)  | ≥ 8.0[32] | 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[33] | 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[34] | Prototype, script.aculo.us, own components[35] | 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[35] | APC, Database, eAccelerator, Memcached, XCache  | Yes[35] | Yes[35] | ?  | ?
SilverStripe (Sapphire)  | ≥ 7.1[36] | jQuery, jQuery UI  | Yes  | Push-pull  | Yes  | Active record pattern  | Unit tests, Selenium | Automatic  | incl. OpenID  | Themes  | Yes  | Yes  | Yes  | Yes  | Yes
Smart.Framework | ≥ 7.4[37] | 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[38] | 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[39] | Any  | Yes  | Push-pull  | Yes  | Yes  | Yes  | Partial  | Yes  | TYPO3 Fluid  | Yes  | Yes  | Plugin exists  | Plugin exists  | ?
Yii | ≥ 5.4[40] | 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[41] | ?  | ?

### 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
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
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[42]
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[43] |  |  |  |  | FlexUnit  |  |  |  |  |
Lift | Scala | Yes  | Yes  | Pull  | Yes  | Yes  | ScalaTest, Selenium[44] | 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:

* Comparison of JavaScript-based web frameworks
* CSS framework

Other:

* Common Gateway Interface, used before web frameworks
* Comparison of shopping cart software
* Content management system
* Dynamic web page
* Java view technologies and frameworks
* List of content management systems
* List of rich web application frameworks
* List of web service frameworks

## References

1. ↑ "Version 4.11.2". Github. https://github.com/MarimerLLC/csla/releases/tag/v4.11.2.
2. ↑ "Download - Castle Project". http://www.castleproject.org/download/.
3. ↑ "CppCMS Blog". Blog.cppcms.com. http://blog.cppcms.com/.
4. ↑ "drogonframework/drogon" (in en). https://github.com/drogonframework/drogon/tags.
5. ↑ "Wt: Release notes". https://www.webtoolkit.eu/wt/doc/reference/html/Releasenotes.html.
6. ↑ "snapframework/snap". https://github.com/snapframework/snap/tags.
7. ↑ "WaveMaker 11.6.0 - Release date: 03 March 2024 | WaveMaker Docs" (in en). 2024-03-04. https://www.wavemaker.com/learn/wavemaker-release-notes/v11-6-0.
8. ↑ "Antradar Downloads". 2023-11-24. http://www.antradar.com/download.php.
9. ↑ "Release 3.8.0 · laminas/laminas-mvc" (in en). https://github.com/laminas/laminas-mvc/releases/tag/3.8.0.
10. ↑ "phalcon/cphalcon". github.com. https://github.com/phalcon/cphalcon/releases.
11. ↑ "Releases - popphp/popphp-framework". github.com. 2019-10-17. https://github.com/popphp/popphp-framework/releases.
12. ↑ "License of PRADO". pradosoft.com. 2013. http://www.pradosoft.com/license/.
13. ↑ "Stable Download". silverstripe.org. https://www.silverstripe.org/download. Retrieved 2020-02-18.
14. ↑ "Padrino 0.14.4 release". https://padrinorb.com/blog/padrino-0-14-4/.
15. ↑ "Introducing Grails Framework 6.2.2 Release". https://grails.org/blog/2024-11-20-introducing-grails-6-2-2.html.
16. ↑ "The Opa Blog: Some great news on Opa". Blog.opalang.org. http://blog.opalang.org/2013/02/some-great-news-on-opa.html.
17. ↑ "OpenACS Home". https://openacs.org/news/item?item_id=6173612.
18. ↑ "Releases · rwf2/Rocket". https://github.com/rwf2/Rocket/releases.
19. ↑ "Release Tokio v1.48.0 · tokio-rs/Tokio". https://github.com/tokio-rs/tokio/releases/tag/tokio-1.48.0.
20. ↑ "Releases · SeasideSt/Seaside · GitHub". 25 October 2024. https://github.com/SeasideSt/Seaside/releases.
21. ↑ "Grails Plugin: Spring Security Core Plugin". Grails.org. 2012-04-06. http://grails.org/plugin/spring-security-core.
22. ↑ "Grails Plugin: Apache Shiro Integration for Grails". Grails.org. 2012-04-11. http://grails.org/plugin/shiro.
23. ↑ "Installation - 5.x". https://book.cakephp.org/5/en/installation.html.
24. ↑ "Server Requirements — CodeIgniter 4 documentation". https://codeigniter.com/user_guide/intro/requirements.html.
25. ↑ "Language helper included, must activate & set desired language by parsing HTTP headers". http://codeigniter.com/user_guide/libraries/language.html.
26. ↑ "Change Log : CodeIgniter User Guide". EllisLab, Inc.. http://codeigniter.com/user_guide/changelog.html.
27. ↑ "Getting Started - Fat-Free Framework for PHP". https://fatfreeframework.com/3.9/getting-started.
28. ↑ "Requirements - FuelPHP Documentation". https://fuelphp.com/docs/requirements.html.
29. ↑ "Replacing nano.js in Gyroscope". antradar.com. 2014-05-20. http://www.antradar.com/blog-replacing-nano-js-gyroscope.
30. ↑ "Zend/Laminas Drops PHP support prior to 7.3" (in en). https://github.com/laminas/laminas-migration/pull/55.
31. ↑ "Laravel - The PHP Framework For Web Artisans" (in en). https://laravel.com/.
32. ↑ UnionOfRAD. "lithium/CHANGELOG.md at 2.0 · UnionOfRAD/lithium" (in en). https://github.com/UnionOfRAD/lithium/blob/2.0/CHANGELOG.md.
33. ↑ "Phalcon v5.8 supports only PHP 8.0 and above.". https://docs.phalcon.io/5.8/installation.
34. ↑ "PRADO PHP Framework". http://www.pradoframework.net/site/.
35. ↑ 35.0 35.1 35.2 35.3 "PRADO QuickStart Tutorial". Pradosoft.com. http://www.pradosoft.com/demos/quickstart/?page=ActiveControls.Home.
36. ↑ "Server Requirements" (in en). https://docs.silverstripe.org/en/4/getting_started/server_requirements/.
37. ↑ "Smart.Framework: a practical, modern and high performance PHP / JavaScript Framework for Web featuring Middlewares + MVC". https://github.com/unix-world/Smart.Framework.
38. ↑ "Installing & Setting up the Symfony Framework (Symfony Docs)" (in en). https://symfony.com/doc/current/setup.html.
39. ↑ "Download TYPO3 - get.typo3.org". https://get.typo3.org/.
40. ↑ "Getting Started: Installing Yii" (in en). https://www.yiiframework.com/doc/guide/2.0/en/start-installation.
41. ↑ "Initial Prototyping: Scaffolding | Building a Blog System Using Yii | Yii PHP Framework". Yiiframework.com. http://www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold.
42. ↑ "invalid function (default/images)". Web2py.com. http://web2py.com/init/default/what.
43. ↑ "URLRequest - Adobe ActionScript 3 (AS3 ) API Reference". Livedocs.adobe.com. 2013-07-01. http://livedocs.adobe.com/flex/3/langref/flash/net/URLRequest.html.
44. ↑ "ScalaTest". ScalaTest. http://www.scalatest.org/user_guide/using_selenium.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Comparison of server-side web frameworks. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Comparison_of_server-side_web_frameworks&oldid=4344676"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template