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

ProjectCurrent stable versionRelease dateLicense
ASP.NET Dynamic Data
Base One Foundation Component Library (BFC)7.512018-06-01Proprietary
Component-based Scalable Logical Architecture (CSLA)4.11.22019-07-31MIT
MonoRail2.12011-03-17Apache

C++

ProjectCurrent stable versionRelease dateLicense
CppCMS2.0.12025-11-02MIT
Drogon1.9.52024-06-08MIT
Poco1.15.12026-03-24[±]Boost Software License
Wt4.10.42024-03-06GPL, Proprietary

ColdFusion Markup Language (CFML)

ProjectCurrent stable versionRelease dateLicense
ColdBox Platform7.3.02024-05-14[±]Apache v2

Elixir

ProjectCurrent stable versionRelease dateLicense
Phoenix1.8.02025-08-05; 8 months agoMIT License

Haskell

ProjectCurrent stable versionRelease dateLicense
Snap1.1.3.22023-07-19BSD-3
Yesod1.6.24.52023-09-14; 2 years agoMIT License

Java

ProjectCurrent stable versionRelease dateLicense
Apache Click2.3.02011-03-27Apache 2.0
Apache OFBiz24.09.052026-01-14; 3 months agoApache 2.0
Apache Shale1.0.42007-12-19Apache
Apache Sling122022-03-18Apache 2.0
Apache Struts7.1.12025-10-01; 6 months agoApache 2.0
Apache Tapestry5.9.02025-02-11; 14 months agoApache 2.0
Apache Wicket10.5.02025-04; 12 months agoApache 2.0
AppFuse3.5.02015-02-20Apache 2.0
Eclipse Mojarra (Jakarta Faces RI)4.1.02024-06-05; 22 months agoCDDL, GNU GPL 2, Apache 2.0
Eclipse RAP4.12024-12-04Eclipse
Grails7.1.02026-04-12; 5 days agoApache
Google Web Toolkit2.12.22025-03-03Apache 2.0
JBoss Seam3.1.0 final2012-01-13GNU LGPL
JWt4.13.12026-04-15; 2 days agoGPL, Proprietary
Netty4.2.92025-12-15; 4 months agoApache License 2.0
OpenLaszlo4.9.02010-10-21CPL
Oracle ADF12.2.1.42019-10-09Oracle Technology Network Developer License
Play3.0.92025-09-11; 7 months agoApache 2.0
Spring7.0.52026-02-18; 58 days agoApache 2.0
Stripes1.6.02015-07-23Apache
Vaadin25.0.02025-12-18; 3 months agoApache 2.0
Wavemaker11.6.02024-03-03Apache
WebObjects5.4.32008-09-15Proprietary

JavaScript

ProjectCurrent stable versionRelease dateLicense
Analog2.4.82026-04-16; 33 hours agoMIT License
Express.js5.2.12025-12-01; 4 months agoMIT License
Fastify5.8.52026-04-14; 3 days agoMIT License
Meteor3.32025-06-17; 10 months agoMIT License
NestJS11.1.192026-04-13; 4 days agoMIT License
Next.js16.2.42026-04-15; 2 days agoMIT License
Nuxt4.4.02026-03-12; 36 days agoMIT License
Remix7.1.12024-12-23; 15 months agoMIT License
Sails.js1.5.112024-05-24; 22 months agoMIT License
SvelteKit1.15.52023-04-13; 3 years agoMIT License

Perl

ProjectCurrent stable versionRelease dateLicense
Catalyst5.901312023-07-20[±]Artistic, GPL
Dancer2.0.12025-10-22[±]Artistic, GPL
Maypole2.132008-04-18Artistic, GPL
Mojolicious9.422025-10-91[±]Artistic

PHP

ProjectStart dateCurrent stable versionRelease dateLicense
CakePHP2005-085.3.32026-03-19;29 days agoMIT
CodeIgniter2006-02-284.6.42025-12-12;4 months agoMIT
Fat-Free2009-093.9.22025-12-02[±]GPLv3
FuelPHP2011-081.9.02021-12-28[±]MIT
Gyroscope2008-11-2020.42023-11-24BSD
Jamroom2003-07-287.0.22025-02-16[±]MPL
Laminas (formerly Zend Framework)2006-033.8.02024-11-21New BSD
Laravel2011-07-3113.5.02026-04-14; 3 days agoMIT
Li3 (Lithium)2009-102.0.22025-08-18[±]BSD
Phalcon2012-11-145.10.02025-12-25BSD
Pop PHP2012-03-196.0.02025-11-03BSD Licence
PRADO2004-014.3.12025-05-21[±]New BSD
SilverStripe2007-02-035.3.02024-11-04[±]BSD
Smart.Framework2015-02-01svn.27552026-01-17[±]BSD
Symfony2005-108.0.02025-11-27[±]MIT
Yii2008-12-033.02025-12-31[±]New BSD

Python

ProjectCurrent stable versionRelease dateLicense
BlueBream1.02011-01-18; 15 years agoZPL
CherryPy18.10.02024-06-15; 22 months agoBSD
CubicWeb4.8.02024-05-21; 22 months agoLGPL
Django6.02025-12-03; 4 months agoBSD
FastAPI0.136.02026-04-16; 33 hours agoMIT
Flask3.1.32026-02-19; 57 days agoBSD
Google App Engine1.9.912020-05-11; 5 years agoLGPL, Proprietary
Grok6.22026-02-16; 60 days agoZPL
Gunicorn25.3.02026-03-26; 22 days agoMIT
Pylons1.0.22015-07-22; 10 years agoBSD
Pyramid2.12026-03-11; 37 days agoBSD
Tornado6.5.52026-03-10; 38 days agoApache
TurboGears2.5.02025-02-18; 13 months agoMIT, LGPL
web2py3.1.12025-12-19; 3 months agoLGPL3
Zope 25.132025-03-18; 12 months agoZPL

Ruby

ProjectCurrent stable versionRelease dateLicense
Padrino0.14.42019-01-14MIT
Ruby on Rails8.1.32026-03-24; 24 days agoMIT
Sinatra4.2.12025-10-10; 6 months agoMIT

Scala

ProjectCurrent stable versionRelease dateLicense
Lift3.4.32020-11-28Apache 2.0
Play2.8.82021-04-08Apache 2.0
Scalatra2.8.12021-09-25BSD

Others

ProjectLanguageCurrent stable versionRelease dateLicense
AIDA/WebSmalltalk6.72014-09-14MIT
Oracle APEXPL/SQL22.22022-11-10Proprietary freeware
FlexActionScript, MXML4.16.12019-11-23Apache
GrailsGroovy (JVM)6.2.22024-11-20Apache
MorfikC#, BASIC, Pascal, Java3.0.8.12010-12-13Proprietary freeware
OpaOpa1.1.12013-04-16MIT and AGPL
OpenACSTcl5.10.12024-09-03GPL
RocketRust0.5.12024-05-23MIT or Apache
TokioRust1.48.02025-10-14MIT
SeasideSmalltalk3.5.92024-10-20MIT

Comparison of features

C++

ProjectAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
CppCMSYesYesPushYesCppDBNoNoYesYesYesYes
WtYesYesPush & PullYesWt::DboBoost.testYesYesNoYes

ColdFusion Markup Language (CFML)

ProjectAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
ColdBox PlatformYesYesPush-pullYesQuick & cbORMYes via TestBoxYesYesCFMLYesYes

Java

ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
Apache ClickJavajQueryPage orientedPullYesHibernate, CayenneYespluggableVelocity, JSPCached templatesBuilt-in validation
Apache OFBizJava, Groovy, XML,jQueryYesPush-pullYesEntity Engine (Internal kind of ORM, not really ORM, notably used by Atlassian Jira)JUnitEntity Engine Tools, Data File Tool, CSV Parser, Apache POIInternal Security framework based on OWASPFreemarker (Recommended), Velocity (Support Available), JSP (Support Available)Internal Cache Maintenance with Distributed Cache Clearing for clustersServer side validation, Client Side Validation (JQuery)
Apache SlingJavaYesYesPush-pullUses JCR content repositoryYesYesYes
Apache StrutsJavaYesYesPush-pullYesYesUnit testsYesYes
Apache TapestryJavaPrototype, jQueryYesPullYesJPA, Hibernate, CayenneSelenium, TestNG, JUnitSpring Security, ShiroYeswith extensionsNative or Bean Validation
Apache WicketJavaExtensions for YUI, ExtJS, moreNo (Modular event-driven)PullYeswith extensionsMock objects, unit and integration tests via extensionYesYesYesYes
GrailsGroovyYesYesPushYesGORM, HibernateUnit tests, integration test, functional testmultiple plugins: autobase, dbmigrate, moreSpring Security, Apache ShiroYesYesYes
JavaServer FacesJavaYesYesPullYesJPA, Hibernate and any other Java EE ORM frameworkJUnitYesFacelets, JSPYesNative validators, integration with Bean Validation
ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
JBoss SeamJavaYesYesPullYesJPA, HibernateJUnit, TestNGJAAS integration, Drools, Hibernate Filters, OpenID, CAPTCHAFaceletsJBoss Cache, EhcacheHibernate Validator
JWtJavaYesYesPush-pullYesYesYesYes
PlayJava, ScalaYesYesPush-pullYesJPA, HibernateJUnit, SeleniumYesvia Core Security moduleYesYesServer-side validation
SpringJavaYesYesPushYesHibernate, iBatis, moreMock objects, unit testsSpring Security (formerly Acegi)JSP, Commons Tiles, Velocity, Thymeleaf, moreEhcache, moreCommons validator, Bean Validation
StripesJavaYesYesPullYesJPA, HibernateYesframework extensionYesYes
VaadinJavaGWTPush-pullYesYesYesYesYes
WavemakerJavaScript (client), Java (server)Dojo ToolkitYesPushDojo ToolkitHibernateJUnitHibernateSpring Security (formerly Acegi), role-based access controlDojo ToolkitDojo ToolkitRegular expression, schema-driven validation
ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
WebObjectsJavaYesYesPush-pullYesEOFWOUnit (JUnit), TestNG, Seleniumin Project WONDERYesYesYes
Google Web ToolkitJava, JavaScriptYesYesJPA with RequestFactoryJUnit (too early), jsUnit (too difficult), Selenium (best)via JavaYesBean Validation
ZKJava, ZUMLjQueryYesPush-pullYesany J2EE ORM frameworkJUnit, ZATSHibernateUtil, SpringUtilSpring SecurityMacro components & compositionYesclient, server

JavaScript

ProjectAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
AnalogYes via AngularYesUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
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/aMongoDB—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.jsYes via ReactPartial via FluxNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
NuxtYes via Vue.jsYesUnknownUnknownUnknownYes via Vue.jsUnknownUnknownYes via Vue.jsUnknownUnknown
RemixYes via ReactPartial via FluxNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Sails.jsYesYesUnknownUnknownYesUnknownUnknownUnknownUnknownUnknownUnknown
SvelteKitYes via SvelteYesUnknownUnknownUnknownUnknownUnknownUnknownYes via SvelteUnknownUnknown

Perl

ProjectAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
CatalystToolkit-independent (REST & JSON support, specific plugins for Prototype JavaScript Framework, more)YesPush in its most common usageYesDBIx::Class, Rose::DB::Object, moreSupports Perl testing standards, Test Anything Protocol (TAP)?ACL-based, external engines, moreTemplate::Toolkit, HTML::Template, HTML::Mason, PHP and any extant Perl template engineCache, Memcached, shared memory, moreHTML::FormHandler HTML::FormFu, HTML::FormValidator, more
DancerYesYesPushYesDBIx::Class, ORMesqueYes??Template::Toolkit, HTML::Mason, Text::MicroTemplate, any extant Perl template engineCache, Memcached, shared memory, moreDataFu, any extant Perl form validation software
Maypole???????????
MojoliciousToolkit-independent (REST & JSON support)No explicit model support though commonly used as MVCPushYesCommonly used with DBIx::ClassTest::Mojo?Signed session cookieBuilt-in Perl templating, Template::Toolkit and several others via plugins?Not explicitly, use any Perl Modules

PHP

ProjectPHP versionAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)ScaffoldingRADMobility
CakePHP≥ 8.2AnyYesYes, Push & CellsYesORM, Data Mapper Pattern, SQL Relational Algebra Abstraction LayerUnit tests, object mocking, fixtures, code coverage, memory analysis with PHPUnit and Xdebug and Continuous Integration via TravisYesCRUD based, ACL-based, Multiple PluginsThemes, Layouts, Cells, Views, Elements, Plugins for Twig, Bootstrap, etc.Memcache, Redis, XCache, APC, FileValidation via Contexts (Table (DAO), Entity (VO) & Controller), CSRF ProtectionPlugin CRUDCake BakeMobile Agent Detection, Layouts
CodeIgniter≥ 8.1AnyYesPushMostlyThird party onlyReady for next release, Unit tests for v.4 and upYesYesYesYesYesNoYesTemplates
Fat-Free Framework≥ 5.4AnyMVC, RMRPush-pullYesData mappers for SQL, MongoDB, Flat-FileBuilt-inYesYesYesAPC, Memcache, XCache, WinCache, and FilesystemYesNo??
FuelPHP≥ 5.3.3YesMVC, HMVCPushYesYesPHPUnitYesYes, Plugins availableYes, Plugins availableFile, Redis, Memcache, moreYesYes??
Gyroscope≥ 5.4nano.js, replaceableLCHHPush-pullMostlyData-source agnosticNoBuilt-in Schema comparison tool and UDF editorACL-based, replaceableImplementation-specific; helper functions and theme templates availableAPC, MemcacheYesInteractive code generatorYesDedicated mobile and tablet layouts, landscape-portrait transformation
Laminas (formerly Zend Framework)≥ 7.3Toolkit-independentYesPush-pullYesTable and row data gateway or DoctrineUnit tests, PHP Unit or other independentYesACL-basedYesAPC, Database, File, Memcache, Zend PlatformYesYes??
Laravel≥ 8.0AnyYesPushYesEloquentPHPUnitYesYesYesAPC, Database, File, Memcache, RedisYesYesYesYes
Li3 (Lithium)≥ 8.0AnyYesPushYesYesUnit tests, builtin test framework or other independentNoYes, Plugins availablePHP, Twig Plugin availableMemcache, Redis, XCache, APC, FileYes, with CSRF Protection and Form SigningNoYes?
Phalcon≥ 8.0AnyYesPushYesYesCodeception PHPUnitYesYesVolt, PHPAPC, Memcache, Memory, Redis, Redis Cluster, FileYesYesYes?
Pop PHP≥ 8.3AnyYesPushYesYesPHPUnit with CI via GitHub ActionsYesACL-basedYesAPC, Database, File, Memcache, Redis, SessionYesYesYes?
PRADO≥ 7.3Prototype, script.aculo.us, own componentsNoPush-pullYesData access objects (DAO), active record pattern, SQLMap data mapperPHPUnit, SimpleTest, SeleniumNoYesXML-based, similar to ASP.NETsAPC, Database, eAccelerator, Memcached, XCacheYesYes??
SilverStripe (Sapphire)≥ 7.1jQuery, jQuery UIYesPush-pullYesActive record patternUnit tests, SeleniumAutomaticincl. OpenIDThemesYesYesYesYesYes
Smart.Framework≥ 7.4YesYesYesYesYes (PostgreSQL, MySQL, SQLite, MongoDB, Solr, others via plugins)YesNoYesYes (Markers, Twig, others via plugins)Yes (File, Redis, others via plugins)YesNoYesYes, (jQuery mobile, Bootstrap, others via plugins)
Symfony≥ 8.1Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS pluginsYesPushYesPropel, Doctrine (YAML)YesPlugin exists (alpha code)PluginPHP, TwigYesYesYes??
TYPO3≥ 7.2AnyYesPush-pullYesYesYesPartialYesTYPO3 FluidYesYesPlugin existsPlugin exists?
Yii≥ 5.4jQuery, jQuery UI, own components, pluginsYesPush-pullYesData Access Objects (DAO), Active Record Pattern, Plugins (incl. Doctrine 2.0)PHPUnit, SeleniumYesACL-based, RBAC-based, pluginsPHP-based, PRADO-like, pluginsAPC, Database, eAccelerator, File, Memcache, Redis, WinCache, XCache, Zend PlatformYesYes??

Python

ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)Python 3.*
CherryPyPythonpluggablepluggableYes
DjangoPythonYesYesPushYesYesYesYesYesbuilt-in, Jinja2, Mako, CheetahYesYesYes
FastAPIPythonYesORM-agnosticvia pytestdepends on ORMYesJinja2YesYes
FlaskPythonYesYesORM-agnosticvia unittestdepends on ORMYesJinja2YesYesYes
PylonsPythonhelpers for Prototype and script.aculo.uscontrollerPushYesORM-agnosticvia nosedepends on ORMpluggable: Mako, Genshi, Myghty, Kid, morenative: pluggable: Redis, Beaker (memory, memcached, file, databases)preferred formencodeNo
PyramidPythonYesYesPushYesORM-agnosticYesdepends on ORMYespluggable: Jinja2, Chameleon, Mako, Genshi,default: native . pluggable: Redis, PyNaCl, Beaker (memory, memcached, file, databases),deform, formencode, WTForms,Yes
TornadoPythonSee Advanced Async Example implements AJAXYes
TurboGearsPythonToolkit-independent, provides support via JSONFull stack, best-of-breed basedPushYesSQLAlchemynoseSQLAlchemy-MigrateRepoze.what & Repoze.whopluggable: Genshi, moreSupport for memcached, and any WSGI compliant systemToscaWidgets, utilizing FormEncodeYes
web2pyPythonYesYesPushYesYesYesYesYesYesYesYesYes
BlueBream (Zope 3)Pythonvia add-on products, e.g. Plone w/KSSYesPullYesZODB, SQLObject, SQLAlchemyUnit tests, functional testsZODB generationsACL-basedYesYesYesNo
Zope 2PythonYesPullYesZODB, SQLObject, SQLAlchemyUnit testsACL-basedYesYesCMFFormControllerNo

Ruby

ProjectAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
Ruby on RailsPrototype, script.aculo.us, jQueryActiveRecord, Action PackPushYesActiveRecordUnit Tests, Functional Tests and Integration TestsYesPlug-inYesYesYes
SinatraNoYesPushNoORM-independentrack-testYesthrough Rack middlewareYesthrough Rack middlewareNo

Others

ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting framework(s)DB migration framework(s)Security framework(s)Template framework(s)Caching framework(s)Form validation framework(s)
AIDA/WebSmalltalkYesYesYesGemstone/S, GLORP, moreSUnitYesYes
Application ExpressPL/SQLYesYesYesYesYes
FlexActionScript, MXMLNot by name but similar technologyFlexUnit
LiftScalaYesYesPullYesYesScalaTest, SeleniumYesYesYesYesYes
OpaOpaYesYesMongoDBYesYesYes
OpenACSTclYesYesYesYesYesYesYesYesYesYes
SeasideSmalltalkjQuery, jQuery UI, Prototype JavaScript Framework, script.aculo.us, moreYesYesGLORP, Gemstone/S, moreUnit tests, SUnitNo, intentionallyMagritte
ProjectLanguageAjaxMVC frameworkMVC push-pulli18n & L10n?ORMTesting 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: