"Kritik an JSF gab es immer wieder – und das ist auch gut so."

JAXenter: Du hattest die Kombination JSF und CDI erwähnt. Sollte künftig jedes JSF-Projekt automatisch CDI mitverwenden?

Andy Bosch: Diese Kombination ist sicherlich der Weg, der von beiden Expert Groups favorisiert ist. Natürlich kann JSF auch weiterhin „standalone“, also ohne CDI, verwendet werden. Eine Verwaltung von Managed Beans über Angaben in der faces-config wird natürlich weiterhin unterstützt. Es wird jedoch stark davon abgeraten, langfristig auf die @ManagedBean-Annotation zu setzen, da diese künftig wohl deprecated sein wird. CDI ist nun mal die Komponententechnologie innerhalb des JavaEE-Stacks. Speziell auch mit JSF 2.2 wird eine stark verbesserte CDI-Integration kommen, sodass man in jedem Projekt einen gemeinsamen Einsatz von JSF und CDI favorisieren sollte. Ein Hinweis, wie eng JSF mit CDI künftig verheiratet sein wird, zeigt auch der neue FlowScope, der als CDI Custom Scope realisiert ist. Möchte man daher dieses Feature nutzen, kommt man an CDI nicht mehr vorbei.

JAXenter: In deinem Talk über UI-Architekturen in JSF sagst du, dass der Einsatz von JSF alleine nicht genügt, um ein User Interface zu realisieren. Welche Weichen werden beim UI denn gestellt?

Andy Bosch: Wenn man sich als Frontend-Entwickler outet, landet man oftmals zu Unrecht in einer falschen Schublade: „Frontend-Entwickler, das sind doch die, die nur die bunten Pixel programmieren!“ hört man nicht selten. Diese Klischee-Vorstellung ist jedoch falsch, da ich selbst vorwiegend in der Frontend-Entwicklung aktiv bin, von Design, Farben und schicken Bildern aber sehr wenig Ahnung habe. Dass das kein Widerspruch ist, lässt sich damit erklären, dass es im Frontend zwei Bereiche gibt: die Gestaltung der Frontend-Seiten und die Programmierung der Frontend-Technik. Gerade im Bereich der Frontend-Programmierung werden oftmals grobe Architekturfehler eingebaut, die Auswirkungen auf das gesamte Projekt haben können. Wenn man hier die falschen Konzepte zugrunde legt, endet das nicht selten in sehr aufwändigen und damit teuren Refactorings. Bezogen auf JSF heißt das, dass das Beherrschen der reinen Syntax zwar schon eine gute Basis für ein Projekt ist. Aber viel wichtiger ist die Architektur im UI, die mit der JSF-Syntax letzten Endes realisiert ist. Viele der Aussagen, die ich in meinem Talk über UI-Architekturen getroffen habe, gelten übergreifend auch für andere Frontend-Technologien. JSF hat darüber hinaus noch einige Stolpersteine, die man beim Bau von Frontends beachten sollte.

JAXenter: Vielen Dank für das Gespräch!

Andy Bosch (andy.bosch [at] jsf-academy.com) ist Trainer und Berater im Umfeld von JSF und Portlets. Auf seiner Onlinetrainingsakademie www.jsf-academy.com stellt er seit Neuestem Trainingsvideos zu JSF, CDI und Portlets bereit. Er ist Autor mehrerer Bücher zu JSF und hält regelmäßig Vorträge auf nationalen und internationalen Konferenzen.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.