FAQ

Is this production-ready?

Not at all. Until 1.0 release, I would consider this framework “experimental”. Of course, I have made great effort to ensure that all provided functionality works as expected, but at the current stage, there are just no guarantees. Still, the framework already provides a couple of very useful components which seemingly work very well.

Of course, I highly encourage you to test it out, especially if you find that it covers a specific requirement your project it currently facing. The only way for the framework to mature over time is by developer feedback. Your opinion, suggestions and experiences are highly appreciated.

I already have PrimeFaces and OmniFaces on my tech stack. Why should I add yet another framework?

Actually, it’s the other way around. Both PrimeFaces and OmniFaces are for the most part not really frameworks, but rather component libraries. CrudFaces, on the other hand, consists of both a component library as well as a framework, however the latter really only consists of a few Java classes.

In fact, CrudFaces is the perfect addition for an existing PrimeFaces + OmniFaces stack. It smoothes out PrimeFaces experience and uses basic OmniFaces components to build even more sophisticated ready-to-use solutions on top of them.

CrudFaces addresses any typical JSF project with persistence backend CRUD operations on entities. You can use CrudFaces to:

What’s your motivation behind this project?

Years of painful, repetitive work. I’ve been working on JSF projects for 5+ years now and I’ve come to the realization that most JSF projects are basically the same and basically need the same work done over and over again. This clearly violates the “Don’t repeat yourself” (DRY) engineering best-practice.

What’s more, when working with a JSF / PrimeFaces stack it often feels like by default, things do not work, and if they do, they look ugly by default, which is the exact opposite of what I except from a modern, developer-friendly framework. So, in this situation again, one has to waste precious development time by reinventing the same hacks and solutions all over again.

But I’m not good at complaining. I’m better at finding solutions. I really want to turn this project into a place where I can put my knowledge and experience in, and use it as a save starting point to build new JSF projects the right way.

Why didn’t you just contribute your stuff to the OmniFaces project?

First of all, these two frameworks have a different focus. As explained above, OmniFaces is a (great) library of components which work independently of each other and solve very specific problems. CrudFaces, on the other hand, provides a set of tools which work best in combination for a smooth overall experience. It’s CrudFaces’ aim to guide developers towards maximum best practices compliance which can best be achieved with a small, but complete solution working as a unit.

Secondly, at the moment, CrudFaces has only just been released. Give it some time to become a more mature framework and we can talk about moving tools to the OmniFaces project. I wouldn’t dare contributing stuff which is quite experimental to that great framework, and I feel like the overall quality just has not quite reached OmniFaces standard yet.

Why does your project page and the showcase run on a free hoster? It looks kind of cheap.

CrudFaces still is a small private project of mine without any financial budget whatsoever. If this turns out to be of common interest I can imagine opening up a public donation account. Please let me know if you would be interested in supporting the project in that way.

This is 2015. Isn’t JSF an obsolete stone-age technology by now?

It is certainly true that nowadays, JSF isn’t by far the only available option to create modern high quality web applications, and that’s a good thing. However, it is still a viable option especially if you can’t effort exposing your backend API or your HTML rendering to the web (as is typically the case with modern JavaScript-based solutions such as AngularJS), and if you want to keep the maturity, security and existing expertise a Java environment offers.

I’ve seen people turning down JSF because of a lack of understanding of underlying concepts, such as REST, and their proper application. Lack of understanding should not be a reason to give up a technology because even if you move on, you may encounter the same problems with a different platform.

This looks interesting. How can I contribute?

To be honest, I haven’t made any plans for public contributions to this project yet. However, I’m open to accept contributions. Most certainly, you can already hand in bug reports or feature requests (as long as they seem to match the overall project goal). If you spot a bug and find a solution for it, feel free to open a pull request. Please let me know whether you would be interested in joining the project in mid / long term.

Who’s that guy wearing the bear skin?

This is Org; he is CrudFaces’ mascot. The story goes that he invented the wheel after a small, marble-shaped meteorite fragment hit his head.

Is there anything else you’d like to say?

Yes, I’d like to thank Bauke Scholtz (BalusC) and Arjan Tijms from OmniFaces not only for their marvelous work on that excellent framework, but also for generously sharing their JSF knowledge about the JSF technology through their project source code, their articles and their innumerable stackoverflow contributions. I have learnt a great deal about JSF by studying what they have posted, and without what I have learnt from them, I don’t think I would have been able to build CrudFaces.