scheible.it - Tobias Scheible
Java Framework für HTML/CSS/JavaScript frontend development
Freitag, 07. November 2014
0 Kommentare

Knorxx Framework in Version 1.0 erschienen

Das Knorxx Framework erlaubt es, HTML/CSS/JavaScript Frontends in reinem Java zu schreiben. Die Hauptmotivation hinter der Entwicklung des Frameworks war die mangelhafte Wartbarkeit von Frontends, die in HTML/CSS/JavaScript umgesetzt wurden. Die verwendeten Bezeichner müssen zwischen allen Notationen im client- und serverseitigen Code konsistent verwendet werden. Das führt dazu, dass Änderungen zu hohen Wartungs- und Weiterentwicklungskosten führen.

Des Weiteren ist es sehr schwierig, in den verschiedenen Notationen herauszufinden, welche Teile der Anwendung voneinander abhängig sind. Durch die Benutzung von Java für die gesamte Codebasis, kann die Wartbarkeit und Analyisierbarkeit einer Web-Anwendung stark verbessert werden.

Das Framework bietet folgende Features:

  • obwohl Java verwendet wird, sind die Änderungen am Code sofort nach einem Neuladen im Browser sichtbar

  • RPC-Aufrufe und eine Kommunikation über Message Queues werden unterstützt

  • es sind praktisch keine Änderungen an den serverseitigen Klassen notwendig

  • Source Maps erlauben es, den generierten JavaScript-Code auf den ursprünglichen Java-Code abzubilden

Für das Neuladen der Java-Klassen zur Laufzeit verwendet das Knorxx Framework einen speziellen ClassLoader. Der JavaScript-Code aus den Java-Klassen wird dabei von der st-js-Bibliothek generiert. Im Vergleich zu der direkten Benutzung von st-js werden im Java-Code bei der Verwendung des Knorxx Frameworks wesentlich weniger Annotationen benötigt, da der zum Neuladen verwendete ClassLoader auch in der Lage ist, einen Großteil der Annotationen automatisch hinzuzufügen. Für HTML (renderSnake) und CSS (genesis) werden entsprechende DSLs verwendet. Die RPC-Aufrufe werden mittels AJAX implementiert. Für die Kommunikation über Message Queues wird das Atmosphere Framework verwendet.

Das Knorxx Framework ist weitgehend unabhängig von dem verwendeten serverseitigen Framework, da es sich mittels Adapter in das jeweilige Server-Framework integriert. Der Spring-Adapter ist momentan am weitesten entwickelt, ein Adapter für Java EE ist jedoch in Arbeit.

Über Tobias Scheible

Tobias Scheible

Ich arbeite als wissenschaftlicher Mitarbeiter an der Hochschule Albstadt-Sigmaringen. Dort bin ich in den Bereichen IT-Sicherheit und IT-Forensik tätig. Darüber hinaus beschäftige ich mich seit 2001 mit der Planung und Umsetzung von individuellen Web-Anwendungen. Mein Wissen teile ich gerne hier in meinem Blog, bei Vorträgen und auf Workshops.

Alle Blog-Artikel Über mich Facebook Twitter Xing

Kommentare

Es wurde noch kein Kommentar abgegeben.

Schreibe einen Kommentar!

Hilfe zum Kommentieren

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen oder eine Gefährdung anderer Besucher darstellen, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und sie haben die Möglichkeit, ein Avatar-Bild zu verwenden. Dazu müssen Sie mit Ihrer E-Mail Adresse bei Gravatar angemeldet sein. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzerklärung des Blogs.

nach oben