[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!

Auf den Spuren des Webteams...

geschrieben von encbladexp am 14.11.2009 20:22:00.

Ich hab ja auch vor ca. 2 Jahren angefangen neue Webanwendungen nur noch mit Python zu schreiben da mir PHP langsam aber sicher auf den Keks ging.

Am Anfang habe ich mit SQLite,Cheetah,SVN und CherryPy gearbeitet, was mir damals auch ausreichte. Doch mittlerweile haben sich meine Anforderungen und Wünsche geändert.

Bei der Suche nach Alternativen zu meinen bisherigen Tools war mir vor allem das Ubuntuusers-Webteam sehr hilfreich, daher kurz und Bündig: Danke!

Templating...

Das erste was ich getauscht habe war das Templating, was nicht heißen soll das Cheetah eine schlechte Template Engine wäre. Aber wenn man sich an die Vorteile von Jinja2 (vor allem den prima UTF-8 Support) mal gewöhnt hat will man kaum noch was anderes verwenden. Auch warf Cheetah bei mir viele Fehler bezüglich Python 2.4 Kompatibilität. Ein anderer, in meinen Augen großer, Vorteil ist das Jinja2 seine Template auch aus einer Datenbank oder auch anderswo her beziehen kann.

Datenbank...

Plain-SQL mit SQLite war am Anfang eine schöne Sache, doch jedes mal die Daten in Objekte einzulesen ist natürlich mehr oder weniger Aufwendig und daher auch sehr Fehleranfällig. Es musste also ein ORM her. Schon schnell (und durch einige Tipps vom Webteam) wurde mir klar das SQLAlchemy genau das ist was ich Suche!

Auch eine schöne Sache ist natürlich SQLAlchemy Migrate das es einem auf einfache weise erlaubt sein Datenbanklayout zu verwalten.

Webframework...

Auch an dieser Stelle war ich nach einiger Zeit mit CherryPy nicht mehr zufrieden. Vor allem das URL-Management und die eher fragwürdige Tauglichkeit unterhalb von mod_wsgi machten mir große Probleme. Aber auch cherrypy.session wollte nicht richtig Arbeiten sobald es mit mod_wsgi laufen sollte (Da wurde gerne mal ne Session vergessen).

Auch hier kam ein Tipp vom Webteam: Werkzeug!

Versionsverwaltung...

Am Anfang habe ich hier gerne Subversion verwendet, was vor allem daran lag das ich dies schon (nach CVS) eine halbe Ewigkeit kenne. Nachteilig war vor allem die Mobile Offline Nutzung, den auf ein Repository auf dem Server kommt man ohne Netzwerk/Internetverbindung nicht ran. Mit Mercurial geht das ohne Problem (git oder bazaar hätten das aber natürlich auch geschafft).

Fazit...

Hätte ich gleich das Webteam gefragt hätte ich mir ca. 4 Wochen arbeiten und jede Menge Frust mit Subversion sparen können!

Kommentare

  • Hallo,

    sehr interessant. Ich liebäugle auch mit Python. Wie hast du denn begonnen, bis du PHP komplett durch Python ersetzt hast?

    Kommentar von PHP-User — 15.11.2009 13:48:03 | #

    • Ich habe es parallel zur PHP Version neu geschrieben.

      mfg Betz Stefan

      Kommentar von encbladexp — 17.11.2009 06:28:44 | #