Django - Ein Python-Webframework
1. Juni 2008Wie die meisten Leute unter euch wissen, benutzen wir auf Xairro.com nun das Webframework Python, darüber möchte ich hier etwas erzählen.
An das Teil herangekommen bin ich über Julian (einer der Xairro-Administratoren). Er hat ein Codepastingtool für das alte Xairro gebastelt. Und aufeinmal kam irgendwann BlitzChecker (der andere Xairro-Gründer) und erzählte mir, dass Xairro an seinem Geburtstag auf Django umsteigt. Über meinen Kopf hinweg wurde dies entschieden und mir ist ziemlich schleierhaft, wie Julian es geschafft hat, BlitzChecker zu dem Framework zu überreden. Jedenfalls hieß es: All die (mühevolle) PHP-Arbeit kommt weg, jetzt wird Xairro eine Pythonreferenz. Und so ist es nun seit nicht ganz zwei Wochen amtlich. Die Meinungen spalten sich. Aber ich habe eine Meinung zu Django und diese möchte ich kurz erläutern.
PHP habe ich nie sonderlich gemocht, es gibt einige Sachen, die mir einfach nicht zusprechen. Und auch Python und Django sind nicht perfekt! Aus der Traum der perfekten Entwickeln fürs Web, es ist eine Utopie. So schön Django sich auch anhört, es war ein Schock für mich. Wir hatten schon lange das Ziel, ein großes Portal auf die Beine zu stellen, ohne von etlichen anderen Projekten abhängig zu sein. Das ist jetzt natürlich vorbei und wir sind an Django gebunden. Wenn das Djangoprojekt aufgegeben wird, dann muss noch etwas ganz anderes aufgegeben werden…
Und nun komme ich aber wirklich zum Thema. Mein Bericht über Django.
Die Webentwicklung mit Django unterscheidet sich komplett von der herkömmlichen Programmierung. Es ist nicht wie unter PHP, wo HTML-Dateien Skripte hinzugefügt werden können (mehr ist PHP ja nicht wirklich). Das Konzept ist ein vollkommen anderes. Daher ist es sehr schwer, sich dort flott einzuarbeiten. Ich habe jetzt ca 4 Tage gebraucht, um so langsam was mit Django auf die Beine stellen zu können. Aber das Gute ist, dass man - nach einer intensiven Einarbeitungszeit - relativ einfach und schnell Webseiten veröffentlichen kann. Django bietet dazu einiges an Krims an, um dem Programmierer Arbeit abzunehmen. Da gibt es zum Beispiel die sehr praktischen Model-Objekte, die die SQL-Programmierung zu Alteisen macht. Diese Model-Dinger ermöglichen einen sehr komfortablen Zugriff auf verschiedene Datenbanksysteme. Aber die Implementierung dieser Teile gefällt mir doch nicht so. Es ist tatsächlich so, dass Django in den Quelltexten nach Variablen (!) sucht, die das Framework steuern. Von wegen Funktionen und eleganten Lösungen… Da graust es mir doch schon etwas. Das ist nicht alles, ich habe dauernd viele viele Dateien im Editor geöffnet, da verliere ich schnell den Überblick. Unter PHP-Zeiten hatte ich selten mal vier Dateien offen.
Und so ist das halt in allen Bereichen von Django, überall gibt es echt tolle Sachen, aber es ist halt total anders als die altbekannte Programmiermethode. Ich weiß nicht, was ich über Django denken soll. Ich denke nur noch mit einem Kloß im Hals an all die Stunden Programmierarbeit mit PHP zurück. An eine Applikation erinnere ich mich noch… Jemand hat versucht, sie nach Python zu portieren, hat es auf die Schnelle aber nicht hinbekommen. Da meinte irgendwer zu mir (kp wer): “Vergiss es! Können wir einfach eine fertige Lib nehmen, gibts bestimmt!”. Da ist mir wirklich fast der Kragen geplatz.
Und so ist Django doch noch ziemlich fremd für mich. Mal sehen, was ich in einem halben Jahr schreiben werde.
Außerdem würde ich gerne mal wieder am Xairro OS weiterarbeiten, fern von abstraktesten Highlevelgeschichten, die einem Kopf und Kragen kosten;)
Bis dann!