[cologne-pm] Template tool / AJAX etc. / Vorstellung
Martin Fabiani
martin at fabiani.net
So Mär 16 05:17:49 PDT 2008
Hallo Leute,
da mich wohl die meisten von Euch noch nicht
kennen, nutze ich die Gelegenheit für eine kurze Vorstellung:
Ich bin 34 Jahre alt, verdiene seit 1998 meine
Brötchen vor allem mit Perl, meist in den
Bereichen, die eher in Richtung
Systemprogrammierung gehen (z.B. Metadirectories,
Identity Management, Automatisierungen) und bin
vor zwei Wochen von Frankfurt nach Köln gezogen
(mehr Details findet Ihr auf meiner Homepage
unter <http://www.fabiani.net/>). Ich leite seit
2003 <http://www.perl-community.de/> und bin auch
auf <http://www.perlmonks.org/> unterwegs (beides unter dem Pseudonym Strat).
Webprogrammierung verwende ich beruflich eher
selten, höchstens mal fuer Admin-GUIs oder
Schnittstellen zu Datenbanken/Directories oder
zur Datenvisualisierung. Momentan entwickle ich
gerade beruflich eine neue Version einer
DB-Abstraktionsschicht, mit der man mit SQL auf
Daten zugreifen kann, die über verschiedene
Datenbanken/XML-Dateien/andere
Datenhaltungssysteme verteilt sind, transparent
zugreifen kann (z.B. eine Tabelle zieht sich über mehrere XML-Daten hinweg).
Meine einzige größere Webanwendung ist (mit Hilfe
einiger Leute von Perl-Community.de wie Renée)
die Forensoftware auf
<http://board.perl-community.de/>, die auf
mod_perl + HTML::Template::Compiled + DBI + MySql
basiert. Mit Catalyst und DBIx::Class habe ich
schon ein wenig rumgespielt, es aber noch nie produktiv eingesetzt.
So, nun will ich auch mal meinen Senf dazugeben;
vielleicht ist es ja für den einen oder anderen hilfreich.
>Jens Gassmann wrote:
>MVC hat viele Vorteile, aber die Trennung in Datenmodell, Datensicht und
>Datenverarbeitung ist natürlich ein Wunschtraum....
>... Ich habe noch keine View gesehen,
>die ich aus einer Forensoftware rausnehmen und fuer eine
>Kalendersofteare verwenden könnte.
Das soll, wenn ich MVC richtig verstehe, auch gar
nicht der Sinn sein. Der Sinn soll meiner Meinung
nach sein, diese Komponenten innerhalb einer
Application(sgruppe) zu trennen und voneinander
zu abstrahieren, damit an fuer Anpassungen einer
Komponente nicht alles andere auch anpassen muss.
Model: z.B. DBIx::Class + Datenbank = Schnittstelle zur Datenbank
Controller: Perl selbst + Daten zur Verfügung stellen für View
View: HTML-Templates (vorzugsweise mit HTML::Template::Compiled oder TT)
Leider lässt sich das meist nicht 100% einhalten,
da man in der Praxis fast immer kleinere
Vermischungen benötigt (z.B. Begingungen oder
Schleifen im Template). Aber je abkstrakter man
die Schnitstellen zwischen den Komponenten
hinbekommt, desto leichter lässt sich die Arbeit
auch aufteilen (zumindest zwischen Webdesignern
und Perl-Programmierern, wenngleich auch da viel kommunikationsbedarf besteht).
Zu den Templating Systemen:
Fuer Webprogrammierung verwende ich lieber
HTML::Template::Compiled als HTML::Template, weil
dies gerade die paar Funktionen mehr bietet, die
man doch manchmal benötigt und bei HTML::Template
eine Vermischung View und Controller erzwingen.
Nebenbei läuft HTC in fast allen Situationen schneller.
TT ist ein sehr mächtiges Templating System. Mir
bietet es jedoch - gerade bei Web-Anwendungen -
fast immer viel mehr an Funktionen als ich
benötige. Da ich nicht bereit bin, den Preis
dafür zu bezahlen, bevorzuge ich HTC.
>At 21:28 15.03.2008, Patrick Krusenotto wrote:
>... XML-Bearbeitung geht wie von selbst mit "XML::Simple". Das Modul denkt
>leider manchmal unaufgefordert mit und behandelt zb attribute, die den
>Namen "name" haben wie Schluessel. Das kann man aber abstellen....
Zu den Modulen: XML::Simple ist sehr einfach,
kann aber dafür auch sehr wenig. Ich bevorzuge
Kombinationen aus LibXML und XPath, die
allerdings um einiges komplexer zu behandeln sind.
XML ist jedoch gerade bei größeren Dateien
und/oder komplexeren Strukturen ein recht
aufwendiges Format. Man sollte überlegen, ob
andere Formate das Leben nicht einfacher (und schneller) machen.
Gruss und einen schönen Sonntag,
Martin
----------
Software Engineering Martin Fabiani:
- Perl-Entwicklung
- Perl-Schulungen
- Metadirectories und Identity Management
- Datensynchronisierungen
mailto:martin at fabiani.net / http://www.fabiani.net/
mailto:m.fabiani at linux-services.org / http://www.linux-services.org/
mailto:strat at perl-community.de / http://www.perl-community.de/
mailto:strat at cpan.org / tel: +49-69-47885599
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/cologne-pm/attachments/20080316/4f436dc0/attachment.html