Thread Perl für Weboberflächen noch zeitgemäß (35 answers)
Opened by peterstu at 2018-03-11 08:29

renee
 2018-03-12 09:15
#188123 #188123
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Mojolicious und Dancer sind Webframeworks. Diese helfen Dir bei der Entwicklung von Webanwendungen, da sie einige Aufgaben schon übernehmen - wie z.B. das Parsen von Parametern, Zusammenbauen der Antwort, ...

Weiterhin helfen diese Frameworks die verschiedenen Aktionen zum richtigen Code zu führen. Alte Anwendungen "dispatchen" entweder selbst, z.B. über einen "action"-Parameter und einem Hash

Die URL http://domain.example/index.pl?action=speichern soll etwas anderes machen als http://domain.example/index.pl?action=liste.

Über CGI.pm und einem Hash kann das so aussehen
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my $cgi = CGI->new;
my $param = $cgi->param('action');

my %dispatch = (
speicher => \&speichern,
liste => \&liste,
);

my $sub = $dispatch{$param} || $dispatch{liste};
$sub->();


Das ist fehleranfällig und nicht so elegant wie das Dispatching mit Hilfe eines Webframeworks.

Außerdem hat z.B. Mojolicious auch eine eingebaute Template-Engine. Templates sind nur für die Darstellung da, nicht für Businesslogik. Bei obigem Beispiel soll die Funktion liste eine Liste darstellen. Die Funktion "berechnet" die Liste, also die Werte die angezeigt werden sollen. Diese Liste wird dann an das Template übergeben.

Im Template definierst Du dann eine Schleife um dynamisch die Werte anzuzeigen. Im Template wird aber *nicht* die Liste "berechnet".

Du hattest ja eingangs gefragt, ob Perl für Webanwendungen noch zeitgemäß ist. Ein Webanwendung in Perl, die nur CGI.pm und weitere alte Module einsetzt ist nicht mehr zeitgemäß. Mit der Verwendung eines (modernen) Frameworks ist der Einsatz von Perl immer noch zeitgemäß.

Dein Code wird damit in der Regel organisierter, weil die Frameworks die Aufteilung von Code besser unterstützt als wenn man alles selbst macht. Da die Frameworks viele Funktionen schon zur Verfügung stellen, wird Dein Code normalerweise aufgeräumter und übersichtlicher.

Schlechten Code können die Frameworks zwar nicht verhindern, aber sie unterstützen beim Schreiben von gutem Code.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Perl für Weboberflächen noch zeitgemäß