Comparison of web frameworks
This is a comparison of notable web frameworks, software used to build and deploy web applications.
Programming language comparisons |
---|
|
|
Comparison of individual languages
|
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 |
OpenRasta | 2.5.2001 | 2017-12-21 | MIT |
C++
Project | Current stable version | Release date | License |
---|---|---|---|
CppCMS | 1.2.1 | 2018-05-18[3] | MIT |
Drogon | 1.0.0-beta17 | 2020-05-22[4] | MIT |
Poco | 1.10.1[5] | 2020-02-17[±] | Boost Software License |
Tntnet | 2.2.1 | 2014-01-17[6] | LGPL |
Wt | 4.0.5 | 2018-12-14[7] | GPL, Proprietary |
ColdFusion Markup Language (CFML)
Project | Current stable version | Release date | License |
---|---|---|---|
CFWheels | 2.0.2[8] | 2019-10-17[±] | Apache v2 |
ColdBox Platform | 5.6.1[9] | 2019-08-19[±] | Apache v2 |
ColdSpring | 1.2 | 2008-09-12 | Apache v2 |
Fusebox | 5.5.2 | 2012-05-08 | Apache |
Model-Glue | 3.1.299 | 2010-03-05 | Apache |
Common Lisp
Project | Current stable version | Release date | License |
---|---|---|---|
Caveman2 | 2.4.0 | 2015-06-05[10] | LLGPL[11] |
D
Project | Current stable version | Release date | License |
---|---|---|---|
vibe.d | 0.8.5 | 2019-03-26[12] | MIT License |
Elixir
Project | Current stable version | Release date | License |
---|---|---|---|
Phoenix | 1.4.15 | 2020-03-06 | MIT License |
Haskell
Project | Current stable version | Release date | License |
---|---|---|---|
Snap | 1.1.3.0 | 2020-05-07 | BSD-3 |
Yesod | 1.6.18[13] | 2020-05-31[±] | MIT License |
HTML, CSS
Project | Current stable version | Release date | License |
---|---|---|---|
Bootstrap | 4.3.1 | 2019-02-13 | MIT, Apache |
Foundation | 6.5.3 | 2019-01-27 | MIT |
Java
Project | Current stable version | Release date | License |
---|---|---|---|
Apache Click | 2.3.0 | 2011-03-27 | Apache 2.0 |
Apache OFBiz | 16.11.05 | 2018-10-02 | Apache 2.0 |
Apache Shale | 1.0.4 | 2007-12-19 | Apache |
Apache Sling | 11 | 2018-10-23 | Apache 2.0 |
Apache Struts 2 | 2.5.20 | 2019-01-09 | Apache 2.0 |
Apache Tapestry | 5.4.5 | 2019-08-31 | Apache 2.0 |
Apache Wicket | 8.5.0 | 2019-05-28 | Apache 2.0 |
AppFuse | 3.5.0 | 2015-02-20 | Apache 2.0 |
Brutos Framework | 2.0-rc3 | 2018-08-14 | Apache 2.0 |
Eclipse RAP | 3.11 | 2019-12-18 | Eclipse |
FormEngine | 2.0.1 | 2012-05-08 | Proprietary |
Grails | 4.0.0 | 2019-07-11 | Apache |
Google Web Toolkit | 2.8.2 | 2017-10-19 | Apache 2.0 |
Hamlets | 1.7.1 | 2012-06-29 | BSD |
ItsNat | 1.4 | 2015-09-18 | GNU LGPL, proprietary |
JavaServer Faces (Mojarra) | 2.3.9 | 2018-11-30 | CDDL, GNU GPL 2, Apache 2.0 |
JBoss Seam | 3.1.0 final | 2012-01-13 | GNU LGPL |
Jspx-bay | 2.1 | 2015-12-23 | Apache 2.0 |
JVx | 2.8 | 2018-12-19 | Apache 2.0 |
JWt | 3.4.0 | 2019-07-31[14] | GPL, Proprietary |
Netty (software) | 4.1.39 | 2019-08-13 | Apache License 2.0 |
OpenLaszlo | 4.9.0 | 2010-10-21 | CPL |
OpenXava | 6.1.2 | 2019-06-18 | GNU LGPL |
Oracle ADF | 12.2.1.4 | 2019-10-09 | Oracle Technology Network Developer License |
Play | 2.7.3 | 2019-06-19 | Apache 2.0 |
RIFE | 1.6.1 | 2007-07-14 | CDDL, GNU LGPL |
Spark | 2.9.1 | 2019-05-22 | Apache |
Spring | 5.2.7 | 2020-02-13 | Apache 2.0 |
Stripes | 1.6.0 | 2015-07-23 | Apache |
Vaadin | 14.0.3 | 2019-09-04 | Apache 2.0 |
VRaptor | 4.2.0.Final | 2017-09-19 | Apache 2.0 |
Wavemaker | 10.1.0[15] | 2019-08-19 | Apache |
WebObjects | 5.4.3 | 2008-09-15 | Proprietary |
WebWork | 2.2.6 | 2007-07-21 | Apache |
ztemplates | 2.4.0 | 2011-09-11 | Apache |
JavaScript
Project | Current stable version | Release date | License |
---|---|---|---|
AngularJS | 1.7.8 | 2019-03-11 | MIT License |
Angular | 8.2.4 | 2019-08-28 | MIT License |
Backbone.js | 1.4.0 | 2019-02-19 | MIT License |
Ember.js | 3.13.0 | 2019-09-20[16][17] | MIT License |
Express.js | 4.17.1 | 2019-05-25 | MIT License |
KnockoutJS | 3.5.0 | 2019-02-22 | MIT License |
Meteor | 1.10 [18] | 2020-03-18[±] | MIT License |
OpenUI5 | 1.69.1 | 2019-08-15 | Apache 2.0 License by SAP |
Polymer | 3.3.0 | 2019-06-24 | BSD |
React.js | 16.9.0 | 2019-08-08 | MIT License |
Sails.js | 1.2.3 | 2019-06-18 | MIT License |
Vue.js | 2.6.10 | 2019-03-20 | MIT License |
Cappuccino | 1.0.0 | 2018-09-04 | LGPL |
Scala
Project | Current stable version | Release date | License |
---|---|---|---|
Lift | 3.3.0 | 2018-07-21 | Apache 2.0 |
Play | 2.7.3 | 2019-06-19 | Apache 2.0 |
Scalatra | 2.6.5 | 2019-02-14 | BSD |
Perl
Project | Current stable version | Release date | License |
---|---|---|---|
Catalyst | 5.90126[19] | 2020-01-19[±] | Artistic, GPL |
Dancer | 0.208002 [20] | 2019-12-14[±] | Artistic, GPL |
Mason | 2.24[21] | 2015-05-16 | Artistic, GPL |
Maypole | 2.13 | 2008-04-18 | Artistic, GPL |
Mojolicious | 8.27[22] | 2019-12-04[±] | Artistic |
PHP
Project | Start date | Current stable version | Release date | License |
---|---|---|---|---|
Agavi | 2005-05 | 1.0.8[23] | 2015-06-29 | LGPL |
CakePHP | 2005-08 | 4.1.1[24] | 2020-07-18[±] | MIT |
CodeIgniter | 2006-02-28 | 4.0.3 [25] | 2020-05-01[±] | MIT |
Fat-Free | 2009-09 | 3.7.2 [26] | 2020-05-28[±] | GPLv3 |
FuelPHP | 2011-08 | 1.8.2[27] | 2019-06-27[±] | MIT |
Gyroscope | 2008-11-20 | 16.7[28] | 2020-05-17 | BSD |
Jamroom | 2003-07-28 | 6.5.0 [29] | 2020-05-11[±] | MPL |
Kajona | 2006 | 6.2[30] | 2017-06-08 | LGPLv2 |
Kohana | 2007-07 | 3.3.5[31] | 2016-03-10 | BSD |
Laravel | 2011-07-31 | 7.23.0[32] | 2020-08-04[±] | MIT |
Li3 (Lithium) | 2009-10 | 1.2.0[33] | 2019-09-13[±] | BSD |
Nette Framework | 2006-01[34] | 3.0.0[35] | 2019-04-03 | New BSD, GPLv2, GPLv3[36] |
Phalcon | 2012-11-14 | 4.0.6[37] | 2020-05-16 | BSD |
Pop PHP | 2012-03-19 | 4.5.0[38] | 2020-05-28 | New BSD |
PRADO | 2004-01 | 4.1.1[39] | 2020-03-27[±] | New BSD[40] |
Silex | 2011-09 | 2.3.0[41] | 2018-04-20 | MIT |
SilverStripe | 2007-02-03 | 4.6.0[42] | 2020-07-13[±] | BSD |
Smart.Framework | 2015-02-01 | 7.2.1 [43] | 2020-06-05[±] | BSD |
Symfony | 2005-10 | 5.1.3[44] | 2020-07-24[±] | MIT |
Yii | 2008-12-03 | 2.0.35[45] | 2020-05-02[±] | New BSD |
Zend Framework | 2006-03 | 3.0.0[46] | 2016-06-28 | New BSD |
Python
Project | Current stable version | Release date | License |
---|---|---|---|
Bottle | 0.12.18 | 2019-12-01[47] | MIT |
BlueBream | 1.0 | 2011-01-18 | ZPL |
CherryPy | 18.5.0 | 2019-09-04[48] | BSD |
CubicWeb | 3.27.0[49] | 2020-01-31[±] | LGPL |
Django | 3.0.8 | 2020-07-01[50] | BSD |
Flask | 1.1.2 | 2020-04-03[51][52] | BSD |
Google App Engine | 1.9.63 | 2018-02-27 | LGPL, Proprietary |
Grok | 2.8 | 2013-02-14[53] | ZPL |
Jam.py | 5.4.96 | 2020-06-18[54] | BSD |
Nagare | 0.4.1 | 2012-01-18 | BSD |
Pyjs | 0.8.1a | 2012-05-06 | Apache |
Pylons | 1.0.2 | 2015-07-21 | BSD |
Pyramid | 1.10.4 | 2019-04-15[55] | BSD |
TACTIC | 4.7.0b02 [56] | 2019-12-09[±] | EPL |
Tornado | 6.0.3 | 2019-06-22[57] | Apache |
TurboGears | 2.4.1 | 2019-09-03[58] | MIT, LGPL |
web2py | 2.18.5 | 2019-04-08[59] | LGPL3 |
Webware | 1.1.1 | 2013-01-18 | Python |
Zope 2 | 2.13.30[60] | 2020-02-14[±] | ZPL |
Ruby
Project | Current stable version | Release date | License |
---|---|---|---|
Camping | 2.1 | 2010-08-20 | MIT |
Merb | 1.1.3 | 2010-07-10 | MIT |
Padrino | 0.14.4 | 2019-01-14[61] | MIT |
PureMVC | 2.0.4 | 2008-08-14 | CC +Attribution |
Ruby on Rails | 6.0 | 2019-08-16[62] | MIT |
Sinatra | 2.0.7 | 2019-08-22[63] | MIT |
Others
Project | Language | Current stable version | Release date | License |
---|---|---|---|---|
AIDA/Web | Smalltalk | 6.7 | 2014-09-14 | MIT |
Application Express | PL/SQL | 19.1 | 2019-03-29 | 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 |
Ocsigen | OCaml | 4.2 | 2015-07-21[64] | LGPL |
Opa | Opa | 1.1.1 | 2013-04-16[65] | MIT and AGPL |
OpenACS | Tcl | 5.9.1 | 2017-08-08 | GPL |
Seaside | Smalltalk | 3.4.0[66] | 2019-08-24 | 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 |
Tntnet | Yes | No | No | Yes | Tntdb | No | No | No | Yes | No | No |
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 | CF ORM | Yes via TestBox, MockBox | via plugin | 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 |
Model-Glue | via CF or any JavaScript library | Yes | Push | CFML | CF ORM | via other testing frameworks | No | via plugins | CFML | ColdSpring |
Common Lisp
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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Caveman2 | No | - | - | No | via third-party packages like Postmortem, Mito | Prove | via third-party packages like Postmortem, Mito | No | Yes | Yes | No |
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 | |
FormEngine | Java | Yes | Yes | own connector API | Ajax validation on server and form state update | |||||||
Grails | Groovy | Yes | Yes | Push | Yes | GORM, Hibernate | Unit tests, integration test, functional test | multiple plugins: autobase, dbmigrate, more | Spring Security,[67] Apache Shiro[68] | Yes | Yes | Yes |
ItsNat | Java | Yes | event driven | Push | using Java i18n | external, built-in | pluggable | pure HTML-SVG | page caching | normal Java | ||
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 | |
Jspx-bay | Java | Yes | Page oriented | Own API | JAAS integration | Master-content pages | Yes, Internal UI validation controls | |||||
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 | ||||
OpenXava | Java | Yes | Model Driven | Yes | JPA, Hibernate, EJB2 CMP | JUnit | Hibernate tools | uses JSR-168 portal security | UI is automatically generated | uses portal and JPA caching | Yes | |
Play | Java, Scala | Yes | Yes | Push-pull | Yes | JPA, Hibernate | JUnit, Selenium | Yes | via Core Security module | Yes | Yes | Server-side validation |
RIFE | Java | DWR | Yes | Push-pull | Yes | Yes | Out of container testing | Yes | Yes | Integration with Terracotta | Yes | |
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 |
ztemplates | Java JDK 1.5 or newer | integrates YUI, Google, etc., with annotations | Yes | Push, multiple actions per URL | standard Java | use any J2EE ORM framework | Unit tests | annotation based | Velocity, FreeMarker, JSP, others pluggable | Ajax validation on server and form state update (YUI, JSON) |
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) |
---|---|---|---|---|---|---|---|---|---|---|---|
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) |
Lua
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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kepler | Lua | Yes |
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 |
Mason | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
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 | 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 3 | PHP >= 5.6[69] | 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 [70] (ver 4 and up) or PHP >= 5.6.0[71] (until ver 3.1.11) | Any | Yes | Push | Mostly[72] | Third party only | Ready for next release, Unit tests for v.4 and up | Yes | Yes | Yes | Yes | Yes | No[73] | Yes | Templates |
Fat-Free Framework | PHP | 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.x | Yes | MVC, HMVC | Push | Yes | Yes | PHPUnit | Yes | Yes, Plugins available | Yes, Plugins available | File, Redis, Memcache, more | Yes | Yes | ? | ? |
Fusebox | PHP | Yes | Not mandatory | Push | No, custom | ? | ? | ? | Multiple plugins available | ? | ? | via qforms or built in PHP validation | Yes | ? | ? |
Gyroscope | PHP >=5.4 | nano.js, replaceable[74] | 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 | Any | Yes | Push | Yes | Yes | PHPUnit, Selenium, Jasmine | Yes | Yes | Yes | APC, Database, File | Yes | Yes | Yes | Bootstrap |
Laravel | PHP >= 5.5.9 | 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 | ? |
Lumen | PHP >= 7.2[75] | Any | Yes | Push | Yes[76] | Eloquent | PHPUnit | Yes | Yes | Yes | APC, Database, File, Memcache, Redis | Yes | No | No | No |
Nette Framework | PHP >= 5.6.0[77] | Toolkit-independent | MVP | Push | Yes | Third party only | Yes | No | Yes | Yes | Yes | Yes | No | ? | ? |
Phalcon | PHP >= 5.5 | Any | Yes | Push | Yes | Yes | Codeception PHPUnit | Yes | Yes | Volt | Yes | Yes | Yes | Yes | ? |
Pop PHP | PHP >= 7.1.0 | Any | Yes | Push | Yes | Yes | PHPUnit via Travis CI | Yes | ACL-based | Yes | APC, Database, File, Memcache, Redis, Session | Yes | Yes | Yes | ? |
PRADO | PHP >= 5.3.0 | Prototype, script.aculo.us, own components[78] | 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[78] | APC, Database, eAccelerator, Memcached, XCache | Yes[78] | Yes[78] | ? | ? |
SilverStripe (Sapphire) | PHP >= 5.2 | 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 >= 5.4.9 | 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 5 | 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 | ? | ? |
Symfony 2 | PHP >= 5.3.3 | Any | Yes | Push | Yes | Propel, Doctrine (YAML) | Yes | Plugin exists | Yes | PHP, Twig | Yes | Yes | Yes | ? | ? |
TYPO3 | PHP >= 5.5 | Any | Yes | Push-pull | Yes | Yes | Yes | Partial | Yes | TYPO3 Fluid | Yes | Yes | Plugin exists | Plugin exists | ? |
Yii | PHP >= 5.4 | 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[79] | ? | ? |
Zend Framework | PHP >= 5.3 | 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 | ? | ? |
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.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bottle | Python | - | - | - | - | Sqlalchemy (via plugins) | - | - | - | built-in, Mako, Jinja2, Cheetah | - | - | Yes |
CherryPy | Python | - | - | _ | - | pluggable | - | - | - | pluggable | - | - | Yes |
Django | Python | Yes | Yes | Push | Yes | Yes | Yes | Yes | Yes | built-in, Jinja2, Mako, Cheetah | Yes | 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 [80] |
Webware | Python | No | Optional | Pull | No | Yes | Yes | No | Yes | Yes | No | No | No |
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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Camping | No | Yes | Push | No | Active record pattern | via Mosquito | Yes | No | Yes | No | No |
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 |
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[81] | FlexUnit | |||||||||
Lift | Scala | Yes | Yes | Pull | Yes | Yes | ScalaTest, Selenium[82] | Yes | Yes | Yes | Yes | Yes |
Ocsigen | OCaml | 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) |
gollark: Maybe I will merge your bridging PRs, out of spite.
gollark: It's yours actually.
gollark: And whose fault is that?
gollark: Or at least the general concept of some PRs.
gollark: I have accepted ABR PRs before. Possibly. Maybe.
See also
References
- "Version 4.11.2". Github. Retrieved 4 September 2019.
- "Download - Castle Project". www.castleproject.org.
- "CppCMS Blog". Blog.cppcms.com. Retrieved 2013-08-18.
- "an-tao/drogon". GitHub. Retrieved 2020-05-29.
- "Releases - pocoproject/poco". Retrieved 2020-03-01.
- "Tntnet homepage". Tntnet.org. Retrieved 2013-08-18.
- "Wt: Release v4.0.5". webtoolkit.eu. 2018-12-14. Retrieved 2019-06-26.
- "CFWheels 2.0.2 Security Release". cfwheels.org. Retrieved 2020-02-22.
- "ColdBox Platform Versions". forgebox.io. Retrieved 2019-09-04.
- "v2.4.0 commit on GitHub". 2015-06-05. Retrieved 2015-09-18.
- "LLGPL License". Retrieved 2015-09-18.
- "vibe.d". RejectedSoftware. Retrieved 29 August 2017.
- "yesodweb / yesod". github.com. Retrieved 13 June 2020.
- "Jwt: Release v3.4.0". webtoolkit.eu. 2019-07-31. Retrieved 2019-09-04.
- "WaveMaker 10.1 Release Update – 19 August 2019". WaveMaker. Retrieved 2019-09-04.
- "emberjs/data". GitHub. Retrieved 2019-09-04.
- "Ember.js: A framework for ambitious web developers". emberjs.com. Retrieved 2019-11-14.
- "Announcing Meteor 1.10". meteor.com. Retrieved 2020-06-01.
- "Catalyst-Runtime". metacpan.org. Retrieved 27 February 2020.
- "Dancer2 Releases". perldancer.org. Retrieved 2019-12-20.
- "Jonathan Swartz". CPAN. Retrieved 2016-03-16.
- "Mojolicious Versions". mojolicious.org. Retrieved 2019-12-20.
- "Agavi 1.0.8 released!". agavi.org. Retrieved 7 November 2015.
- "CakePHP 4.1.1 Released". CakePHP Blog. Retrieved 2020-07-19.
- "CodeIgniter v4.0.3 Released". codeigniter.com. Retrieved 2020-06-09.
- "fatfree/lib/CHANGELOG.md". github.com. Retrieved 2020-06-09.
- "Releases - fuel/core". github.com. Retrieved 2019-09-04.
- "Antradar Downloads". antradar.com. 2020-05-17. Retrieved 2020-06-10.
- "Jamroom 6.5.0 has been released!". jamroom.net. Retrieved 2020-06-09.
- "Releases". github.com. Retrieved 10 June 2017.
- "Kohana V3.3.5". kohanaframework.org. Retrieved 2016-03-10.
- "Release - laravel/framework". github.com. Retrieved 2020-08-04.
- "Releases - UnionOfRAD/lithium". github.com. Retrieved 27 February 2020.
- "Nette Framework - first commit". nette.org. 2014. Retrieved 2014-04-23.
- "Released version 3.0.0". June 2020.
- "Nette Framework Licence". nette.org. 2014. Retrieved 2014-04-23.
- "Release Version 4.0.6 · phalcon/cphalcon". github.com. 2020-05-16. Retrieved 2020-05-16.
- "Releases - popphp/popphp-framework". github.com. 2019-10-17. Retrieved 2019-05-30.
- "PRADO PHP Framework". prafoframework.net. Retrieved 9 June 2020.
- "License of PRADO". pradosoft.com. 2013. Archived from the original on 2013-10-16. Retrieved 2013-10-16.
- "Changelog". sensiolabs.org. Retrieved 30 May 2019.
- "Stable Download". silverstripe.org. Retrieved 2020-07-14.
- "unix-world / Smart.Framework". github.com. Retrieved 2020-06-10.
- "Symfony 5.1.3 released". symfony.com. Retrieved 2020-08-07.
- "Yii 2.0.35". yiiframework.com. Retrieved 2020-06-09.
- "GitHub - zendframework/zendframework: Official Zend Framework repository". 20 March 2019 – via GitHub.
- "Releases · bottlepy/bottle · GitHub". 21 June 2019. Retrieved 5 September 2019 – via GitHub.
- Team, CherryPy. "CherryPy · PyPI". Retrieved 5 September 2019 – via PyPI.
- "cubicweb 3.27.0 [published]". cubicweb.org. Retrieved 2020-02-23.
- "Django 3.0.8 release notes - Django documentation - Django". docs.djangoproject.com. Retrieved 2020-07-09.
- "The Python micro framework for building web applications.: pallets/flask". 3 April 2020 – via GitHub.
- Ronacher, Armin. "Flask: A simple framework for building complex web applications" – via PyPI.
- "[Grok-dev] Upgrading grok project". mail.zope.org. 14 February 2013. Retrieved 28 August 2015.
- "Releases".
- "Pyramid Change History".
- "4.7.0.b02 release and Centos 7 Installation Docs". southpawtech.com. Retrieved 2020-02-26.
- "Release notes". TornadoWeb. Tornadoweb.org. Retrieved 5 September 2019.
- "Project Status". Retrieved 5 September 2019.
- "History for VERSION". GitHub. Retrieved 5 September 2019.
- "Changelog - Zope 2 documentation". readthedocs.io. Retrieved 23 February 2020.
- "Padrino 0.14.4 release". Padrino. Padrino. Retrieved 5 September 2019.
- "All versions of rails | RubyGems.org | your community gem host". rubygems.org.
- "Releases · sinatra/sinatra · GitHub". 22 August 2019. Retrieved 5 September 2019 – via GitHub.
- "Archived copy". Archived from the original on 2015-07-22. Retrieved 2015-07-21.CS1 maint: archived copy as title (link)
- "The Opa Blog: Some great news on Opa". Blog.opalang.org. Retrieved 2013-08-18.
- "Releases · SeasideSt/Seaside · GitHub". GitHub. 24 August 2019. Retrieved 5 September 2019.
- "Grails Plugin: Spring Security Core Plugin". Grails.org. 2012-04-06. Retrieved 2013-08-18.
- "Grails Plugin: Apache Shiro Integration for Grails". Grails.org. 2012-04-11. Retrieved 2013-08-18.
- "Installation - 3.7". book.cakephp.org.
- "Server Requirements — CodeIgniter 4 documentation". www.codeigniter.com. Retrieved 2020-06-10.
- "Server Requirements — CodeIgniter 3.1.10 documentation". www.codeigniter.com.
- "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.
- "Change Log : CodeIgniter User Guide". EllisLab, Inc. Archived from the original on 15 May 2015. Retrieved 19 March 2012.
- "Replacing nano.js in Gyroscope". antradar.com. 2014-05-20. Retrieved 2015-08-20.
- "Installation - Lumen - PHP Micro-Framework By Laravel". lumen.laravel.com. Retrieved 2020-05-30.
- "laravel - Localization in Lumen". Stack Overflow. Retrieved 2020-05-30.
- Nette Foundation; c 2008. "Download | Nette Framework". Nette.org. Retrieved 2019-03-21.
- "PRADO QuickStart Tutorial". Pradosoft.com. Archived from the original on 2013-09-28. Retrieved 2013-08-18.
- "Initial Prototyping: Scaffolding | Building a Blog System Using Yii | Yii PHP Framework". Yiiframework.com. Retrieved 2013-08-18.
- "invalid function (default/images)". Web2py.com. Retrieved 2019-03-21.
- "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.
- "ScalaTest". ScalaTest. Retrieved 2013-08-18.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.