Web-Frameworks in Python
Hurra! Ich habe in letzter Zeit ein wenig mit Python rumgespielt und mich da insbesondere für die Web-Frameworks interessiert.
!Die drei großen scheinen Django, TurboGears und Pylons zu sein.
Ich habe sie jeweils nur kurz ausprobiert. Hier meine Erfahrungen:
Django
Django hat für fast alle Aufgaben (Templating, ORM, Routing/Dispatch) eigene Komponenten entwickelt.
- Pro: Fühlt sich sehr integriert und solide an.
- Pro: Einheitliche Dokumentation an einem Ort.
- Contra: Man muss auch jede Komponente neu lernen und wird sie kaum außerhalb Django nutzen können
- Contra: Wenn einem eine Komponente nicht passt, hat man i.d.R. Pech gehabt.
- Contra: Kleinere potenzielle Entwicklerschaft je Komponente.
TurboGears
TurboGears (TG) geht einen anderen Weg und versucht so viele Komponenten wie möglich wiederzuverwenden und zu integrieren. TG 1.0 benutzt standardmäßig Kid für's Templating, SQLObject als ORM und CherryPy fürs Routing/Dispatching. Man hat aber zusätzlich die Möglichkeit mit relativ wenig Aufwand andere Komponenten dafür zu nutzen.
- Pro: Größere Flexibilität
- Pro: Modularer Aufbau
- Pro: Bringt viele nette Helfer mit (z.B. Datenbankeditor)
- Contra: Fühlt sich weniger integriert an als Django
- Contra: Größere Komplexität
- Contra: Die in Version 1.0 standardmäßig verwendeten Komponenten sind nicht mehr State of the Art.
Pylons
Pylons geht den gleichen Weg wie TG, benutzt aber "modernere" Komponenten wie SQLAlchemy als ORM und Routes fürs Routing/Dispatching. Außerdem setzt es auf WSGI auf und hat somit eine solide Basis, die auch eine bessere Wiederverwendung von Anwendungsteilen ermöglichen soll.
- Pro: Extrem modular
- Pro: Nutzt moderne Komponenten
- Pro: Setzt auf WSGI auf
- Pro: Hat möglicherweise das größte Potenzial
- Contra: Fühlt sich am wenigsten integriert an
Die gute Nachricht
Da ich kein Freund von monolithischen Systemen bin, war ich zwischen TG und Pylons hin- und hergerissen. TG fühlt sich etwas integrierter and und bringt mehr Goodies mit. Pylons ist hingegen moderner.
Diese Probleme scheinen sich aber bald zu lösen! Denn wie Mark Ramm in seinem Blog schreibt, wird TG 1.1 modernere Komponenten wie Genshi und SQLAlchemy nutzen. TG 2.0 wird sogar komplett auf Pylons aufsetzen und damit von dessen Vorteilen profitieren können.
Da freut man sich doch drauf :)
Erstellt am 28.06.2007 um 20:06 Uhr von streawkceur.
Abrufe: 14815
-
Kommentare: 1 -
Trackbacks: 0 -
Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=41.
Tags: django, framework, pylons, python, turbogears, web, webdev, webframework, wsgi.
Kommentare
Autor: | |
---|---|
Datum: | 17.07.2007 um 15:06 Uhr. |
Kommentar: | Hallo Thomas, netter Artikel! Warst du eigentlich schon mal bei einem unserer pyCologne-Treffen? Falls ja und wir uns sogar schon kennenfelernt haben sollten, sorry, ich habe ei schlechtes Namensgedächtnis ;-( Vielleicht bis demnächst Chris |