Applying Code Generation Approach in Fabrique

Wrap up

Here is a quick summary of neat things implemented with Business Object Framework:

Libraries vs. Generators

I think I've clearly outlined how Fabrique is different from typical web development platforms in general, but let me point out some specific things to make it even clearer. We can consider EJB CMP vendors or Hibernate to be typical representatives of such families of tools. So, what do we mean?

Libraries take care of some difficult things and provide a business-task oriented API (thus hopefully making programming simpler). However, we still have the following issues:

Code generators, like Fabrique, ask us to write a task with some higher-level language and then generate the lower-level code. Having a high-level description of a task results in a number of benefits:

As we outlined in the first chapter, there's still a lot of work to address problems of communicating between hand-written code and generated counterparts and refactoring of the whole project. But much of this work can be delegated to an intelligent IDE for the user's convenience. This is what Visual Fabrique does.

Fabrique Status

Fabrique is now is open in the JetBrains Early Access Program (EAP) and can be downloaded and tried for free. It's still in development and your feedback and participation in the EAP will make it a better product. Please visit for more information about Fabrique and participation in the EAP.

Have your own opinion? Discuss this article »

Kirill's photo

Kirill Kalishev

Kirill is Senior Software Developer at JetBrains. He was instrumental in the creation of the company's award-winning IntelliJ IDEA IDE. He now works on core parts of the Fabrique project.

Contact Kirill via email: kirill(.)kalishev