JavaScript-Clients mit Dojo

Der klassische Fat-Client ist tot! Immer mehr Anwendungen setzen stattdessen auf Webclients, welche sich kaum noch von herkömmlichen GUIs unterscheiden. Das Dojo Toolkit soll die Entwicklung solcher Clients vereinfachen und beschleunigen. Der folgende Artikel stellt die Bibliothek vor und bietet einen Einstieg in die Arbeit mit Dojo.

Das Dojo Toolkit ist eine umfangreiche Open-Source-Bibliothek (BSD/Academic Free License) für die Entwicklung JavaScript-basierter Clients. Das Projekt gibt es seit 2004 und ist momentan in der Version 1.10 verfügbar. Entwickelt und vertrieben wird Dojo unter der Schirmherrschaft einer gleichnamigen Stiftung. Außerdem erhält es Unterstützung von namhaften Unternehmen wie IBM und AOL. Das Toolkit ist in drei Namespaces gegliedert (siehe Bild 1). Der Teil „Dojo“ enthält grundlegende Funktionen wie Ajax-Kommunikation oder das Arbeiten mit Arrays. In „Dijit“ werden häufig benötigte GUI-Komponenten (Buttons, Kalender, etc.) bereitgestellt, welche durch ein Baukastensystem zu einer Oberfläche zusammengesetzt werden können. Der dritte Teil („DojoX“) enthält unterschiedlichste, teilweise experimentelle Funktionalität und soll in einer zukünftigen Version aufgelöst werden.

Aufbau des Dojo ToolkitsBild 1: Aufbau des Dojo Toolkit

weiterlesen

Sanfte Harmonie

Sanfte HarmonieMit Java 8 nimmt die Entwicklung von Frontends mit JavaFX langsam Fahrt auf. Sofern man nicht an einen bereits existierenden Swing-Client gebunden ist, gibt es eine Menge guter Gründe direkt mit JavaFX ins Rennen zu gehen. Neben vielen anderen Features besitzt vor allem das standardisierte (bidirektionale) Databinding eine gewisse Attraktivität, verspricht es doch den Wegfall manueller Synchonisationslogik. Angezogen von der charmanten Aura, mit der sich JavaFX umgibt, starte ich die ersten Clientprojekte. Sofort verliebe ich mich in FXML, freue mich über den aufgeräumten Code und stelle fest, dass Frontend-Entwicklung tatsächlich wieder Spaß macht. Bei der Integration meines Datenmodells über einen Servicelayer komme ich allerdings ins Stocken. Die Daten, die ich beziehe bekomme ich in Form von XML angeliefert. Alles ist präzise in einem XML-Schema spezifiziert und für mich ist JAXB das Mittel der Wahl. Die passend annotierten JavaBeans lasse ich mir mithilfe des xjc-Plugins im Build- Prozess generieren. Soweit so gut. Jetzt noch schnell das Databinding für mein JavaFX-Frontend vorgenommen und fertig? Leider nein! Das Plugin erzeugt mir dummerweise nur die “normale Ausbaustufe” der zum XML-Schema gehörenden JavaBeans. Eine Variante, mit passenden JavaFX-Properties lässt sich das xjc-Tool beim Generieren leider nicht entlocken. Eine Suche im Internet liefert auch keine passende Lösung für mein Problem. Und so macht sich dann doch ein wenig Enttäuschung breit. Die ist aber nicht von langer Dauer, lässt sich die Codegenerierung des xjc-Tools doch mittels Plugin modifizieren. Entstanden ist ein xjc-Plugin, mit dessen Hilfe nun JavaBeans generiert werden können, die die benötigten JavaFX-Properties enthalten. JAXB und JavaFX-Databinding friedlich vereint, arbeite ich weiter an der Fertigstellung meiner Anwendung. Das Plugin freut sich indes in Form des GitHub-Projektes jaxbfx auf die Community. Bleibt mir nur ebenfalls viel Spaß auf der Clientseite zu wünschen!

Wir wünschen frohe Weihnachten!

Der vierte Advent steht vor der Tür, Heilig Abend rückt immer näher und der Jahreswechsel lässt nicht mehr lange auf sich warten.
Deshalb möchten wir uns an dieser Stelle für das entgegengebrachte Vertrauen und die gute Zusammenarbeit im Jahr 2014 bedanken.
Wir wünschen Ihnen und Ihrer Familie ruhige und besinnliche Weihnachten sowie Gesundheit, Glück und Erfolg für das neue Jahr.

buschmais wünscht frohe Weihnachten

In diesem Jahr unterstützen wir den MediClowns Dresden e.V. mit einer Spende.

FindBugs: May expose internal representation by returning reference to mutable object

Wer seine Code-Qualität mit FindBugs überwacht, stößt früher oder später auf folgende Verletzung: “Method-X may expose internal representation by storing/returning an externally mutable object into Field-Y”. In den meisten Fällen handelt es sich dabei um das Abfragen und Speichern von java.util.Date Werten.

Erfahrene Java-Entwickler wissen, dass Date-Objekte nachträglich veränderbar (mutable) sind:

Date now = new Date();
now.setTime(1414141414141L);
System.out.println(now);

Dies könnte für Manipulationen ausgenutzt werden:
weiterlesen

Graph-basierte Software-Analyse mit jQAssistant

Artikel als PDF herunterladen:
Download Graph-basierte Software-Analyse mit jQAssistant

Qualitätssicherung in der Software-Entwicklung ist seit Jahren ein Thema, mit dem es problemlos möglich ist, Zeitschriften, Bücher und Konferenzen inhaltlich zu füllen. Die Ansatzpunkte sind äußerst vielfältig – sie reichen von der Prozessorganisation über Teststrategien, technische Infrastrukturen bis hin zu vermeintlich trivialen Dingen wie der Formatierung des Quellcodes. In diesem Artikel möchte ich einen Aspekt beleuchten, der sich auf der Ebene statischer Code-Analysen abspielt: die Festlegung und Überwachung projektspezifischer Architektur- und Design-Regeln.

 

Verfallene Strukturen

Verfallene Strukturen

weiterlesen

 1 2 3 4 5 6 ... 15 16 17 Vor