Web

Kleine Helfer

Open-Source-Frameworks für moderne Web-Anwendungen

28.06.2011
Von 
Diego Wyllie hat Wirtschaftsinformatik an der TU München studiert und verbringt als Softwareentwickler und Fachautor viel Zeit mit Schreiben – entweder Programmcode für Web- und Mobile-Anwendungen oder Fachartikel rund um Softwarethemen.

Play Framework: Robust wie Java, flexibel wie Ruby on Rails

Play Framework
Play Framework
Foto: Diego Wyllie

Ein weiteres modernes Java-Framework ist Play. Angelehnt an Ruby on Rails verfolgt diese Lösung das Ziel, die Robustheit, hohe Performance und Sicherheit von Java mit der Einfachheit, Flexibilität und Effizienz von Ruby on Rails zu vereinen. So bietet das Framework nicht nur Unterstützung für praxiserprobte Java-Libraries wie Hibernate oder Quartz, sondern übernimmt auch viele der lästigen Routineaufgaben, die mit diesen Produkten verbunden sind. Dem Entwickler bleibt dann mehr Zeit für das wirklich Wichtige übrig - die Implementierung der individuellen Geschäftslogik.

Ein weiterer Vorteil besteht darin, dass Play wenig Serverinfrastruktur voraussetzt. Ein Web-Server, auf dem die eigenen Anwendungen laufen, wird im Standardumfang mitgeliefert. Das Kompilieren und Deployment der Projekte erfolgt im Prinzip auf der Kommandozeile. Wer lieber mit Eclipse oder Netbeans arbeitet, wird aber auch nicht enttäuscht. Durch einfache Befehle lassen sich alle notwendigen Projektdateien erzeugen, die dann in die jeweilige Entwicklungsumgebung importiert werden können. Praktisch: Während der Entwicklung werden Änderungen am Code automatisch erkannt, so dass sich ein neues Deployment erübrigt - ein Reload der Seite genügt. Dies funktioniert übrigens auch in Produktivumgebungen.

Grails: Dynamische Web-Entwicklung mit Java

Grails
Grails
Foto: Diego Wyllie

Eine andere Java-Alternative zu Ruby on Rails bietet sich mit Grails an. Beide Frameworks arbeiten nach dem Design-Prinzip "Convention over Configuration", das besagt, dass solange sich die Entwickler an üblichen Konventionen halten, diese nicht explizit konfiguriert werden müssen. Dadurch wird die Konfiguration der einzelnen Komponenten sowie der Software als Ganzes deutlich vereinfacht, da die vielen, fehleranfälligen Konfigurationsdateien, die etwa bei Struts oder Tapestry erforderlich sind, wegfallen.

Grails basiert auf dem beliebten Spring-Framework auf und ergänzt es durch die Unterstützung der dynamischen Programmiersprache Groovy, einer Skript-Sprache, die fester Bestandteil der Java-Plattform ist und viele Ähnlichkeiten mit Ruby hat. Somit laufen Grails-Applikationen wie üblich auf der Java Virtual Machine beziehungsweise auf einem Applikations-Server wie Tomcat oder JBoss, können aber aktualisiert werden ohne den Code neu kompilieren zu müssen. Denn bei der Arbeit mit Groovy wird der Code erst zur Laufzeit dynamisch ermittelt.

Django: Python-Alternative zu Ruby on Rails

Django
Django
Foto: Diego Wyllie

Von Ruby on Rails inspiriert ist auch das Python-Framework Django. Dieses ist wie üblich nach dem MVC-Muster aufgebaut und folgt strikt dem DRY-Prinzip, das besagt, dass Redundanzen im Code vermieden werden sollen. Entsprechend zeichnet sich Django durch einen hohen Automatisierungsgrad aus. So können sich Entwickler zum Beispiel die mühsame und nicht sonderlich kreative Arbeit ersparen, Benutzerschnittstellen zur Datenverwaltung selbst zu implementieren. Das Framework erledigt dies selbst, in dem es Administrationsoberflächen für jedes Objekt im Datenmodell automatisch generiert. Dabei werden im Handumdrehen HTML-Formulare kreiert, mit denen die Daten manipuliert werden können, inklusive Buttons zum Speichern, Aktualisieren oder Löschen. Solche Komponenten können selbstverständlich nach eigenen Bedürfnissen angepasst und erweitert werden. Datenmodelle lassen sich wiederum komplett in Python definieren. Dazu erhalten Entwickler Zugriff auf eine dynamische Datenbank-API, die ein eigenes Objektrelationales Mapping (ORM) implementiert, ähnlich wie die unter Java-Entwicklern beliebte Hibernate-Lösung.