Сравнение фреймворков веб-приложений
Ошибка скрипта: Модуля «Unsubst» не существует.
Это сравнительная таблица каркасов веб-приложений.
Каркасы[править]
Основная информация о каждом из каркасов.
ASP.NET[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
Шаблон:Rh| ASP.NET MVC Framework (ASP.NET MVC) | ASP.NET | 5.2.7 | 29.11.2018 | Apache License 2.0[1] |
Шаблон:Rh| Base One Foundation Component Library (BFC) | ASP.NET | 7.51 | 01.06.2018 | Проприетарная |
Шаблон:Rh| Component-based Scalable Logical Architecture (CSLA) | C#, Visual Basic .NET | 4.9.0 | 04.01.2019 | Проприетарная freeware, без ограничений на использование |
Шаблон:Rh|DNN | ASP.NET | 9.2.2 | 01.10.2018 | MIT |
Шаблон:Rh| Kentico | ASP.NET | 12.0 | 27.11.2018 | Проприетарная |
Шаблон:Rh| MonoRail | ASP.NET | 2.1 RC | 17.03.2011 | Apache License 2.0 |
Шаблон:Rh| OpenRasta | ASP.NET | 2.0 RC | 04.11.2009 | MIT |
Шаблон:Rh| Nancy | C#, Visual Basic .NET | 1.4.4 | 20.07.2017 | MIT |
C++[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| CppCMS | 1.2.1 | 18.05.2018 | MIT |
Шаблон:Rh| Tntnet | 2.2.1 | 17.01.2014 | LGPL |
Шаблон:Rh| Wt | 4.0.5 | 14.12.2018 | GPL, Проприетарная |
ColdFusion Markup Language (CFML)[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| ColdBox Platform | 5.3.0+837 | 11.01.2019 | Apache License 2.0 |
Шаблон:Rh| ColdFusion on Wheels | 2.0.1 | 31.01.2018 | Apache License 2.0 |
Шаблон:Rh| ColdSpring | 1.2 | 12.09.2008 | Apache License 2.0 |
Шаблон:Rh| Fusebox | 5.5.2 | 08.05.2012 | Apache License |
Шаблон:Rh| FW/1 | 4.2.0 | 27.05.2018 | Apache License 2.0 |
Шаблон:Rh| Mach-II | 1.8.1 | 20.09.2010 | GPLv3 with Classpath exception |
Шаблон:Rh| Model-Glue | 3.2 | 14.10.2014 | Apache License 2.0 |
Шаблон:Rh| onTap | 3.4.0 | 01.05.2014 | BSD |
ECMAScript[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
Шаблон:Rh| Flex | ActionScript, MXML | 4.16.1 | 14.03.2017 | Apache License |
Java[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| Apache Click | 2.3.0 | 27.03.2011 | Apache License 2.0 |
Шаблон:Rh| Apache OFBiz | 16.11.05 | 02.10.2018 | Apache License 2.0 |
Шаблон:Rh| Apache Shale | 1.0.4 | 19.12.2007 | Apache License |
Шаблон:Rh| Apache Sling | 11.0 | 23.10.2018 | Apache License 2.0 |
Шаблон:Rh| Apache Struts | 2.5.20 | 09.01.2019 | Apache License 2.0 |
Шаблон:Rh| Apache Tapestry | 5.4.4 | 18.12.2018 | Apache License 2.0 |
Шаблон:Rh| Liferay | 7.1.2 GA3 | 28.01.2019 | LGPL |
Шаблон:Rh| Apache Wicket | 8.3.0 | 31.01.2019 | Apache License 2.0 |
Шаблон:Rh| AppFuse | 3.5.0 | 25.02.2015 | Apache License |
Шаблон:Rh| Eclipse RAP | 3.8.0 | 20.03.2019 | Eclipse Public License (EPL) |
Шаблон:Rh| FormEngine | 2.0.1 | 08.05.2012 | MIT, Проприетарная |
Шаблон:Rh| Grails | 3.3.9 | 04.12.2018 | Apache License 2.0 |
Шаблон:Rh| Google Web Toolkit | 2.8.2 | 19.10.2017 | Apache License 2.0 |
Шаблон:Rh| Hamlets | 1.7.1 | 29.06.2012 | BSD |
Шаблон:Rh| ItsNat | 1.4 | 18.09.2015 | LGPL, Проприетарная |
Шаблон:Rh| JavaServer Faces | 2.3.0 | 28.05.2017 | Implementation dependent |
Шаблон:Rh| JBoss Seam | 3.1.0 final | 13.01.2012 | LGPL |
Шаблон:Rh| Jspx-bay | 1.1.0 | 23.12.2015 | Apache License 2.0, WTFPL |
Шаблон:Rh| JVx WebUI | 2.8 | 19.12.2018 | Apache License 2.0 |
Шаблон:Rh| ManyDesigns Portofino | 4.2.6 | 15.02.2019 | LGPL |
Шаблон:Rh| OpenLaszlo | 4.9.0 | 21.10.2010 | CPL |
Шаблон:Rh| OpenXava | 6.0.2 | 23.01.2019 | LGPL |
Шаблон:Rh| Oracle ADF | 12.2.1.3.0 | 08.2017 | Oracle Technology Network Developer License |
Шаблон:Rh| Play! | 2.7.0 | 01.02.2019 | Apache License 2.0 |
Шаблон:Rh| RIFE | 1.6.1 | 14.07.2007 | CDDL, LGPL |
Шаблон:Rh| SmartClient | 12.0 | 23.03.2019 | LGPL |
Шаблон:Rh| Spring | 6.0.3 | 15.12.2022 | Apache License 2.0 |
Шаблон:Rh| Stripes | 1.6.0 | 23.07.2015 | Apache License 2.0 |
Шаблон:Rh| ThinWire | 1.2 | 17.09.2007 | GPL |
Шаблон:Rh| Vaadin | 13.0.1 | 11.03.2019 | Apache License 2.0 |
Шаблон:Rh| Wavemaker | 10.0 | 20.11.2018 | Apache License |
Шаблон:Rh| WebObjects | 5.4.3 | 15.09.2008 | Проприетарная |
Шаблон:Rh| WebWork | 2.2.6 | 21.07.2007 | Apache License |
Шаблон:Rh| ZK | 8.6.1 | 05.03.2019 | LGPL, ZOL |
Шаблон:Rh| ztemplates | 2.4.0 | 11.09.2011 | Apache License 2.0 |
JavaScript[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh|AngularJS | 1.7.8 | 11.03.2019 | MIT License |
Шаблон:Rh|Backbone.js | 1.4.0 | 19.02.2019 | MIT License |
Шаблон:Rh|SproutCore | 1.11.2-25 | 23.01.2019 | MIT License |
Шаблон:Rh|Ember.js | 3.8.0 | 19.02.2019 | MIT License |
Шаблон:Rh|Express.js | 4.16.4 | 10.10.2018 | MIT License |
Шаблон:Rh|Knockout.js | 3.5.0 | 22.02.2019 | MIT License |
Шаблон:Rh|Meteor | 1.8.0.2 | 07.01.2019 | MIT License |
Шаблон:Rh|OpenUI5 | 1.63.1 | 19.03.2019 | Apache License 2.0 |
Шаблон:Rh|qooxdoo | 6.0.0 | 24.02.2021 | MIT License |
Шаблон:Rh|ReactJS | 16.8.5 | 22.03.2019 | MIT License |
Шаблон:Rh|Unified.js | 7.1.0 | 13.12.2018 | MIT License |
Scala[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| Play! | 2.7.0 | 01.02.2019 | Apache License 2.0 |
Шаблон:Rh| Spray | 1.3.4 | 30.09.2016 | Apache License 2.0 |
Шаблон:Rh| Lift | 3.3.0 | 11.07.2018 | Apache License 2.0 |
Perl[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| Catalyst | 5.90012 | 19.05.2012 | Artistic, GPL |
Шаблон:Rh| Dancer | 1.3512 | 31.03.2019 | Artistic, GPL |
Шаблон:Rh| Dancer2 | 0.208001 | 04.08.2019 | |
Шаблон:Rh| Mason | 2.19 | 02.05.2012 | Artistic, GPL |
Шаблон:Rh| Maypole | 2.13 | 18.04.2008 | Artistic, GPL |
Шаблон:Rh| Mojolicious | 8.24 | 11.09.2019 | Artistic |
Шаблон:Rh| Reaction | 0.002005 | 08.03.2011 | Artistic, GPL |
Kelp | 0.9071 | 03.04.2015 | Artistic, GPL |
PHP[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Python[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| BlueBream | 1.0 | 18.01.2011 | ZPL |
Шаблон:Rh| Bottle | 0.12 | 19.07.2013 | MIT |
Шаблон:Rh| CherryPy | 5.1.0 | 10.03.2016 | BSD |
Шаблон:Rh| CubicWeb | 3.20.4[10] | 06.02.2015 | LGPL |
Шаблон:Rh| Django | 3.0.3 | 03.02.2020 | BSD |
Шаблон:Rh| Flask | 1.1.2 | 03.04.2020[11] | BSD |
Шаблон:Rh| Grok | 1.4 | 04.04.2011 | ZPL |
Шаблон:Rh| Nagare | 0.4.1 | 18.01.2012 | BSD |
Шаблон:Rh| Plone | 5.0.0 | 28.09.2015 | GPL |
Шаблон:Rh| Pyjamas | 0.8 | 01.06.2012 | Apache |
Шаблон:Rh| Pylons | 1.0.2 | 21.07.2015 | BSD |
Шаблон:Rh| Pyramid | 1.9.2 | 23.04.2018 | BSD |
Шаблон:Rh| Tornado | 5.1[12] | 12.07.2018 | Apache |
Шаблон:Rh| TurboGears | 2.3.4 | 03.10.2014 | MIT, LGPL |
Шаблон:Rh| web2py | 2.9.12 | 17.01.2015[13] | LGPLv3 |
Шаблон:Rh| Webware | 1.1 | 03.08.2011 | Python |
Шаблон:Rh| Zope 2 | 2.13.15 | 22.06.2012[14] | ZPL |
Ruby[править]
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Шаблон:Rh| Camping | 2.1 | 20.08.2010 | MIT |
Шаблон:Rh| Hanami | 1.0.0 | 06.04.2017 | MIT |
Шаблон:Rh| Ruby on Rails | 5.2.3.rc1 | 22.03.2019 | MIT, Ruby |
Шаблон:Rh| Ramaze | 2011.07.25 | 25.07.2011 | Ruby |
Шаблон:Rh| Sinatra | 1.4.6 | 23.03.2015 | MIT |
Шаблон:Rh| Rango | 0.2 | 03.2009 | |
Шаблон:Rh| Merb | 1.1.2 | 17.06.2010 | MIT |
Шаблон:Rh| Nitro | 0.41 | 12.12.2006 | BSD |
Шаблон:Rh| Padrino | 0.12.5 | 22.02.2015 | MIT |
Шаблон:Rh| PureMVC | 2.0.4 | 14.08.2008 | CC +Attribution |
Другие[править]
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
Шаблон:Rh| AIDA/Web | Smalltalk | 6.5 | 27.08.2012 | MIT |
Шаблон:Rh| Application Express | PL/SQL | 4.2 | 15.10.2012 | Проприетарная freeware |
Шаблон:Rh| Grails | Groovy (JVM) | 2.0.1 | 14.02.2012 | Apache |
Шаблон:Rh| Kepler | Lua | 1.1.1 | 11.03.2009 | MIT |
Шаблон:Rh| Morfik | C#, BASIC, Pascal, Java | 3.0.8.1 | 13.12.2010 | Проприетарная freeware |
Шаблон:Rh| Noir | Clojure | 1.2.2 | ? | Eclipse |
Шаблон:Rh| Ocsigen | OCaml | 2.0.4 | 09.03.2012 | LGPL |
Шаблон:Rh| Opa | Opa | 1.0.5 | 02.08.2012 | MIT and AGPL |
Шаблон:Rh| OpenACS | Tcl | 5.8.1 | 25.10.2014 | GPL |
Шаблон:Rh| Seaside | Smalltalk | 3.0 | 13.09.2010 | MIT |
Шаблон:Rh| Compojure | Clojure | 1.0.1 | 08.01.2012 | Eclipse |
Шаблон:Rh| Zotonic | Erlang | 0.8.1 | 11.08.2012 | Apache |
Шаблон:Rh| vibe.d | D | 0.9.2 | 02.09.2020 | MIT |
Сравнение возможностей каркасов[править]
ASP.NET[править]
Проект | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| ASP.NET MVC | Да | Да | Push | Да | ORM-independent | Unit tests, Functional Tests, Integration Tests | Entity Framework | ASP.NET Forms Authentication (Default), Pluggable | Razor (Default), ASPX, Pluggable | Да | Да (client-side via plugins) |
Шаблон:Rh| BFC | Да | Not mandatory | Push & pull | Да | via active Словарь данных | Unit tests | security groups and rules | Да | Метаданные, result sets | Data dictionary driven | |
Шаблон:Rh| DotNetNuke | Да | Нет | Pull | Да | SubSonic, NHibernate | Unit tests | Да | ACL-based (OpenID, LiveID, Active Directory, LDAP, Windows CardSpace, ASP.NET Forms Authentication) | Да | Pluggable | ASP.NET Validators, built-in API |
Шаблон:Rh| Kentico cms | Да | Да | Push & Pull | Да | Proprietary, customizable | Unit tests | Import toolkit | ACL-based (OpenID, LiveID, Active Directory, LDAP, Windows CardSpace, ASP.NET Forms Authentication, FB connect) | Да | Customizable | ASP.NET Validators, built-in API |
Шаблон:Rh| MonoRail | Prototype | ActiveRecord | Push | Да | ActiveRecord | Unit tests | via ASP.NET Forms Authentication | Да | Да | Да | |
Шаблон:Rh| OpenRasta | Нет | Да | Push | Да | ORM-independent | Unit tests | Нет | HTTP Digest and via ASP.NET Forms Authentication or host environment | Да | Нет | Нет |
C++[править]
Проект | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| CppCMS | Да | Да | Push | Да | CppDB | Нет | Нет | Да | Да | Да | Да |
Шаблон:Rh| Wt | Да | Да | Push & Pull | Да | Wt::Dbo | Boost.test | Да | Нет | Нет | Да | |
Шаблон:Rh| Tntnet | Да | Нет | Нет | Да | Tntdb | Нет | Нет | Нет | Да | Нет | Нет |
ColdFusion Markup Language (CFML)[править]
Проект | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| ColdBox Platform | Да | Да | Push-pull | Да | Да | via MockBox, MXUnit, others | via plugin | Да | Да | Да | via plugin |
Шаблон:Rh| ColdFusion on Wheels | Да | Да | via plugin jLingua | Да | Да integrated RocketUnit | via plugin | Да | via plugin | Да | ||
Шаблон:Rh| Fusebox | via CF or any JavaScript library | optional | Push | Нет, custom | via lexicons for Transfer, Reactor | via MXUnit, others | Нет | via plugins | via lexicon for ColdSpring | Нет | |
Шаблон:Rh| Mach-II | via CF or any JavaScript library | Да | Push | via plugin | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | |||
Шаблон:Rh| Model-Glue | via CF or any JavaScript library | Да | Push | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | ||||
Шаблон:Rh| onTap | native features + Prototype + script.aculo.us | optional | Push | Да | DataFaucet [1] | via MXUnit, others | DataFaucet has potential — supports multiple db platforms | Members onTap Plugin | Да | Да | Да |
Проект | 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) |
ECMAScript[править]
Проект | Язык | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| Flex | ActionScript, MXML | Not by name but similar technology[15] | FlexUnit |
Java[править]
Проект | Язык | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| Spring | Java | Да | Да | Push | Да | Hibernate, iBatis, more | Mock objects, unit tests | Spring Security (formerly Acegi) | JSP, Commons Tiles, Velocity, Thymeleaf, more | ehcache, more | Commons validator, Bean Validation | |
Шаблон:Rh| Apache Click | Java | jQuery | Page oriented | Pull | Да | Hibernate, Cayenne | Да | pluggable | Velocity, JSP | Cached templates | Built-in validation | |
Шаблон:Rh| Apache OFBiz | Java | Prototype | Да | Push-pull | Да | Entity Engine(OOTB ORM) | JUnit | Entity Engine Tools, Data File Tool, CSV Parser, Apache POI | OOTB Security framework | Freemarker(Recommended), Velocity(Support Available), JSP(Support Available) | OOTB Cache Maintenance | Server side validation, Client Side Validation(Prototype) |
Шаблон:Rh| Apache Sling | Java | Да | Да | Push-pull | Uses JCR content repository | Да | Да | Да | ||||
Шаблон:Rh| Apache Struts | Java | Да | Да | Push-pull | Да | Да | Unit tests | Да | Да | |||
Шаблон:Rh| Apache Wicket | Java | Extensions for YUI, ExtJS, more | Modular event driven | Pull | Да | with extensions | Mock objects, unit and integration tests via extension | Да | Да | Да | Да | |
Шаблон:Rh| FormEngine | Java | Да | Да | own connector API | Ajax validation on server and form state update | |||||||
Шаблон:Rh| ItsNat | Java | Да | event driven | Push | using Java i18n | external, built-in | pluggable | pure HTML-SVG | page caching | normal Java | ||
Шаблон:Rh| JavaServer Faces | Java | Да | Да | Pull | Да | с расширениями | JUnit | Да | Facelets, JSP | Да | Native validators, integration with Bean Validation | |
Шаблон:Rh| JBoss Seam | Java | Да | Да | Pull | Да | JPA, Hibernate | JUnit, TestNG | JAAS integration, Drools, Hibernate Filters, OpenID, CAPTCHA | Facelets | JBoss Cache, EHcache | Hibernate Validator | |
Шаблон:Rh| Jspx-bay | Java | Да | Page oriented | Own API | JAAS integration | Master-content pages | Internal UI validation controls | |||||
Шаблон:Rh| JVx WebUI | Java | Да | Model Driven | Да | pluggable | JUnit | Да | Single sourcing | pluggable | |||
Шаблон:Rh| OpenXava | Java | Да | Model Driven | Да | JPA, Hibernate, EJB2 CMP | JUnit | Hibernate tools | uses JSR-168 portal security | UI is automatically generated | uses portal and JPA caching | Да | |
Шаблон:Rh| Play | Java | Да | Да | Push-pull | Да | JPA, Hibernate | JUnit, Selenium | Да | via Core Security module | Да | Да | Server-side validation |
Шаблон:Rh| RIFE | Java | DWR | Да | Push-pull | Да | Да | Out of container testing | Да | Да | Integration with Terracotta | Да | |
Шаблон:Rh| Stripes | Java | Да | Да | Pull | Да | JPA, Hibernate | Да | framework extension | Да | Да | ||
Шаблон:Rh| Apache Tapestry | Java | Да | Да | Pull | Да | Hibernate and JPA | Selenium and TestNG or JUnit | external module: Tapestry-security (Apache Shiro) | Да | built-in validation system | ||
Шаблон:Rh| Vaadin | Java | GWT | Pull | Да | Да | Да | Да | Да | ||||
Шаблон:Rh| Wavemaker | JavaScript (client), Java (server) | Dojo Toolkit | Да | Push | Dojo Toolkit | Hibernate | JUnit | Hibernate | Spring Security (formerly Acegi), role-based access control | Dojo Toolkit | Dojo Toolkit | Regular expression, schema-driven validation |
Шаблон:Rh| WebObjects | Java | Да | Да | Push-pull | Да | EOF | WOUnit (JUnit), TestNG, Selenium | in Project WONDER | Да | Да | Да | |
Шаблон:Rh| ztemplates | Java JDK 1.5 or newer | integrates YUI, Google, etc., with annotations | Да | 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) | ||
Шаблон:Rh| Google Web Toolkit | Java, JavaScript | Да | Да | JPA with RequestFactory | JUnit (too early), jsUnit (too difficult), Selenium (best) | via Java | Да | Bean Validation | ||||
Шаблон:Rh| ZK | Java, ZUML | jQuery | Да | Push-pull | Да | any J2EE ORM framework | JUnit,ZTL | HibernateUtil, SpringUtil | Spring Security | Macro components & composition | Да | client, server |
Проект | Язык | 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) |
JavaScript[править]
Проект | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| qooxdoo | Да | Data binding | i18n | Testrunner | Form Validation | ||||||
Шаблон:Rh| SproutCore | Да | Да |
Perl[править]
Проект | Язык | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| Catalyst | Perl | Toolkit-independent (REST & JSON support, specific plugins for Prototype (фреймворк), more) | Да | Push in its most common usage | Да | 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 | |
Шаблон:Rh| Dancer | Perl | Да | Да | Push | Да | DBIx::Class, ORMesque | Да | ? | ? | Template::Toolkit, HTML::Mason, Text::MicroTemplate, any extant Perl template engine | Cache, memcached, shared memory, more | DataFu, any extant Perl form validation software |
Шаблон:Rh| Interchange | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Шаблон:Rh| Mason | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Шаблон:Rh| Maypole | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Шаблон:Rh| Mojolicious | Perl | Toolkit-independent (REST & JSON support | No explicit model support though commonly used as MVC | Push | Да | Да | Нет | Test::Mojo | Нет | Да | Built-in Perl templating, Template::Toolkit and several others via plugins | Нет |
Шаблон:Rh| Reaction | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PHP[править]
Проект | Создан | Язык | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| AppFlower | 02.2009 | PHP 5 | ExtJS | Да | Push | Да | Propel | Да | Plugin exists | Plugin | Да | Да | Да | Да |
Шаблон:Rh| CakePHP | 08.2005 | PHP 5.2+ | Prototype, script.aculo.us, jQuery, jQuery UI, MooTools, MooTools More | Да | Push | Да | ActiveRecord (CakePHP 1.x), ActiveRecord (CakePHP 2.x) | Unit tests, object mocking, fixtures, code coverage, memory analysis with SimpleTest and XDebug PHPUnit (cakephp 2.0) | Да | ACL-based | Themes, layouts, views, elements | Memcache, XCache, APC, File | Validation, security | Да |
Шаблон:Rh| CodeIgniter | 01.2006 | PHP >= 5.2.4 | Any | Да | Push | Mostly[16] | Third party only | Ready for next release | Да | Да | Да | Да | Да | Нет[17] |
Шаблон:Rh| Drupal | 01.2001 | PHP | jQuery, jQuery UI, more | PAC | N/A | Да | Optional module | SimpleTest | Да | Да | Да | Memcache, APC, Varnish, more | Да | Нет |
Шаблон:Rh| FuelPHP | 10.2010 | PHP >= 5.3.x | Да | MVC, HMVC | Push | Да | Да | PHPUnit | Да | Да, Plugins available | Да, Plugins available | File, Redis, Memcache, more | Да | Да |
Шаблон:Rh| Fusebox | 11.1997 | PHP | Да | Not mandatory | Push | Нет, custom | Multiple plugins available | via qforms or built in PHP validation | Да | |||||
Шаблон:Rh| Joomla | 09.2005 | PHP >= 5.3.x | Да Mootools 1.3 | Да | Push-pull | Да | Да | Unit tests | Нет | Да | Да | Да | Да | Нет |
Шаблон:Rh| Kajona | 06.2004 | PHP 5 | Да | Да | Да | Да | Да | Unit tests | Automatic | Да | Да | Да | Да | Нет |
Шаблон:Rh| Midgard | 05.1999 | PHP | jQuery | MidCOM | Pull | Да | Midgard | PHPUnit | datagard | ACL-based | PHP, TAL | Memcache | Да | Нет |
Шаблон:Rh| PRADO | 07.2004 | PHP 5 (>=5.3.0) | Prototype, script.aculo.us, own components[18] | Да | Push-pull | Да | (DAO), ActiveRecord, SQLMap data mapper | PHPUnit | Нет | Да | XML-based, similar to ASP.NETs[19] | APC, Database, eAccelerator, memcached, XCache | Да[20] | Да[21] |
Шаблон:Rh| Qcodo | 10.2005 | PHP 5 | built-in | QControl | Push | Да | XML-based | Inherent | QForm and QControl | Да | Да | Нет | ||
Шаблон:Rh| SilverStripe (Sapphire) | 11.2005 | PHP 5 (>=5.2) | jQuery, jQuery UI | Push-pull | Да | ActiveRecord | Unit tests | Automatic | incl. OpenID | Да | Да | Да | ||
Шаблон:Rh| Symfony | 10.2005 | PHP 5 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Да | Push | Да | Propel, Doctrine (YAML) | Да | Plugin exists (alpha code) | Plugin | PHP, Twig | Да | Да | Да |
Шаблон:Rh| Symfony 2 | 2010 | PHP 5.3 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Да | Push | Да | Propel, Doctrine (YAML) | Да | Plugin exists (alpha code) | Plugin | PHP, Twig | Да | Да | Да |
Шаблон:Rh| Yii | 01.2008 | PHP 5 (>=5.1.0) | jQuery, jQuery UI, own components, plugins | Да | Push-pull | Да | (DAO), ActiveRecord, плагины (incl. Doctrine 2.0) | PHPUnit, Selenium | Да | ACL, RBAC, плагины | PHP, PRADO, плагины | APC, Database, eAccelerator, File, Memcache, Redis, WinCache, XCache, Zend Platform | Да | Да[22] |
Шаблон:Rh| Zend Framework | 03.2006 | PHP 5 (>=5.2.4) | Toolkit-independent | Да | Push-pull | Да | Table and row data gateway and Doctrine 2.0 for Zend Framework 2.0 | Unit tests | Да | ACL-based | Да | Да | Да | Нет |
Шаблон:Rh| Zikula | 06.2008 | PHP | Да | Да | N/A | Да | Да | PHPUnit | Да | Да | Да | Да | Да | Нет |
Python[править]
Проект | Язык | 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.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| CherryPy | Python | Да | controller & URL dispatching | Да | ORM agnostic | использует unittest и doctest из stdlib | зависит от ORM | Templating engine agnostic | Да | Form validation engine agnostic | Да | ||
Шаблон:Rh| CubicWeb | Python | Да | controller & URL dispatching | Да | Да | Да | Да | Да | Да | Да | Да | Нет | |
Шаблон:Rh| Flask | Python | Да | Да | Push | Да | Да | Да | Да | Да | Jinja2 | Да | Да | Да |
Шаблон:Rh| Grok | Python | Да | Да | Pull | Да | OODBMS called ZODB, SQLAlchemy, Storm | Unit tests, functional tests | ZODB Generations | Да | Да | Да | Да | |
Шаблон:Rh| Pyjamas | Python, JavaScript | Да | Use PureMVC Python version (compiled to JavaScript) | Да | ??, no direct data access | Нет | Нет | ||||||
Шаблон:Rh| Pylons | Python | helpers for Prototype and script.aculo.us | controller | Push | Да | ORM-agnostic | via nose | зависит от ORM | pluggable: Mako, Genshi, Myghty, Kid, другие | Beaker cache (memory, memcached, file, databases) | preferred formencode | Нет | |
Шаблон:Rh| Pyramid | Python | Да | Да | Push | Да | ORM-agnostic | Да | зависит от ORM | Да | pluggable: Chameleon, Genshi; Mako, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | Да |
Шаблон:Rh| Django | Python | Да | Full stack | Push | Да | Django ORM | Да | Provided by South | ACL-based | Django Template Language | Cache Framework | Django Forms API | Да |
Шаблон:Rh| TurboGears | Python | Toolkit-independent, provides support via JSON | Full stack, best-of-breed based | Push | Да | SQLAlchemy | nose | SQLAlchemy-Migrate | Repoze.what & Repoze.who | pluggable: Genshi, more | Support for memcached, and any WSGI compliant system | ToscaWidgets, utilizing FormEncode | Нет |
Шаблон:Rh| web2py | Python | Да | Да | Push | Да | Да | Да | Да | Да | Да | Да | Да | Нет |
Шаблон:Rh| Webware | Python | Нет | Optional | Pull | Нет | Да | Да | Нет | Да | Да | Нет | Нет | Нет |
Шаблон:Rh| BlueBream (Zope 3) | Python | via add-on products, e.g. Plone w/KSS | Да | Pull | Да | ZODB, SQLObject, SQLAlchemy | Unit tests, functional tests | ZODB generations | ACL-based | Да | Да | Да | Нет |
Шаблон:Rh| Zope 2 | Python | Да | Pull | Да | ZODB, SQLObject, SQLAlchemy | Unit tests | ACL-based | Да | Да | CMFFormController | Нет | ||
Шаблон:Rh| mnml | Python | Нет | Нет | Нет | Нет | only development server | Нет | Templating engine agnostic | Нет | Form validation engine agnostic | Нет |
Ruby[править]
Проект | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| Camping | Нет | Да | Push | Нет | ActiveRecord | via Mosquito | Да | Нет | Да | Нет | Нет |
Шаблон:Rh| Nitro | jQuery | Да | Push | Да | Og | RSpec | (automatic) | Да | Да | Да | Да |
Шаблон:Rh| Ruby on Rails | Prototype, script.aculo.us, jQuery | ActiveRecord, Action Pack | Push | Да | ActiveRecord | Unit Tests, Functional Tests and Integration Tests | Да | Plug-in | Да | Да | Да |
Шаблон:Rh| Sinatra | jQuery | Да | Push | Да | ORM-independent | rack-test | Да | through a Rack middleware | Да | through a Rack middleware | Нет |
Другие[править]
Проект | Язык | 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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Шаблон:Rh| AIDA/Web | Smalltalk | Да | Да | Да | Gemstone/S, GLORP, more | SUnit | Да | Да | ||||
Шаблон:Rh|Application Express | PL/SQL | Да | Да | Да | Да | Да | ||||||
Шаблон:Rh| Grails | Groovy | Да | ActiveRecord | Push | Да | GORM, Hibernate | Unit tests, integration test, functional test | multiple plugins: autobase, dbmigrate, more | Spring Security,[23] Apache Shiro[24] | Да | Да | Да |
Шаблон:Rh| Kepler | Lua | Да | ||||||||||
Шаблон:Rh| Lift | Scala | Да | Да | Pull | Да | Да | Да | Да | Да | Да | Да | |
Шаблон:Rh| Ocsigen | OCaml | Да | Да | Да | ||||||||
Шаблон:Rh| Opa | Opa | Да | Да | MongoDB | Да | Да | Да | |||||
Шаблон:Rh| OpenACS | Tcl | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
Шаблон:Rh| Seaside | Smalltalk | jQuery, jQuery UI, Prototype JavaScript Framework, script.aculo.us, more | Да | Да | GLORP, Gemstone/S, more | Unit tests, SUnit | Нет, intentionally | Magritte |
Примечания[править]
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
- ↑ Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
См. также[править]
- Каркас веб-приложений
- Content management systems
- Content Management Framework
- Java view technologies and frameworks
This article "Сравнение фреймворков веб-приложений" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Сравнение фреймворков веб-приложений. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.