Integration von JBake in Maven – Statische Websites

JBake ist ein „Java-basierter, open source Generator für statische Seiten“ (http://jbake.org/, auf github https://github.com/jbake-org/jbake). Bestens geeignet, um statische HTML-Seiten zu erstellen. Das langsame Laden von dynamischen Inhalten entfällt. Ebenso Probleme, die bei der Indexierung und Suchmaschinenoptimierung/SEO auftreten können, wenn die Seite erst beim Laden per JavaScript zusammengesetzt wird. Gleichzeitig bieten verschiedene Template Engines, wie bspw. FreeMarker (http://freemarker.org/) den Vorteil der Modularisierung. Menü und Footer müssen nur einmalig definiert werden und können durch verschiedene Vorlagen automatisch eingefügt werden.

Weiterlesen

Renewal einer Legacy-UI mit Vaadin und HTML5 postMessage

Bestehenden „Legacy“-Anwendungen lässt sich neue Frische einhauchen, indem man sie Stück für Stück in eine neue Struktur überführt. Damit lässt sich einer immer weiter sinkenden Effizienz in der Wartung begegnen. Allerdings ist das per se vor allem in der Benutzeroberfläche schwierig. Mit HTML5 postMessage steht ein neuer, pragmatischer und einfacher Weg bereit, um dennoch genau dieses Ziel Wirklichkeit werden zu lassen. Dieser Artikel zeigt an einem Beispiel, wie die schrittweise Erneuerung einer Anwendung mit Hilfe von postMessage gelingen kann.

Weiterlesen

Wartbare Rich Web Applications mit AngularJS – Teil 1

Rich Web Applications unterscheiden sich gegenüber Thin Web Applications im höheren Grad der Funktionalität und Komplexität, die klientenseitig statt serverseitig implementiert werden. Während bei typischen Thin-Client-Architekturen das User Interface pro Seite serverseitig generiert wird, sind Rich Clients eigenständige Anwendungen, die im Browser ausgeführt werden. Damit sind benutzerfreundlichere, performantere und offlinefähige Oberflächen möglich, die im Funktionsumfang mit Desktop-Anwendungen vergleichbar sind. Diese Eigenschaften, insbesondere Offlinefähigkeit, sind speziell auch für mobil nutzbare Anwendungen bedeutend.

HTML5 hat sich hierfür mittlerweile als Alternative zu Lösungen wie Flash, Java Applets und Silverlight etabliert und bietet gegenüber proprietären Produkten einen offenen plattformunabhängigen Technologiestandard. HTML und CSS beschreiben hierbei die statische Struktur und das Design der Oberfläche, während die klientenseitige Dynamik mittels neuer HTML5-APIs und JavaScript implementiert wird.

Die Entwicklung von Rich Web Clients mittels HTML und JavaScript wird jedoch durch Wartbarkeitsprobleme erschwert, insbesondere deshalb, weil die Kombination HTML und JavaScript keine Möglichkeit vorsieht, den Client sauber zu modularisieren und zu testen. AngularJS versteht sich als HTML-Erweiterung, die sich dieser Problematik annimmt und verspricht, die Entwicklung wartbarer JavaScript-/HTML-basierter Rich Web Applications zu ermöglichen.

In dieser Artikelserie stellen wir das JavaScript-Framework AngularJS vor. Dieser erster Artikel erläutert die grundlegenden Konzepte wie die Umsetzung des Model-View-Controller-Patterns, die Erweiterung von HTML durch sogenannte Directives und das Routing. Im zweiten Artikel wird die Integration von Unit- und Ende-zu-Ende-Tests sowie die Einbindung dieser in einen Maven-Build-Prozess gezeigt.
Weiterlesen