[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