BootsFaces 0.8.1 erschienen

Einfache JavaServer Faces: Was bringt die neue Version von BootsFaces?

Stephan Rauh

© Shutterstock.com/FPWing

Nach einem halbem Jahr Entwicklungszeit haben wir, das BootsFaces-Team, kurz vor Weihnachten eine neue Version des JSF-Frameworks herausgebracht. Zwei Wochen später erschien erneut ein Update – eine Mischung aus Bugfix- und Feature-Release. Was ist in diesen beiden Versionen hinzugekommen?

Die wichtigsten neuen Features von BootsFaces 0.8.1 sind AJAX, die von PrimeFaces inspirierten Search Expressions, der Theme Support und der Support für Sprachen, die von rechts nach links schreiben. Darüberhinaus gibt es sechs neue Komponenten – oder sieben, falls Sie die noch experimentelle DataTable mitzählen wollen.

AJAX

Aus meiner Sicht ist AJAX das „Big Ticket“ von BootsFaces 0.8.x. Ich hatte dieses Feature bereits im Artikel „Modernes HTML5 für JSF-Entwickler“ sowie auf meinem Blog [1] ausführlich behandelt, so dass ich mich an dieser Stelle kurz fassen kann: Standard-JSF ermöglicht es JSF-Entwicklern, JSF zu verwenden. PrimeFaces zeigt, wie es einfacher geht. Und BootsFaces geht diesen Weg ein paar Schritte weiter.

Search Expressions

Die Search Expression sind für mich das Argument schlechthin, PrimeFaces zu verwenden. Ich denke insbesondere an @parent, @(. …), @next und @previous. PrimeFaces ist an und für sich schon interessant genug. Aber die Search Expressions – nun, wir fanden sie spannend genug, um sie nachzuprogrammieren. Ursprünglich wollten wir die Search Expression von PrimeFaces verwenden, aber nachdem die Verhandlungen mit dem PrimeFaces-Team im Sande verlaufen waren, entschlossen wir uns, unser eigenes Set von Search Expressions zu programmieren.

Das war sowohl Risiko als auch Chance. Einige Search Expressions von BootsFaces gibt es auch in PrimeFaces. Bei diesen Search Expressions ist das Ziel, möglichst kompatibel zu PrimeFaces zu sein. Wir haben aber keineswegs alle Search Expressions von PrimeFaces nachgebaut, denn einige davon ergeben für BootsFaces wenig Sinn – zum Beispiel @widget. Andererseits bringt BootsFaces einige neue Search Expressions, die es im PrimeFaces-Projekt nicht gibt – unter anderem die Möglichkeit, IDs mit Wildcards zu verwenden und sie rekursiv im JSF- Komponentenbaum zu suchen. Eine ausführliche Beschreibung findet sich ebenfalls auf meinem Blog [2].

Theme-Support

Immer wieder wurden wir von Anwendern von BootsFaces gefragt, ob und wann BootsFaces Themes unterstützt. Jetzt ist es soweit: Seit Version 0.8.0 liefert BootsFaces alle sechzehn BootsWatch-Themen out-of-the-box mit. Alles, was man tun muss, ist, das gewünschte Theme in der web.xml anzugeben. Man kann dort sogar einen Expression-Language-Ausdruck angeben – und nicht nur das: Das Theme lässt sich sogar in einem AJAX-Request ändern. Alternativ kann auch ein eigenes Theme verwendet werden. In diesem Fall schalten Sie das Theme von BootsFaces aus und kümmern sich selbst darum, Ihr Custom-Theme zu laden.

RTL-Support

BootsFaces 0.8.1 bietet Support für Sprachen, deren Schreibrichtung von rechts nach links geht, wobei dies die Hilfe einer kleinen CSS-Bibliothek benötigt. Die Details finden Sie unter http:// www.bootsfaces.net/layout/rtl.jsf .

Neue Komponenten

BootsFaces 0.8.1 bringt insgesamt sieben neue Komponenten: <b:switch>, <b:image>, <b:carousel>, <b:inputTextarea>, <b:message> und <b:flyOutMenu>. Und eine Komponente, die explizit als „experimentell“ gekennzeichnet ist, aber trotzdem schon eine Menge Aufmerksamkeit gefunden hat: <b:dataTable>. Anders als die DataTables der meisten JSF-Frameworks wird sie auf dem Client gerendert. Das hat den Vorteil, dass häufige Aktivitäten wie Suchen, Filtern, Sortieren und Blättern sehr schnell sind. Nur bei großen Tabellen überwiegt der Nachteil der langen Ladezeit.

Bekannte Fehler

Während der Ramp-Up-Phase der Version 0.8.1 ist uns ein sehr ärgerlicher Fehler aufgefallen: actions und actionListeners von CommandButtons werden doppelt aufgerufen. Diesen Fehler haben wir in der Zwischenzeit bereits behoben, wenn auch leider nicht rechtzeitig für die Version 0.8.1. Um die Wartezeit bis zum offiziellen Release der Version 0.8.2 zu überbrücken, haben wir einen Entwickler-Snapshot auf Maven Central veröffentlicht. Dieser ist nicht für den Einsatz auf Produktivumgebungen freigegeben, es spricht aber nichts dagegen, mit dieser Version zu entwickeln.

Dank an die Open-Source-Community

BootsFaces erfreut sich einer großen Beliebtheit: Allein in den zwei Wochen seit dem Erscheinen der Version 0.8.1 wurden nicht weniger als 25 neue Issues auf unserem Bugtracker erfasst. Ein Teil davon sind Fehlermeldungen, der größere Teil sind Verbesserungsvorschläge. Deswegen möchten wir wie immer an dieser Stelle der Open-Source-Community danken. Ohne Ihren Einsatz stünde BootsFaces nicht da, wo es heute steht!

Aufmacherbild: Venice masks engine von Shutterstock / Urheberrecht: FPWing

Geschrieben von
Stephan Rauh
Stephan Rauh
Stephan Rauh arbeitet als Senior Consultant bei der OPITZ CONSULTING Deutschland GmbH. Er befasst sich seit Jahren mit JSF und AngularJS und ist durch seinen Blog sowie seine Open-Source-Projekte AngularFaces und BootsFaces bekannt geworden.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: