Juzu 0.7 has just been released after 6 months of development. This is an important milestone in the development of Juzu because it provides many new important features for the developer. Rather than describing these features in a series of bullet points, I will talk about the projects that use Juzu today and how they drive the development of the project.
GateIn 4.0 Project – Juzu Reactive Pages and Rendering Pipeline
GateIn 4.0 is the next generation of GateIn Portal. One important aspect of the 4.0 release is the rewrite of the portal UI. Don’t misunderstand; when I talk about portal UI, I don’t mean Portlets. Rather, I am referring to the web facing part of the project which includes the native portal UI and the interactions with the browser.
The decision was made to reimplement GateIn 4.0 on top of Juzu in early 2013 and I am endorsing what we usually call the lead architect of this project. I drive the implementation of both GateIn 4.0 and Juzu.
For GateIn 4.0 we provide a new feature called Reactive Page which provides several benefits, such as parallel rendering and big pipe implementation, with the ultimate goal to provide quicker page aggregation with guaranteed time delivery.
Reactive pages led us to improve Juzu’s rendering pipeline by changing from a pull mode to a push mode. Push mode allows the backend to control how data is pushed to the client, which is the main point of the Reactive Page feature.
eXo Acceptance – Juzu Live Mode and Tags for the Templating System
Acceptance is an important and cool part of eXo that handles the provisioning of all eXo projects, based on the project feature branches, aiming to provide testability and builds. Acceptance UI is a dashboard that provides a synthetic view of all those projects. For Acceptance v2 the decision was made to rewrite the application with Juzu and Spring; we improved a couple of features and developed a few new ones.
Juzu has always integrated with the major injection containers including Spring. Thanks to Acceptance we have strengthened the integration with Spring.
Another cool feature of Juzu is the live mode, which allows live development of an application. Arnaud Héritier, a famous eXo fellow, is a big fan of Play! Framework v1 and he could not resist the chance to develop Acceptance using Juzu live mode. With 0.7 Arnaud admitted that Juzu live mode worked better than Play! Framework!
Simple tags is another cool feature of Play! and Arnaud was a big fan, until we showed him the Juzu simple tags. This feature is an improvement of Juzu tags that allows encapsulation of templating into tags.
Community projects – Juzu API improvements, I18N feature and CDI Integration
Even though Juzu is still quite young it has a small community that provides feedback and patches.
The asset API had not had an update since the 0.3 version, and we provided major enhancements to the API based on the feedback provided by Benjamin Paillereau, Platform Product Manager at eXo.
The I18N (internationalization) feature of Juzu was first developed for the Portlet bridge which provides native support for resource bundles. Benjamin Garcia, developer at geomatys, needed this feature for the Servlet bridge and we spent time implementing it.
Until 0.7 Juzu was lacking the ability to integrate with native CDI (Context and Dependency Injection) containers pretty much like Spring, which was mentioned above. Thomas Segismont, developer at Red Hat, wanted this feature and he contributed a solid prototype that was turned into a feature!
The Future is Bright
Juzu continues its development for a few months until we reach the 1.0 milestone. Today I am very much excited by Juzu development because it gives a very solid ground for web application development. I hope I have convinced you that Juzu is great and easy to use; we have created great documentation and a nice tutorial to start with!
Also, Juzu is currently reviewing its branding and without saying too much, here is a sneak peek at its new logo. The website will be up next so keep in touch for more very soon!