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.

Cappuccino: Mac-Anwendungen fürs Web

Cappuccino
Cappuccino
Foto: Diego Wyllie

Ein weniger bekanntes, aber sehr interessantes Web-Framework ist Cappuccino. Die jungen Entwickler hinter dieser vielversprechenden Lösung sind recht ehrgeizig: Ein Web-Framework, bei dem man keinen Html-Code schreiben und sich mit dem DOM (Document Object Model) nicht auseinandersetzen muss, ist allein schon ein recht mutiger Ansatz. Dazu kommt aber noch eine selbst entwickelte Programmiersprache, Objective-J, die das Beste aus zwei völlig unterschiedlichen Welten vereinen soll: Die Einfachheit von JavaScript und die Mächtigkeit der Objektorientierten Mac-Sprache Objective-C.

Das Ziel ist, die Qualität und Benutzerfreundlichkeit, durch die sich Mac-Anwendungen auf dem Desktop auszeichnen, in den Browser zu bringen. Dass dies möglich ist, hat bereits Apple mit seinen eigenen Web-Anwendungen gezeigt - so zum Beispiel mit MobileMe. Die Lösung bietet Drag & Drop, Rückgängigmachen, Copy & Paste, Kontextmenüs, innere Anwendungsfenster und weitere Funktionen, die die Bedienung von Desktop-Anwendungen so bequem machen. All das kann Cappuccino auch. So stellt es Web-Entwicklern diese und weitere Features wie beispielsweise Ajax-Unterstützung, Cross-Browser-Kompatibilität und eine leistungsfähige Grafik-Engine Out-of-the-Box zur Verfügung. Wie die Online-Präsentationssoftware 280 Slides eindrucksvoll zeigt, kann man mit diesem jungen Framework das Look & Feel von Mac-Anwendungen bis ins kleinste Detail im Web nachmachen.

Google Web Toolkit: Websites aus Java-Code

Entwickler, die auch im Front-End auf Java setzen möchten, finden in dem Google Web Toolkit, kurz GWT, ein vielversprechendes Framework, das es ihnen ermöglicht, dynamische und interaktive Web-Clients komplett Server-seitig zu realisieren. Der Clou: Aus Java-Klassen generiert ein integrierter Compiler den entsprechenden XHTML und Javascript-Code für die Applikationsseiten automatisch.

Google Web Toolkit
Google Web Toolkit
Foto: Diego Wyllie

Ein wesentlicher Vorteil von GWT besteht darin, dass die mitgelieferten Komponenten die fehleranfällige und mühsame Aufgabe übernehmen, die Unterschiede und Besonderheiten der unterschiedlichen Browser zu analysieren und entsprechend angepasstes Javascript zu schreiben. Beim Debugging des Web-Clients ergeben sich sogar ganz neue Möglichkeiten. So lassen sich zur Laufzeit sämtliche Ajax-Komponenten und User-Events bequem mit dem funktionsreichen Java-Debugger untersuchen. Abgerundet wird Googles Lösung mit einem eigenen XML-Parser, Internationalisierungs-Unterstützung, einer RPC-Schnittstelle (Remote Procedure Calls) sowie einem Widget-Paket zur Gestaltung der grafischen Benutzeroberflächen.

Phonegap: Web-Apps nativ auf jedem Smartphone

Phonegap
Phonegap
Foto: Diego Wyllie

Immer mehr Web-Anwendungen bieten ein spezielles Front-End für mobile Endgeräte. Und auf Basis von Web-Technologien lassen sich wiederum selbst komplexe Anwendungen für Smartphones realisieren. Insofern überrascht es nicht, dass mit dem Boom von iPhone, Android und Co. bereits einige tolle Frameworks entstanden sind, die die Entwicklung mobiler Web-Lösungen und -Apps vereinfachen. Dazu zählt unter anderem Phonegap. Damit können Web-Entwickler ihre Anwendungen wie gewohnt mit Html, CSS und Javascript schreiben und dann ohne großen Aufwand auf die wichtigsten mobilen Plattformen nativ deployen. Für iOS, Android, Windows Mobile und Blackberry stellt die Lösung so genannte "PhoneGap-Wrapper” bereit, die aus dem eigenen Web-Programm jeweils eine native Version für die verschiedenen Zielplattformen erzeugen. Dadurch lassen sich Phonegap-Anwendungen auch in Apples App-Store stellen, wo eigentlich nur Software erlaubt ist, die auf iOS und Objective-C basiert.

Ferner bietet das Framework eine einheitliche Javascript-API, die viele Programmierschnittstellen der nativen SDKs für die unterschiedlichen Smartphones abkapselt. Dadurch werden Entwickler in die Lage versetzt, mit Hilfe einfacher Skripte auf Hardware-Komponenten zugreifen zu können, so zum Beispiel auf die eigebaute Kamera, das GPS-System oder die Beschleunigungssensoren.