Play ist ein Web-Framework mit nativer Unterstützung für Scala. Es ist aber auch vorgesehen, dass Play mit der Programmiersprache Java Verwendung findet. Play ist Open Source und steht unter der Apache-Lizenz 2. Play ist Teil des Typesafe stack .
Inhalt dieses Tutorials ist Play in der Version 2.3 . Um diesem Tutorial zu folgen ist ein JDK in der Version 6 oder später Voraussetzung. Dieses Tutorial beschreibt die Verwendung von Play unter Verwendung von Ubuntu 14.04 LTS.
Für Verzeichnisangaben in diesem Tutorial gilt, das die Verzeichnisangabe prj
,
sofern nicht anders angegeben, dem Heimatverzeichnis des aktuell betrachteten Projektes entspricht.
Dieser Regel folgt, dass die Verzeichnisangabe prj/test
zum Beispiel dem
Verzeichnis /home/marcel/projekte/myPrj/test
entspricht.
Da Play Daten aus dem Internet laden will, ist bei der Anwendungsentwicklung eine bestehende Internetverbindung zu empfehlen. In vielen Fällen befinden wir uns mit dem Entwicklungsrechner innerhalb eines Firmen-Netzwerkes, wo die Internetverbindung über einen Proxy Server erzeugt wird. Wird dieser Proxy Server von Play nicht richtig erkannt, kommt es zu entsprechenden Fehlermeldungen.
Abhilfe kann hier das Setzen einer Umgebungsvariable schaffen, in der wir den Proxy Server definieren. Diese Umgebungsvariable können wir beispielsweise in einem Terminal mit folgenden Befehl setzen:
set HTTP_PROXY=http://<host>:<port>
Um mit play
zu starten benötigen wir zunächst eine Version
des Typesafe Activators
.
Sollten wir den Typesafe Activator noch nicht installiert haben können wir einen für play
minimalisierten Activator installieren, indem wir diesen von der
play
-Homepage
.
herunterladen und installieren.
Zur Installation entpacken wir die heruntergeladene zip-Datei. Unter UNIX-Systemen müssen wir darauf achten,
dass activator
auch ausführbar ist. Ist dies nicht der Fall ändern wir dies, indem
wir das Kommando chmod a+x activator
im activator
Verzeichnis absetzen.
Zum Anschluss der Installation nehmen wir das activator
Verzeichnis noch in die
PATH
Umgebungsvariable auf.
Um die Installation des activator
zu testen starten wir eine Konsole und setzen
den Befehl activator -help
ab.
marcel@notebook:~$ activator -help Usage: activator[options] Command: ui Start the Activator UI new [name] [template-id] Create a new project with [name] using template [template-id] list-templates Print all available template names -h | -help Print this message Options: -v | -verbose Make this runner chattier -d | -debug Set sbt log level to debug -mem Set memory options (default: , which is -Xms1024m -Xmx1024m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=256m) -jvm-debug Turn on JVM debugging, open at the given port. # java version (default: java from PATH, currently java version "1.8.0_31") -java-home Alternate JAVA_HOME # jvm options and output control -Dkey=val Pass -Dkey=val directly to the java runtime -J-X Pass option -X directly to the java runtime (-J is stripped) # environment variables (read from context) JAVA_OPTS Environment variable, if unset uses "" SBT_OPTS Environment variable, if unset uses "" ACTIVATOR_OPTS Environment variable, if unset uses "" In the case of duplicated or conflicting options, the order above shows precedence: environment variables lowest, command line options highest.
Um nun unser erstes play
Projekt zu erzeugen wechseln wir in einer Konsole in
das Verzeichnis unter dem wir das Projekt erstellen wollen. Hier setzen wir nun folgenden
Befehl ab:
$ activator new myApp play-scala
Im nächsten Schritt wechseln wir in unserer Projektverzeichnis und starten die
play
-Konsole mit dem Befehl activator
. Der erste Start der
play
-Konsole nimmt ggf. einige Zeit in Anspruch, da einige Dateien aus dem
Internet heruntergeladen werden.
Nachdem wir die play
Konsole gestartet haben können wir den zugehörigen
Webserver mit dem Befehl start
starten. Der Aufruf der Seite localhost:9000
in einem Browser führt zur initialen Projektseite.
Ein explizietes kompilieren und deployment ist bei der Arbeit mit Play nicht notwendig. Die notwendigen Aktionen werden direkt vom Play Framework ausgeführt. In der Entwickliungsphase muss der Server nicht neugestartet werden. Wir können das Ergebnis direkt durch neuladen der entsprechenden Seite zum Vorschein bringen (sofern wir uns im Entwicklungsmodus befinden).