Das fortwährende Herumspielen mit der Google App Engine hat mir gezeigt, welche Kenntnisse neben der „Haupt“-Programmiersprache, die man sich heraussucht, noch erforderlich sind:
Regular Expressions (RegEx)
Unabhängig von der für die Entwicklung auserkorenen Programmiersprache (Python, Go, PHP) braucht man Kenntnisse in Regular Expressions, zur Erstellung der Konfigurations-Datei „app.yaml“. Einzig in Java fällt diese Erfordernis weg, denn in Java wird die Webapplikation über java-spezifische Konfigurationsdateien (web.xml) konfiguriert. Eine einfache app.yaml kann zum Beispiel so aussehen:
application: my-test-app-828 version: 1 runtime: php api_version: 1 threadsafe: true handlers: # api handler - url: /api/v0\.1/.* script: /api/v0.1/index.php # phpmyadmin - url: /pma/(.*\.(ico$|jpg$|png$|gif$)) static_files: pma/\1 upload: pma/(.*\.(ico$|jpg$|png$|gif$)) application_readable: true - url: /pma/(.*\.(htm$|html$|css$|js$)) static_files: pma/\1 upload: pma/(.*\.(htm$|html$|css$|js$)) application_readable: true - url: /pma/(.*\.(php$)) script: pma/\1 secure: always login: admin - url: /pma/(.+) script: pma/index.php secure: always login: admin - url: /pma/ script: pma/index.php secure: always login: admin # main website - url: /css static_dir: app/lib/css - url: /js static_dir: app/lib/js - url: /img static_dir: app/lib/img - url: /favicon.ico static_files: app/favicon.ico upload: app/favicon.ico # phpinfo - url: /phpinfo.php script: phpinfo.php # Main handler # this has to be last - url: /.* script: app/index.php
Hier habe ich bewusst die Konfigurationsdirektiven in dieser Ausführlichkeit abgebildet, um – hauptsäch anhand der Direktiven für PhpMyAdmin auf GAE – zu demonstrieren, wie komplex schon einfache Pfad-Angaben für eine Webapplikation sein können. Natürlich gilt hierfür, wie auch für alle anderen marginalen Erfordernisse, dass Learning-by-Doing ebenso möglich ist, wenn man nicht im Vorhinein schon Kenntnisse hat.
HTML
Bei sämtlichen Entwicklungen auf der Google App Engine sollte man gute Kenntnisse in HTML vorweisen, denn das Ziel der Entwicklung ist schließlich eine Web-Applikation – das heißt, Auszeichnungssprache Nr. 1 ist HTML. Egal ob durch Paradigmen wie MVC das HTML vom „Code-behind“, also serverseitigen Code, getrennt ist, oder man HTML mit beispielsweise PHP eng verschachtelt, Kenntnisse in HTML sind ein Muss. Und diese Kenntnisse sollten selbstredend auch einigermaßen solide sein, denn schließlich ist das einzige, was der Enduser von unserer App am Ende sieht, das HTML im Hintergrund. Der Enduser kriegt bekanntermaßen vom PHP, Java, Python oder Go auf der Serverseite nichts mit. Will man für mobile Devices entwickeln, oder ein responsive Design anlegen oder gar auch Screenreader nicht ausschließen, stellt das hohe Anforderungen an die eigenen HTML-Kenntnisse. Das sollte man auch bei der Google App Engine immer mit bedenken.
Kommandozeile
Kenntnisse auf der Kommandozeile (cmd unter Windows, bash unter Linux) sind von Vorteil. Wenn die Wahl der Sprache auf PHP oder Python fiel, kann man zwar den Google App Engine Launcher als grafisches Frontend zum Veröffentlichen der App nutzen, aber dennoch sind Kenntnisse auf der Konsole von Vorteil. Und gerade wenn man Java als Programmiersprache gewählt hat, ist die Konsole unter Umständen (einige IDEs unterstützen auch direktes Deployment auf die GAE) die einzige Möglichkeit, sein Projekt auf der Google App Engine zu veröffentlichen.
Kommentar verfassen