This is a comparison of notable web frameworks , software used to build and deploy web applications.
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.8.4 | 2023-03-20 [4] | MIT |
Poco | 1.11.3 [5] | 2022-06-12 [±] | Boost Software License |
Wt | 4.7.1 | 2022-04-15 [6] | GPL, Proprietary |
Project | Current stable version | Release date | License |
---|---|---|---|
ColdBox Platform | 6.8.1 [7] | 2022-08-11 [±] | Apache v2 |
ColdSpring | 1.2 | 2008-09-12 | Apache v2 |
Project | Current stable version | Release date | License |
---|---|---|---|
Phoenix | 1.7.11 [8] | 2024-02-02; 2 months ago | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Snap | 1.1.3.0 [9] | 2020-05-07 | BSD-3 |
Yesod | 1.6.23 [10] | 2022-04-20 [±] | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Apache Click | 2.3.0 | 2011-03-27 | Apache 2.0 |
Apache OFBiz | 18.12.12 [11] | 2024-02-16; 56 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 2 | 6.0.0 | 2022-06-06 | Apache 2.0 |
Apache Tapestry | 5.8.4 [12] | 2024-02-06; 2 months ago | Apache 2.0 |
Apache Wicket | 10.0.0 [13] | 2024-03-11; 32 days ago | Apache 2.0 |
AppFuse | 3.5.0 | 2015-02-20 | Apache 2.0 |
Eclipse RAP | 3.11 | 2019-12-18 | Eclipse |
Grails | 6.1.2 [14] | 2024-01-31; 2 months ago | Apache |
Google Web Toolkit | 2.9.0 | 2020-05-02 | Apache 2.0 |
JavaServer Faces (Mojarra) | 4.0.0 [15] | 2022-05-19; 22 months ago | CDDL, GNU GPL 2, Apache 2.0 |
JBoss Seam | 3.1.0 final | 2012-01-13 | GNU LGPL |
JWt | 4.10.4 [16] | 2024-03-06; 37 days ago | GPL, Proprietary |
Netty (software) | 4.1.108 [17] | 2024-03-21; 22 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 | 2.8.21 [18] | 2023-11-09; 5 months ago | Apache 2.0 |
Spring | 6.1.4 [19] | 2024-02-15; 57 days ago | Apache 2.0 |
Stripes | 1.6.0 | 2015-07-23 | Apache |
Vaadin | 14.0.3 | 2019-09-04 | Apache 2.0 |
Wavemaker | 11.6.0 [20] | 2024-03-03 | Apache |
WebObjects | 5.4.3 | 2008-09-15 | Proprietary |
Project | Current stable version | Release date | License |
---|---|---|---|
Express.js | 4.17.1 | 2019-05-25 | MIT License |
Meteor | 2.13 [21] | 2023-08-02; 8 months ago | MIT License |
Sails.js | 1.2.3 | 2019-06-18 | MIT License |
Next.js | 14.1.4 [22] | 2024-03-20; 23 days ago | MIT License |
Remix | 2.8.1 | 2021-11-22 | MIT License |
Project | Current stable version | Release date | License |
---|---|---|---|
Catalyst | 5.90128 [23] | 2020-09-11 [±] | Artistic, GPL |
Dancer | 0.400001 [24] | 2023-02-05 [±] | Artistic, GPL |
Maypole | 2.13 | 2008-04-18 | Artistic, GPL |
Mojolicious | 9.30 [25] | 2022-11-22 [±] | Artistic |
Project | Start date | Current stable version | Release date | License |
---|---|---|---|---|
CakePHP | 2005-08 | 5.0.1 [26] | 2023-09-29 [±] | MIT |
CodeIgniter | 2006-02-28 | 4.4.3 [27] | 2023-10-26 [±] | MIT |
Fat-Free | 2009-09 | 3.8.2 [28] | 2023-07-24 [±] | GPLv3 |
FuelPHP | 2011-08 | 1.9.0 [29] | 2021-12-28 [±] | MIT |
Gyroscope | 2008-11-20 | 20.4 [30] | 2023-11-24 | BSD |
Jamroom | 2003-07-28 | 7.0.1 [31] | 2024-01-01 [±] | MPL |
Kajona | 2006 | 6.2 [32] | 2017-06-08 | LGPLv2 |
Laminas (formerly Zend Framework) | 2006-03 | 3.3.3 [33] | 2022-02-21 | New BSD |
Laravel | 2011-07-31 | 11.0.3 [34] | 2024-03-14; 29 days ago | MIT |
Li3 (Lithium) | 2009-10 | 2.0.0 [35] | 2022-12-08 [±] | BSD |
Nette Framework | 2006-01 [36] | 3.1.0 [37] | 2021-01-05 | New BSD, GPLv2, GPLv3 [38] |
Phalcon | 2012-11-14 | 5.5.0 [39] | 2023-12-25 | BSD |
Pop PHP | 2012-03-19 | 5.3.0 [40] | 2024-04-01 | BSD Licence |
PRADO | 2004-01 | 4.2.0 [41] | 2022-04-19 [±] | New BSD [42] |
SilverStripe | 2007-02-03 | 5.1.0 [43] | 2023-10-16 [±] | BSD |
Smart.Framework | 2015-02-01 | svn.1925 [44] | 2024-01-19 [±] | BSD |
Symfony | 2005-10 | 7.0.1 [45] | 2023-12-01 [±] | MIT |
Yii | 2008-12-03 | 2.0.48 [46] | 2023-05-22 [±] | New BSD |
Project | Current stable version | Release date | License |
---|---|---|---|
BlueBream | 1.0 [47] | 2011-01-18; 13 years ago | ZPL |
CherryPy | 18.8.0 [48] | 2022-07-18; 20 months ago | BSD |
CubicWeb | 3.30.0 [49] | 2021-03-16; 3 years ago | LGPL |
Django | 5.0.3 [50] | 2024-03-04; 39 days ago | BSD |
FastAPI | 0.110.0 [51] | 2024-02-24; 48 days ago | MIT |
Flask | 3.0.2 [52] | 2024-02-03; 2 months ago | BSD |
Google App Engine | 1.9.91 [53] | 2020-05-11; 3 years ago | LGPL, Proprietary |
Grok | 5.0 [54] | 2024-01-29; 2 months ago | ZPL |
Jam.py | 5.4.136 [55] | 2023-11-14; 4 months ago | BSD |
Nagare | 0.5.2 [56] | 2017-11-10; 6 years ago | BSD |
Pyjs | 0.8.1a [57] | 2012-05-09; 11 years ago | Apache |
Pylons | 1.0.2 [58] | 2015-07-22; 8 years ago | BSD |
Pyramid | 2.0.2 [59] | 2023-08-25; 7 months ago | BSD |
TACTIC | 4.8.0.b04 [60] | 2020-09-25; 3 years ago | EPL |
Tornado | 6.4.0 [61] | 2023-11-29; 4 months ago | Apache |
TurboGears | 2.4.3 [62] | 2020-03-01; 4 years ago | MIT, LGPL |
web2py | 2.27.1 [63] | 2023-11-16; 4 months ago | LGPL3 |
Zope 2 | 5.6.0 [64] | 2022-09-09; 19 months ago | ZPL |
Project | Current stable version | Release date | License |
---|---|---|---|
Padrino | 0.14.4 | 2019-01-14 [65] | MIT |
PureMVC | 2.0.4 | 2008-08-14 | CC +Attribution |
Ruby on Rails | 7.1.3.2 [66] | 2024-02-21; 51 days ago | MIT |
Sinatra | 3.0.2 [67] | 2022-10-01; 18 months 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) | 4.0.0 | 2019-07-11 | Apache |
Morfik | C#, BASIC, Pascal, Java | 3.0.8.1 | 2010-12-13 | Proprietary freeware |
Opa | Opa | 1.1.1 | 2013-04-16 [68] | MIT and AGPL |
OpenACS | Tcl | 5.10.0 [69] | 2021-09-15 | GPL |
Seaside | Smalltalk | 3.4.4 [70] | 2021-02-07 | 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 |
Fusebox | via CF or any JavaScript library | optional | Push | CFML | via lexicons for Transfer, Reactor | via other testing frameworks | No | via plugins | CFML | via lexicon for ColdSpring | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
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, [71] Apache Shiro [72] | 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 | |
JVx WebUI | Java | Yes | Model Driven | Yes | Yes, pluggable | JUnit | Yes | Single sourcing | Yes, pluggable | |||
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 | |||||||||
Wakanda | Yes | Yes | Push & Pull | Native Object NoSQL DB | CommonJS Unit Testing YUI Test Service | Data Security and Access Control | Storage (application.storage, user.storage, SessionStorage) |
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 | 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) | Scaffolding | RAD | Mobility |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CakePHP | PHP >= 7.2 [73] | 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 | PHP >= 7.2 [74] (ver 4 and up) or PHP >= 5.6.0 [75] (until ver 3.1.11) | Any | Yes | Push | Mostly [76] | Third party only | Ready for next release, Unit tests for v.4 and up | Yes | Yes | Yes | Yes | Yes | No [77] | Yes | Templates |
Fat-Free Framework | PHP >= 5.4 [78] | 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 | PHP >= 5.3.3 [79] | Yes | MVC, HMVC | Push | Yes | Yes | PHPUnit | Yes | Yes, Plugins available | Yes, Plugins available | File, Redis, Memcache, more | Yes | Yes | ? | ? |
Gyroscope | PHP >= 5.4 | nano.js, replaceable [80] | 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 | PHP >= 7 [81] | Any | Yes | Push | Yes | Yes | PHPUnit, Selenium, Jasmine | Yes | Yes | Yes | APC, Database, File | Yes | Yes | Yes | Bootstrap |
Laminas (formerly Zend Framework) | PHP >= 7.3 [82] | 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 | PHP >= 8.0 [83] | Any | Yes | Push | Yes | Eloquent | PHPUnit | Yes | Yes | Yes | APC, Database, File, Memcache, Redis | Yes | Yes | Yes | Yes |
Li3 (Lithium) | PHP >= 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 | ? |
Nette Framework | PHP >= 5.6.0 [84] | Toolkit-independent | MVP | Push | Yes | Third party only | Yes | No | Yes | Yes | Yes | Yes | No | ? | ? |
Phalcon | PHP >= 7.4 [85] | Any | Yes | Push | Yes | Yes | Codeception PHPUnit | Yes | Yes | Volt | Yes | Yes | Yes | Yes | ? |
Pop PHP | PHP >= 8.1 | 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 | PHP >= 7.3 [86] | Prototype, script.aculo.us, own components [87] | 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 [87] | APC, Database, eAccelerator, Memcached, XCache | Yes [87] | Yes [87] | ? | ? |
SilverStripe (Sapphire) | PHP >= 7.1 [88] | jQuery, jQuery UI | Yes | Push-pull | Yes | Active record pattern | Unit tests, Selenium | Automatic | incl. OpenID | Themes | Yes | Yes | Yes | Yes | Yes |
Silex | PHP >= 5.3.9 | Yes | Yes | Yes | Yes | Plugin exists (Doctrine) | Yes | No | Yes | PHP, Twig | Plugin exists | Yes | Plugin exists | ? | ? |
Smart.Framework | PHP >= 7.3 [89] | 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 | PHP >= 8.1 [90] | 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 | PHP >= 7.2 [91] | Any | Yes | Push-pull | Yes | Yes | Yes | Partial | Yes | TYPO3 Fluid | Yes | Yes | Plugin exists | Plugin exists | ? |
Yii | PHP >= 5.4 [92] | 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 [93] | ? | ? |
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 [94] |
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 a Rack middleware | Yes | through a 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 [95] | FlexUnit | |||||||||
Lift | Scala | Yes | Yes | Pull | Yes | Yes | ScalaTest, Selenium [96] | 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) |
Django is a free and open-source, Python-based web framework that runs on a web server. It follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit.
Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is intended to be easy to read in its source code form. Markdown is widely used for blogging and instant messaging, and also used elsewhere in online forums, collaborative software, documentation pages, and readme files.
Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License.
CodeIgniter is an free and open-source software rapid development web framework, for use in building dynamic web sites with PHP.
Flow is a free and open source web application framework written in PHP. The first final version was released on October 20, 2011. It was primarily designed as a basis for the content management system Neos, but can also be used independently. It is generally suitable for PHP development of mid- or large-scaled web applications.
TCPDF is a free and open source software PHP class for generating PDF documents. TCPDF is the only PHP-based library that includes complete support for UTF-8 Unicode and right-to-left languages, including the bidirectional algorithm.
Benevolent dictator for life (BDFL) is a title given to a small number of open-source software development leaders, typically project founders who retain the final say in disputes or arguments within the community. The phrase originated in 1995 with reference to Guido van Rossum, creator of the Python programming language.
TYPO3 is a Web Content management system (CMS) written in the programming language PHP. It can run on a variety of web servers, such as Apache, Nginx, or Internet Information Services (IIS), and on many operating systems, including Linux, Microsoft Windows, FreeBSD, macOS, and OS/2. It is free and open-source software released under the GNU General Public License version 2.
Yii is an open source, object-oriented, component-based MVC PHP web application framework. Yii is pronounced as "Yee" or [ji:] and in Chinese it means "simple and evolutionary" and it can be an acronym for "Yes It Is!".
FuelPHP is an open-source web application framework written in PHP which implements the HMVC pattern.
Composer is an application-level dependency manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012. Composer is strongly inspired by Node.js's "npm" and Ruby's "bundler". The project's dependency solving algorithm started out as a PHP-based port of openSUSE's libzypp SAT solver.
Laravel is a free and open-source PHP- based web framework for building high-end web applications. It was created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.
Phalcon is a PHP web framework based on the model–view–controller (MVC) pattern. Originally released in 2012, it is an open-source framework licensed under the terms of the BSD License.
Blackfire Profiler is a tool that instruments PHP applications to gather data about consumed server resources like memory, CPU time, and I/O operations. Blackfire is also a SaaS service to visualize any callgrind-compatible profile.
The following table compares notable software frameworks, libraries and computer programs for deep learning.
The Pop PHP Framework a free and open source PHP Web framework that was created by Nick Sagona. It is distributed under the BSD License and hosted on GitHub. The framework is intended to be utilized for rapid application development, with an emphasis on web applications.
Grav is a free software, self-hosted content management system (CMS) written in the PHP programming language and based on the Symfony web application framework. It uses a flat file database for both backend and frontend.
{{cite web}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)