Software Frameworks Comparision:

 

 

Legende:

 

WF

AF

DF

DDD

MDD

OOP

 

Webframework

Application Framework

Domain Framework

Domain Driven Design

Model Driven Development

Object-Oriented Programming

MP

PP

FP

«

«««

«««««

Meta Programming

Procedural programming

Functional programming

low

middle

high

Programming language

Adobe Flash / Actionscript

C/C++

C#

e30

Erlang

JAVA

JavaScript

Objective-C

Perl

PHP

Python

RPG

Ruby

Framework type

AF, WF

AF, WF

AF, WF

AF, DF

WF

AF, DF, WF

WF

AF, WF

WF

WF

AF, WF

 PP, FP

WF

Frameworks

Apache Flex (WF), Granite data services (AF)

CppCMS (WF), CSP (WF), Microsoft Foundation Classes (AF), Q't (AF), wxWidgets (AF)

Microsoft .NET (AF,WF), Spring.NET (AF)

e30(AF, DF)

ChicagoBoss (WF), Nitrogen (WF), Zotonic (WF)

Apache Isis (DF), Apache Wicket (WF), Eclipse Rich Client Platform (AF), Java Server Faces (WF), JBoss Seam (WF), Spring (AF,WF), Struts (WF)

ExtJS (WF), Google Web Toolkit (WF), jQuery (WF), Prototype (WF), Scriptaculous (WF)

Cocoa (AF), Frothkit (WF)

Catalyst (WF), Dancer (WF), Gantry (WF), Mojolicious (WF)

CakePHP (WF), Drupal (WF), Joomla (WF), Symfony (WF), TYPO««« Flow (WF), Yii (WF), Zend (WF)

Django (WF), Grok (WF), Pylons (WF), PyQt (AF), Pyramid (WF), Tkinter (AF), Zope (WF)

IBM visual Age RPG ASNA visual RPG

Infinite400

Rational

Camping (WF), Nitro (WF), RubyOnRails (WF), Sinatra (WF)

Development paradigms

OOP

OOP, PP

DDD/MDD, OOP

DDD/MDD, MP

FP

DDD/MDD, OOP

OOP, PP

OOP

FP, OOP, PP

DDD/MDD, FP, OOP, PP

OOP, PP

DDD/MDD, MP

OOP, PP

Compiling vs. interpreting

needs compilation

needs compilation

needs compilation

intepreted

needs compilation

needs compilation

intepreted

needs compilation

intepreted and/or compiled (Perl6)

intepreted

needs compilation/span>

needs compilation

intepreted and/or compiled

Flexiblity in data structure modification

unflexible, needs compilation

unflexible, needs compilation

unflexible, needs compilation

dynamic runtime adaptation

unflexible, needs compilation

unflexible, needs compilation

dynamic runtime adaptation

unflexible, needs compilation

dynamic runtime adaptation

dynamic runtime adaptation

unflexible, needs compilation

unflexible, needs compilation

dynamic runtime adaptation

Data migration

not supported

not supported

«««

«««««

not supported

«««

«««

««

««««

«««««

«««««

 

««««

Modularität

««««

««

«««««

«««

««

«««««

«««

««««

«««

««««

««««

 

««««

Supported server platforms

Mac OS, Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux, Windows

Mac OS, Unix/Linux, Windows

Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux, Windows

Mac OS, Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux

Mac OS, Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux, Windows, IBM System i

Mac OS, Unix/Linux, Windows, IBM System i

Windows, IBM System i

(Unix/Linux)

Mac OS, Unix/Linux, Windows, IBM System i

Supported client platforms

Mac OS, Unix/Linux, Windows, Mobile

Mac OS, Unix/Linux, Windows, Embedded

Mac OS, Unix/Linux, Windows, Mobile

Mac OS, Unix/Linux, Windows, 5250

Mac OS, Unix/Linux, Windows, Embedded, Mobile

Mac OS, Unix/Linux, Windows, Embedded, Mobile

Mac OS, Unix/Linux, Windows, Mobile

Mac OS, Unix/Linux, Mobile

Mac OS, Unix/Linux, Windows, Embedded, Mobile

Mac OS, Unix/Linux, Windows, Mobile

Mac OS, Unix/Linux, Windows, Mobile

5250, Windows

Mac OS, Unix/Linux, Windows, Mobile

Supported DBMS

JDBC-compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

ODBC compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

ODBC-compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

DB2, MS Access, MS SQL Server, MySQL, PostgreSQL, …

CouchDB, MongoDB, MySQL, PostgreSQL

JDBC-compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

PouchDB, SQLite, TaffyDB, Web SQL Database

SQLite, indirectly also ODBC-compatible

Perl-DBI: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

ODBC-compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

ODBC-compatible: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

 

DB2, Firebird, FrontBase, MySQL, OpenBase, Oracle, PostgreSQL, SQLite, Microsoft SQL Server, and Sybase

Developing environment: supported developing processes

«««

««««

«««««

«««««

«

«««««

«««

«««««

««««

««««

««««

«««««

««««

Code documentation

supported (FlashDoc)

supported (Doxygen)

supported

supported

supported (EDoc)

supported (JavaDoc)

supported (JSDoc)

supported (HeaderDoc)

supported (POD)

supported (PHPDoc)

supported (PyDoc)

supported (RDoc)

Application documentation

not supported

not supported

not supported

supported

not supported

not supported

not supported

not supported

not supported

not supported

not supported

not supported

ERP support

not supported

not supported

«««

«««««

«««

««««

not supported

not supported

not supported

«««

«««

«

«««

Multilingualism

«««

«««««

«««««

««««

«««««

«««««

«

«««««

«««««

«««««

«««««

««

««««

Application transparency

«

««

«««

«««««

«««

«««

««

«

«««

««««

««««

«««

«««

Maintainability

«««

««

«««

«««««

««

«««

«««

«««

««

«««

««««

«««

«««

Support

«««

««««

«««««

««««

««

«««««

««««

«««

«««

«««««

««««

«««

Rapid Application Development

«««««

«««

«««««

«««««

«

«««««

«««««

«««««

«««««

«««««

«««««

«««««

Portability

«««««

«««

«««

«««««

««

«««««

««««

«

«««««

««««

«««««

«

«««

Testing environment

«««««

«««««

«««««

«««

«««

«««««

«««««

«««««

«««««

«««««

«««««

«««««

Deployment support

««««

«««

«««««

«««««

not supported

««««

««««

««««

««««

««««

««««

«

«««««

Configuration management

indirectly

indirectly

integrated

integrated

not supported

integrated

integrated

integrated

indirectly

integrated

indirectly

integrated

User/Access management

««

«

«««««

«««««

not supported

«««««

indirectly

«

««««

«««««

«««««

«««««

Free of redundancy

«««

«««

««««

«««««

««

««««

«««

«««

«««

«««

««««

««

««««

Integration into heterogeneous environments

indirectly

«««

«««««

«««««

«

«««««

indirectly

«

««««

«««

««««

««

««

Interoperability/span>

«

««««

«««««

«««««

«

««««

«««

«

«««««

««««

««««

«««

Software Lifecycle support / Backward compatibility

«

«

««

«««««

«

«««

««

«

«

««

«««

«

««

Programming experience / Learnability

basic

«««

advanced

«

advanced

««

not needed

«««««

advanced

«

advanced

««

basic

«««

advanced

««

advanced

«

basic

«««

basic

«««

advanced

««

basic

«««