JBlooming is a java framework for building views of web applications. .
Its built on the ideas outlined below, keeping in mind that the main target is reaching productivity. In this perspective, we found the most popular Java frameworks unsatisfactory. In the well known book "Beyond Java" By Bruce A. Tate (O'Reilly, 2005, ISBN: 0-596-10094-9), Java is criticized for its lack of productivity. We believe that our framework remedies many of J2EE frameworks defects, without lowering code quality; actually more than those pointed at by Mr. Tate (of course it cannot alter Java syntax).
The primary aim of a framework is increasing productivity and maintainability, not architectural elegance or beauty; it also happens that by using JBlooming you get beautiful, simple pages, but that is a side effect. We want to use as much as possible java apis and o-o modeling for designing interfaces, not unconfortable compromises. In fact we'll stay clear of tags or any attempt to build yet another server side script language and of any attempt to rebuild for the presentation layer what is already present and well done in Java, servlets and javascript.
JBlooming includes tools for increasing the power of jsp based presentations. The separation of "development" and "graphics" by a complex layering of an application is a sign of misunderstanding of the complexity of ergonomic, graphic design. We disagree with idea that the ergonomics and style design are stuff that the graphic designer only deals with: a good programmer designs and creates interfaces. In short, a grapic designer is by now a developer. The most complex part of the application is not the business logic, but making an interface simple to use.
There are funny ideas lurking in the j2ee environment, like that the developer should be kept in a restricted, suspicious environment, instead of given free development power. Frameworks that limit the accessibility and expressfullness by architecture are bound to fail, as if a developers wants to hack the code, this will happen in any environment.
By these principles we got a framework whose basic nice features are:
- flexibility and power: the framework lets you preserve your java/jsp and html skills, and use them in every circumstance
- a set of mature and beautiful HTML components
- simplicity; and simple means scalable. Programmers energy is limited, hence must be spent focusing on the users requirements.
- self validating
- easy to skin
- xml free; all configuration in one strongly typed jsp
- low application server requirements for deployment (in fact, it can be deployed almost anywhere)
- free and open source (actually more, LGPL)
A not so nice feature is that the view part uses concepts from the persistence part, which gives it power, but so either you adopt the entire framework, persistence onwards, or you cannot use it: but you can copy our ideas and adapt them.