Search code examples
jasper-reports

DynamicReports vs. DynamicJasper


Background

Developing Java EE application with DynamicReports and so far it's sufficient for me. Recently I found DynamicJasper and I would like to know if it could be better choice.

I can see that DynamicReports may have better support and community.

Questions

  • What have been your experiences with both libraries?
  • Which offers better functionality?
  • What are strengths and weakness of each other?

Thank you!


Solution

  • This question touches a few ways to create reports using the JasperReports API (either directly or indirectly):

    DynamicReports (DR) and DynamicJasper (DJ) are two free and open-source software tools that abstract (and simplify) common tasks with the JasperReports API. If you are considering developing reports programmatically, these tools can cut the development time.

    The DR and DJ API packages have the following features in common:

    • Dynamic design
    • Dynamic column widths
    • Stable
    • Mix iReport templates with code

    iReport

    iReport is a user interface that hides the complexity of calling JasperReports methods directly. In other words, iReport is a fancy and friendlier way to develop reports than coding Java calls manually. The end result is the same: a compiled report (.jasper) file.

    JasperReports API

    The JasperReports API provides programmers with a set of Java classes to have a computer create reports based on business needs. The API makes it possible to, for example, develop a web site that allows users to pick the columns they want within a report and then have the report template be created on-the-fly. After the template is ready, a user can then run the report to see the results.

    One feature that iReport lacks is the ability to dynamically resize column widths. By using the JasperReports API directly, programmers can create a report template with the optimum column width for the report's result set.

    The problem is that the JasperReports API is extremely complex, and parts of it could use more documentation.

    DynamicJasper

    The DynamicJasper website notes the following benefits over the JasperReports API:

    • Automatic layout
    • Barcodes
    • Clean Excel support
    • Struts & Grails support

    The API examples show a good working of object-oriented principles. The web site offers many examples, and the Javadocs are sparsely commented. The forum is more active than DynamicReports.

    Update: The project is now on GitHub. No more forum, but you can request a Professional Support

    DynamicReports

    The DynamicReports website notes the following benefits over the JasperReports API:

    • Inherited designs

    The web site offers many examples, but unfortunately the Javadocs do not have a lot of comments. Further, the forum appears less active than either JasperReports or DynamicJasper.

    Summary

    If you are happy with DynamicReports I'd say stick with it, otherwise try DynamicJasper.