|
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 ««« |
|||||