Software Frameworks Vergleich:

 

 

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

Prozedurale Programmierung

funktionale Programmierung

niedrig

mittel

hoch

Programmiersprache

Adobe Flash / Actionscript

C/C++

C#

e30

Erlang

JAVA

JavaScript

Objective-C

Perl

PHP

Python

RPG

Ruby

Framework-Klasse(n)

AF, WF

AF, WF

AF, WF

AF, DF

WF

AF, DF, WF

WF

AF, WF

WF

WF

AF, WF

 PP, FP

WF

Bekannte Vertreter

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)

Entwicklungs-Paradigmen

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

Kompilierung | Interpretation

Komp. nötig

Komp. nötig

Komp. nötig

interpretiert

Komp. nötig

Komp. nötig

interpretiert

Komp. nötig

interpretiert und/oder kompiliert (Perl6)

interpretiert

Kompilierung nötig

kompilieren notwendig

interpretiert und/oder kompiliert

Flexibilität bei Datenstruktur-änderung

starr, Neukompilierung erforderlich

starr, Neukompilierung erforderlich

starr, Neukompilierung erforderlich

dynamische Laufzeit-Anpassung

starr, Neukompilierung erforderlich

starr, Neukompilierung erforderlich

dynamische Laufzeit-Anpassung

starr, Neukompilierung erforderlich

dynamische Laufzeit-Anpassung

dynamische Laufzeit-Anpassung

starr, Neukompilierung erforderlich

starr, Neukompilierung erforderlich

dynamische Laufzeit-Anpassung

Datenmigration

nicht unterstützt

nicht unterstützt

«««

«««««

nicht unterstützt

«««

«««

««

««««

«««««

«««««

 

««««

Modularität

««««

««

«««««

«««

««

«««««

«««

««««

«««

««««

««««

 

««««

unterstützte Server Plattformen

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

unterstützte Client Plattformen

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

unterstützte DBMS

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

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

ODBC-kompatibel: 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-kompatibel: DB2, Oracle, MS Access, MS SQL Server, Informix, InstantDB, Interbase, MySQL, PostgreSQL, Sybase, …

PouchDB, SQLite, TaffyDB, Web SQL Database

SQLite, indirekt auch ODBC-kompatibel

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

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

ODBC-kompatibel: 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

Entwicklungs-umgebung: Unterstützung Entwicklungs-prozesse

«««

««««

«««««

«««««

«

«««««

«««

«««««

««««

««««

««««

«««««

««««

Code Dokumentation

unterstützt (FlashDoc)

unterstützt (Doxygen)

unterstützt

unterstützt

unterstützt (EDoc)

unterstützt (JavaDoc)

unterstützt (JSDoc)

unterstützt (HeaderDoc)

unterstützt (POD)

unterstützt (PHPDoc)

unterstützt (PyDoc)

unterstützt (RDoc)

Applikations-dokumentation

nicht unterstützt

nicht unterstützt

nicht unterstützt

unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

nicht unterstützt

ERP-Unterstützung

nicht unterstützt

nicht unterstützt

«««

«««««

«««

««««

nicht unterstützt

nicht unterstützt

nicht unterstützt

«««

«««

«

«««

Mehrsprachenfähigkeit

«««

«««««

«««««

««««

«««««

«««««

«

«««««

«««««

«««««

«««««

««

««««

Applikationstransparenz

«

««

«««

«««««

«««

«««

««

«

«««

««««

««««

«««

«««

Wartbarkeit

«««

««

«««

«««««

««

«««

«««

«««

««

«««

««««

«««

«««

Support

«««

««««

«««««

««««

««

«««««

««««

«««

«««

«««««

««««

«««

Rapid Application Development

«««««

«««

«««««

«««««

«

«««««

«««««

«««««

«««««

«««««

«««««

«««««

Portabilität

«««««

«««

«««

«««««

««

«««««

««««

«

«««««

««««

«««««

«

«««

Testumgebung

«««««

«««««

«««««

«««

«««

«««««

«««««

«««««

«««««

«««««

«««««

«««««

Deployment Unterstützung

««««

«««

«««««

«««««

nicht unterstützt

««««

««««

««««

««««

««««

««««

«

«««««

Konfigurations-management

indirekt

indirekt

integriert

integriert

nicht unterstützt

integriert

integriert

integriert

indirekt

integriert

indirekt

integriert

Benutzerverwaltung / Rechte-management

««

«

«««««

«««««

nicht unterstützt

«««««

indirekt

«

««««

«««««

«««««

«««««

Redundanzfreiheit

«««

«««

««««

«««««

««

««««

«««

«««

«««

«««

««««

««

««««

Integration in heterogene Umgebungen

indirekt

«««

«««««

«««««

«

«««««

indirekt

«

««««

«««

««««

««

««

Interoperabilität

«

««««

«««««

«««««

«

««««

«««

«

«««««

««««

««««

«««

Software Lifecycle Unterstützung / Abwärts-kompatibilität

«

«

««

«««««

«

«««

««

«

«

««

«««

«

««

Programmierkenntnisse / Erlernbarkeit

erforderlich

«««

fortgeschritten

«

fortgeschritten

««

keine erforderlich

«««««

fortgeschritten

«

fortgeschritten

««

erforderlich

«««

fortgeschritten

««

fortgeschritten

«

erforderlich

«««

erforderlich

«««

fortgeschritten

««

erforderlich

«««