Nov 23
Groovy Logo

Aus meiner Sicht ist Groovy, die dynamische Sprache für die Java Virtual Machine, auf der großen Hype Kurve am Punkt der technischen Realität angekommen. Mit Scala und Clojure werden statt dessen gerade 2 neue Programmiersprachen durch die Gemeinde der Java Jünger getrieben.

So ist es an der Zeit einmal zu hinterfragen, was man selbst bis jetzt mit Groovy implementiert hat, ob man dabei bleibt oder doch auf den Scala Zug aufspringt.

Dierk König, der Autor von “Groovy in Action” (dem besten Fachbuch, das ich in letzter Zeit gelesen habe), hat einmal folgende 7 Anwendungsmuster für Groovy herausgearbeitet:

Super Glue, Liquid Heart, Keyhole Surgery, Smart Configuration, Unlimited Openness, House-Elf Scripts, Prototype

Oder nicht ganz so prosaisch, als:

  • Bindeglied zwischen Java Komponenten (wie z.B. Spring und Hibernate in Grails)
  • Auslagerung der Buisiness Logik, um sie dynamisch auf Veränderungen anpassen zu können
  • Eingriffsmöglichkeit in laufende Applikationen
  • Erweiterung der Konfiguration mit den Mitteln einer Programmiersprache (um endlich das plumpe XML loszuwerden)
  • die leichte Veränderung von Code zur Laufzeit
  • Hilfe für alle Aufgaben, die durch die Programmierung anfallen (Build automation, continuous integration, deployment, installer, service monitoring, reports, statistics, automated documentation, functional tests, HTML scraping, Web remote control, XML-RPC, WebServices)
  • Tool zur schnellen Erstellung von Prototypen, mit der Möglichkeit diese später auf Java portieren zu können.

Doch zurück zum Ausgangspunkt. Was mache ich mit Groovy?

Zuerst einmal schreibe ich 95 % aller neuen Tests in Groovy. Die knackige Syntax, die perfekte Interoperabilität mit Java und die gute (aber verbesserungsfähige) Integration in Eclipse machen die Erstellung von Tests sehr viel weniger lästig. Zudem gibt es kleinere Web- und Webservices Applikationen auf Basis von Grails (dem Webframwork, das seinerseits ebenfalls auf Groovy basiert), sowie Tools, die rein in Groovy geschrieben sind.

Letztendlich kann man sagen, der Hype ist dem Alltag gewichen und Groovy passt sich perfekt in die tägliche Arbeit ein. Mit Griffon und GPars stehen 2 weitere Frameworks für Swing Applikationen und Nebenläufige Programmierung (Threads) auf Groovy Basis zur Verfügung. Und eine lebendige Community hat sich um diese dynamische Sprache gebildet. Ein Umstieg auf Scala oder Closure kommt somit für mich momentan nicht in Betracht.

Und mal ganz ehlich, wenn die Kinder fragen: “Papa was machst Du?”, klingt “ich programmiere Groovy” viel cooler als “Ich programmiere Scala”. :-)

Links:
Groovy Usage Patterns by Dierk König

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: , , , , , , , ,

Sep 23

Es ist noch gar nicht so lange her, da wurde JavaScript aufgrund seiner Browser Inkombatibilitäten und Sicherheitsbedenken von vielen verteufelt.
Erst mit Ajax (Asynchronous JavaScript and XML) und den darum entstandenen Frameworks (die die Browserinkompatibilitäte abfangen) ist es zum Lieblingskind und “must have” der Webentwicklung geworden.

Doch zwischen den Frameworks gibt es teilweise erhebliche Unterschiede. Das gilt nicht nur für den Funktionsumfang, sondern auch für die Größe und Ausführungsgeschwindigkeit.

Matthias Schütz hat mit seiner Ajax Framework Matrix versucht, die Eigenschaften der Ajax Frameworks in einer Übersicht zusammenzuführen, um sie so besser vergleichen zu können. Dass ist ihm nicht nur gut gelungen, sondern ist auch noch schön anzusehen.
In der Matrix sind auch die Links zu den Frameworks, deren Dokumentation und einigen Beispielen enthalten.

Fazit:
Die Matrix erleichtert wirklich den Vergleich zwischen den einzelnen Ajax Frameworks. Eines leistet die Matrix allerdings nicht.
Eine Entscheidung für eines der Frameworks muss man leider immer noch selbst treffen, nur der Weg dorthin wird unterstützt.

ajax framework matrix

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: , , , , ,

Sep 18

Blogfield-2009-Finale_v2-tm

Stefan und Olli haben es geschafft die von den Bloggern beigesteuerten Avatare in einem Bild zusammenzufassen. Das Ergebnis kann sich wirklich sehen lassen. Vielen Dank an die beiden für diese tolle Aktion und die Mühe, die sie sich damit gemacht haben.

So jetzt beginnt das Suchspiel nach meinem Avatar. Ein paar kleine Tipps gefällig?

ok:

dunkelblondes (braunes) Haar
tiefer Scheitel (oder auch ausgedehnte Geheimratsecken) :-)
und schwarzes T-Shirt mit Bart Totenkopf

Das müsste reichen. Viel Spaß beim Suchen.

Links:
aptgetupdate.de – Blogfield 2009: Finale

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: ,

Aug 05

amazon product advertising api logo

Die Amazon Product Advertising API (Teil der Amazon Webservices (AWS)) bietet einen Zugriff auf Amazon Produktdaten. Grundsätzlich gibt es mit SOAP und REST zwei Möglichkeiten, um auf die AWS zuzugreifen. Für die Amazon Product Advertising API wird da

Zum 15.08.2009 ändert sich das Authentifizierungsverfahren. Grund genug um den geänderten Zugriff in einem kleinen Beispiel einmal genauer zu betrachten.
Reichte früher ein API Key, sind jetzt ein öffentlicher und ein privater Zugangsschlüssel notwendig, die man während der Registrierung erstellt. Für SOAP Anfragen ist alternativ auch die Authentifizierung über X.509 Zertifikate möglich. Eine Übersicht über die s.g. “Request Identifiers” gibt es hier.

Im Beispiel soll die Klasse AmazonService die Anfrage an die Amazon Product Advertising API übernehmen. Betrachtet wird nur der Fall, wenn alles gut geht. Im produktiven Einsatz muss natürlich noch das Fehlerhandling hinzugefügt werden.
Die bei der Registrierung erstellten Zugangsschlüssel werden in der Klasse als Konstanten hinterlegt. Die Variable xml benötigen wir für die Antwort von Amazon.

1
2
3
4
class AmazonService {
   const APIKEY='< Euer öffentlicher Schlüssel >';
   const PRIVATE_KEY='< Euer privater Schlüssel >';
   private $xml;

Das wichtigste für die Anfrage ist der Aufbau der URL. In Ihr werden die Parameter der Anfrage und die mit dem privaten Zugangsschlüssel erstellte Signatur an Amazon übergeben. Diese Aufgabe übernimmt die Funktion buildURL.
Continue reading »

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: , , ,

Apr 17

Der Dienst Google Maps integriert jetzt in seinen Karten auch die Bilder von Webcams.
Die Aktivierung erfolgt (wie für Fotos, Videos, Wikipedia Einträge oder Verkehrsmittel) über den Button “Mehr”.

So kann man sich auch gleich über das aktuelle Wetter am gesuchten Ort informieren, das (wie man sieht) in Frankfurt gerade nicht sehr berauschend ist.

googlemaps webcams

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: