Skip to content

Einführung in das Webframework Mojolicious in der Programmiersprache Perl

Notifications You must be signed in to change notification settings

Erlangen-pm/mojolicious-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Einführung in das Webframework Mojolicious in der Programmiersprache Perl

Projekt-URL: https://github.com/bedivere/mojolicious-tutorial

Einleitung
==========

Dies ist ein einfaches Hands-On-Tutorial für moderne Webprogrammierung in Perl
am Beispiel des Mojolcious-Frameworks. Das Tutorial richtet sich an Programmierer,
die zumindest mal von Webprogrammierung, relationalen Datenbanken und Perl gehört
haben.

Im Tutorial soll in etwa einer Stunde allgemein etwas zu Perl, Webentwicklung,
MVC-Konzept und unsere Arbeitsumgebung gesagt werden. Das ist zugegebenermaßen
keine sehr lange Zeit, deswegen sind Vorkenntnisse wie unten beschrieben 
unumgänglich. 

Anschließend soll an einem kleinen Beispiel eine Webanwendung in Perl mit
Mojolicious auf Grundlage einer SQLite-Datenbank erstellt werden. Das füllt den
rest des Tages aus (5 bis 7 Stunden).

Während dieses Praktischen Teiles wird neben der eigentlichen Webprogrammierung
auch immer wieder das Programmieren in Perl angesprochen, allerdings kann  das
wegen der geringen Zeit doch nur oberflächlich erfolgen.

Für den ersten theoretischen Teil sind hübbsche bunte Folien vorgesehen (doc/slides).

Der zweite Teil ist praktischer Natur und findet dann als live-Demo im Texteditor der 
Wahl sowie im Kommandozeilenprogramm aka Terminalemulator der Wahl statt.

Am Ende des praktischen Teiles steht eine Webanwendung, die sich vorrangig
auf die Umsetzung der zugrundeliegenden Funktionen bezieht. Ästethische Ansprüche
sowie weiterführenden belangen von Usability oder lustige Effekte mittels Javascript/
JQuery und Ajax werden hier ausgeklammert.

Die Webanwendung, die im praktischen Teil erstellt wird, befasst sich inhaltlich mit
dem Thema Prüfungsverwaltung. Es sollen in einer relationalen Datenbank Listen
von Professoren, Studierenden und Prüfungen gepflegt werden, die in geeignerter Weise
verknüpft sind:
    - Ein Professor hat mehrere Prüfungen auszugestalten
    - Ein Studierender nimmt an mehreren Prüfungen teil
    - Eine Prüfung wird von genau einem Professor durchgeführt
    - An einer Prüfung nehmen mehrere Studierende teil

Eine genauere Beschreibung der Inhalte des Datenmodells hinter dieser Aufgabe ist
dem Datenschema unter "src/Schema.sql" zu entnehmen.

Vorraussetzungen:
=================

Perl >= 5.16.1
    http://perldoc.perl.org
    http://metacpan.org
    http://www.perl-community.de/bat/content/view/home
    http://perl-tutorial.org/

Mojolicious >= 3.52
    http://mojolicio.us/

DBI >= 1.662
    http://dbi.perl.org/

DBIx::Class >= 0.08203
    http://www.dbix-class.org/

DBD::SQLite >= 1.37
    https://metacpan.org/module/DBD::SQLite

SQLite >= 3.7.14.1
    http://sqlite.org/

Empfehlungen:
=============

Strawberryperl
    Perl für Windows-Benutzer

    http://strawberryperl.com
    
    Enthält bereits:

        Perl, DBI, DBD::SQLite, cpanminus

cpanminus
    https://metacpan.org/module/App::cpanminus

PerlTidy
    https://metacpan.org/module/perltidy

    Quellcode-Filter zum nachträglichen Formatieren von Perl-Code 
    gemäß der Empfehlungen aus dem Buch "Perl Best Practices" von
    Damian Conway

Padre
    http://padre-ide.de/blog/

    Perl-IDE für verschiedene Plattformen

Moose, Mouse, Moo, Mo
    https://metacpan.org/module/Moose
    https://metacpan.org/module/Mouse
    https://metacpan.org/module/Moo
    https://metacpan.org/module/Mo

    Falls jemand richtige Objektorientierung in Perl machen will

    Je mehr Buchstaben, desto mehr Features, aber eben mit Performance-Einbußen

Starman
    https://metacpan.org/module/Starman

    Hochperformanter preforking Webserver in Perl

Zielgruppenbeschreibung:
========================

Bei der Zielgruppe für dieses Tutorials sollten folgende Wissens- und Kenntnisse
vorrausgesetzt werden könne, um dem Tutorial gut folgen zu können:

+ Ausgezeichnete Kenntnisse:
  - Umgang mit dem Computer
  - Umgang mit dem Betriebssystem seiner Wahl
  - Umgang mit einem Texteditor für Programmieraufgaben (Syntaxhighlighting!)
  - Umgang mit der Konsole/dem Terminalemulator seiner Wahl
  - Umgang mit einem Webbrowser
+ Gute Kenntnisse:
  - Programmierung allgemein
  - Objektorientiertes Programmieren
  - Imparatives Programmieren
  - Webprogrammierung Allgemein
  - HTML, CSS
+ Grundkenntnisse:
  - MVC
  - Perl
  - Reguläre Ausdrücke
  - Relationale Datenbanken
  - Objektrelationale Mapper für relationale Datenbanken
  - SQL
  - Funktionales Programmieren
  - Javascript/JQuery

About

Einführung in das Webframework Mojolicious in der Programmiersprache Perl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages