Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DynamicReports vs. DynamicJasper [closed]

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!

like image 719
kospiotr Avatar asked Feb 10 '11 12:02

kospiotr


3 Answers

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

  • iReport
  • JasperReports API
  • DynamicJasper
  • DynamicReports

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.

like image 141
Scott Avatar answered Nov 05 '22 11:11

Scott


I've just spent a few days using and evaluating the different reporting options above and thought I would add my 2 cents into the mix. I've built the same report (Profit & Loss) in JRXML, Dynamic Jasper and Dynamic Reports. I needed a solution which would output well in both PDF and excel formats and had the ability to handle dynamic columns.

Here's what I found:

JRXML

Found it very tedious to use with and without using iReport. I've had experience using JRXML before and I still found it a real battle to get the report to display correctly in both PDF and Excel. I had to use a lot of workarounds by hiding and displaying some fields based on if it was going to be PDF or excel. Dynamic columns are not handled well.

Dynamic Jasper

At first I was finding Dynamic Jasper pretty good to work with but had some problems with having absolute control over the layout and putting additional controls on the report. It seems that if your report is column based than it works fine. I couldn't work out how to add a subreport to the detail section and had to add it to the group header or footer.

Dynamic Reports

In my opinion Dynamic Reports is the most flexible and easiest way to create dynamic jasper reports. The syntax is easy and intuitive and I found it very quick to get up and running. You do column based report like Dynamic Jasper but also have the options to drop components strait onto the title, detail or other areas of the report. It uses a flow layout so you just drop components into the report and the display in that order. Export to both PDF and Excel was consistent.

The last and most significant benefit of Dynamic Reports is the support and update activity. DynamicJasper has not had forum activity or support in well over half a year while DynamicReports is not only actively updated but also the developer (Ricardo Mariaca) actively monitors the forum and responds quickly to questions.

like image 9
brett.carr Avatar answered Nov 05 '22 11:11

brett.carr


About a year ago, I came across DJ. My experience with DJ was the best as there were several minor glitches that needed workarounds. However, I found those problems when the project was almost completed and as those workarounds already existed, I continued to use DJ.

After few months, I found DR and learnt that DR has a better structure than DJ. My next project will definitely use DR.

To be frank, I use DJ 3.1.x series and did not try any newer version. I also did not use DR extensively yet.

like image 4
Meam Avatar answered Nov 05 '22 11:11

Meam