JAX 2015 – Tag 1


Dieses Jahr ging’s für mich zum ersten Mal nach Mainz zur JAX – der größten Java-Konferenz in Deutschland. Nach zwei Teilnahmen bei der WJAX in München, der kleinen Schwester der JAX, war ich natürlich gespannt, was in Mainz auf mich zukommen würde.

Kontext und Schlüssel-Themen im Überblick

Sebastian Meyen, Chefredakteur des Java-Magazins, eröffnete die Konferenz und ging auf die Schlüssel-Themen ein. Zum einen stand die JAX ganz im Zeichen des 20. Geburtstags von Java, der Begriff „Generation Java“ war zu hören. Neben den Java Core Themen sollten sich die Sessions im Kontext der Themen Agile Entwicklung, Microservices, DevOps, Continious Delivery, Cloud & Container (insbesondere Docker) bewegen.

Keynote „The prepared Mind“

Frei nach Louis Pasteur („Chance favors the prepared mind“) gab Adrian Colyer, der Vater von aspectJ, Einblicke in sein Denken. In welche Richtung bewegt sich die Java-Welt aus seiner Sicht? Der große Trend: finer-grained structures (lifecycles, services, deployment units, runtimes, organizations).

Dann gab er einen Abriss zu, aus seiner Sicht wegweisenden, Papers. Es fielen Aussagen wie „Immutability changes everything”. Außerdem ging er auf die verheißungsvollen Möglichkeiten der Spracherkennung, dort konkret auf das Sirius-Projekt, ein.

Frege: ein Haskell für die JVM

Danach ging’s gleich mit einem eher exotischen Thema weiter: Frege, einem Haskell für die JVM, benannt nach Gottlob Frege, dem deutschen Philosophen, Mathematiker und Logiker. Da das Thema funktionale Programmierung im Zeitalter der Multicore-CPUs immer wichtiger für Software-Entwickler wird um Anwendungen zu entwickeln, die die volle Leistungsfähigkeit der heutigen Hardware bspw. durch Parallelisierung idiomatisch ausnutzen (Stichwort: seiteneffektfreie Funktionen), lohnt ein Blick über den Tellerrand, zu einer pur funktionalen Sprache wie Haskell. Und spätestens nachdem mit Java 8 nun seit letztem Jahr auch die Möglichkeit besteht, mit Java-Bordmitteln Kern-Elemente der Funktionalen Programmierung zu nutzen, ist das Thema ohnehin endlich voll im Mainstream angekommen.

Man nimmt durch so einen Blick über den Tellerrand meiner Erfahrung nach wieder neue Anregung für die alltägliche Arbeit mit Java mit. Es gelingt dadurch vielleicht, den eigenen Code ein Stück weit durchdachter zu gestalten, weil man bewusster mit den Stärken und Schwächen der eigenen Sprache umgeht. Gleichwohl sollte man auf keinen Fall versuchen, Idiome aus pure Funktionalen Sprachen wie Haskell 1:1 zu übernehmen.

JSF meets JavaScript

Nach diesen Funktionalen Ausflügen in die Welt des Lambda-Kalküls, holte einen eine JSF-Session wieder auf den Boden der Tatsachen zurück. Hier wurden Ansätze aus der Praxis eines erfahrenen JSF-Entwicklers vorgestellt. Spannend war zu hören wie andere Firmen bekannte JSF-Problemstellungen adressieren und z.B. mit Features aus Version 2.2 wie HTML-Friendly Markup und Pass-Through Elements elegante Möglichkeiten finden, um neue HTML5-Tags zu nutzen, ohne die Vorteile von JSF wie Value-Bindings aufgeben zu müssen.

Auch für uns wohl bekannte Problemstellungen wie dem Umgang von jQuery-Selektionen von JSF-Ids, die einen Doppelpunkt enthalten, gab’s interessante Lösungsansätze zu sehen. Abgerundet wurde der Überblick mit einer Vorstellung der Möglichkeiten der JSON-Integration in JSF.

Danach ging’s mit der Diskussion eines Themas weiter, dass die JSF-Welt offenbar polarisiert: PrimeFaces. Die einhellige Meinung ist, dass PrimeFaces eine ausgereifte Komponente-Suite darstellt, mit der sich in einer frühen bis mittleren Projektphase fast nur gute Erfahrungen machen lassen – ein Quick Win. Schwierigkeiten treten wohl erst in weiter fortgeschritten Phasen eines Projekts auf, wenn zum Beispiel der ein oder andere Bug in einer eingesetzten Komponente zu Tage tritt. Der Speaker setzt daher in seiner Firma auf eigens entwickelte JSF-Komponenten. Um mit PrimeFaces vergleichbare Ergebnisse zu erzielen, ist fundiertes JavaScript Know-How nötig. Das Investment lohnt sich jedoch. Man verliert auch JavaScript-Abhängigkeiten von PrimeFaces (wie bspw. zur eingesetzte jQuery-Version) und gewinnt volle Kontrolle über die genutzten Komponenten.

Möglich wird die Entwicklung von eigenen leistungsfähigen und AJAXifizierter JSF-Komponenten nach Meinung des Experten nur mittels „Enterprise JavaScript“. Man mag einem solchen Begriff gegenüberstehen wie man will, gemeint ist letztendlich der Einsatz von Konzepten und Tools, die auf der Serverseite bereits seit langem zum guten Ton gehören: möglichst wenig oder gar keine globalen Zustände; Namespaces und Modularisierung (z.B. mittels Grunt); Dependency-Management; Unit-Tests; statische Code-Analyse und Minifying.

Fazit des Speakers: „ohne JavaScript Build-System keine ‚enterprise‘-fähige JavaScript-Entwicklung“.

Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Java-Orbit 2024

Autor*in: Tobias Pfannkuche


Technologie   //   Über den Tellerrand


Foto von Nicolas Gras auf Unsplash

Der Hype der vergangenen Jahre rund um AI lässt spürbar nach, die immer noch verhältnismässig junge Technologie hat den Einzug in den Alltag gerade auch in der Software-Entwicklung gefunden und steht nun vor der Herausforderung, sich zu bewähren. So wie davor zahlreiche andere technologische Entwicklungen und Veränderungen.


Beitrag lesen
18
NOV
24

„Wir sind Open-Data ready.“

Autor*in: Christine Pfleger


Projekte   //   Technologie


Beim Thema Datenmanagement in Destinationen zählt der Tourismusverband Mecklenburg-Vorpommern e.V. (TMV) zu den Vorreitern. Ein Gespräch mit Carsten Pescht über die Anforderungen an ein Datenmanagement-System – und was die imx.Platform für die Destination leistet.


Beitrag lesen
06
OKT
20

Weitere Neuigkeiten von der JAX 2015

Autor*in:


Technologie


Bevor es zu spät ist und alle Neuigkeiten und Trends von der JAX 2015 in den Tiefen meiner Erinnerungen verschwinden, möchte ich die Gelegenheit nutzen und Euch eine Fortsetzung zu meinem ersten Bericht von der diesjährigen JAX liefern. API-Design mit Java 8 Lambdas (Angelika Langer) Hier gab es eine kurze Einführung zu Lambda-Ausdrücken aus Java …


Beitrag lesen
30
JUL
15

imx.Platform: Release-Notes Januar 2020

Autor*in: Brigitta Zinsser


infomax   //   Technologie


imx.Platform

Nachdem von zahlreichen Kunden der Wunsch an uns herangetragen wurde, dass sie gerne regelmäßig über aktuelle Neuerungen in der imx.Platform informiert werden möchten, starten wir ab diesem Jahr mit monatlichen Informationen zu den Neuerungen in der imx.Platform. Dieses Mal geht es im Neuerungen, die in den letzten Wochen bis einschließlich 28.01.2020 bereitgestellt wurden.


Beitrag lesen
28
JAN
20