Technologies
This article aims to continue examining the capabilities of the report generators in terms of the technologies, that they support.
Technology |
SSRS |
FR .NET |
WinForms |
✓ |
✓ |
WPF |
✓ |
✓ |
ASP.Net |
✓ |
✓ |
ASP.Net MVC |
✓ |
✓ |
ASP.Net Core |
✓ |
✓ |
WCF |
✓ |
✓ |
Both report generators are targeted to the .NET platform. Accordingly, in the above table the technologies are based on this framework.
• WinForms - until now it has remained the main API for creating a graphical user interface for desktop applications.
• WPF - another approach in creating applications with GUI. Now it is very popular and replaces WinForms, due to its greater flexibility.
• ASP.Net - client-server technology for creating web applications.
• ASP.Net MVC - ASP.Net-based framework for implementing the Model-View-Controller application architecture. Development on this framework is significantly different from usual ASP.Net.
• WCF - a framework for creating distributed applications with secure data transmission (mostly web services).
Both report generators support almost the entire spectrum of these technologies.
However, currently, SQL Server Reporting Services 2016 does not support ASP.Net Core. Perhaps in the next version this feature will be implemented. Meanwhile, FastReport.Net is the leader of this comparison.
Report objects
The capabilities of the report generator also depend on the nomenclature of the report objects. These objects can output data, be used as controls or simply be design elements. We place them on the report page or in a dialog form. In general, they are the bricks in the wall, called a report.
Here you are the descriptions of each object.
Object |
SSRS |
FR .NET |
Description |
Text |
✓ |
✓ |
This object is the basis of any report generator. Allows you to display any text data, such as data from a database or an expression. |
Picture |
✓ |
✓ |
Allows you to insert an image into the report. |
Line |
✓ |
✓ |
The line is used to delimit space in a report or frame objects. |
Line with arrow |
|
✓ |
Line with an arrow. This object is decorative. Can be used as a pointer. |
Rectangle |
✓ |
✓ |
Rectangle. Used to prepare a report, delimitation of space. |
Rounded Rectangle |
|
✓ |
Прямоугольник с закругленными углами. Rectangle with rounded corners. |
Ellipse |
|
✓ |
Ellipse. |
Triangle |
|
✓ |
Triangle. |
Diamond |
|
✓ |
Diamond. |
Polyline |
|
✓ |
Allows you to build a graph by specifying the key points. |
Polygon |
|
✓ |
A polygon constructed using a polyline. You can transform the shape by dragging the key points with the mouse. |
Sub-report |
✓ |
✓ |
Subreported report. In fact, one more report that can be inserted into the right place of another report. |
Table |
✓ |
✓ |
Table. Can be filled manually or by data from the database using a script (dynamic). |
Matrix |
✓ |
✓ |
The matrix is a summary table. Filled with data from the database, respectively, grows in height and width. |
Chart |
✓ |
✓ |
Diagram, graph. Can be built both on the basis of manual data, and data from the database. |
Sparkline |
✓ |
✓ |
Another kind of charts. |
Data Graphic |
✓ |
|
This is a representation of the data in the form of widgets (scale, status bar, etc.). |
Barcode |
|
✓ |
Barcode |
Gauge |
✓ |
✓ |
Simulates analog instrument scales to display readings. |
Rich Text |
|
✓ |
Extended text. Allows you to insert rtf documents. |
CheckBox |
|
✓ |
CheckBox. |
Zip Code |
|
✓ |
Postal code in standard format. |
Cellular Text |
|
✓ |
Text in cells. Each character is displayed in a separate cell. |
List |
✓ |
|
List. |
HTML |
|
✓ |
Allows you to insert an HTML document that will be interpreted for display. |
Indicator |
✓ |
|
The indicator icon, that changes depending on the given condition. You can use flags, bulbs, arrows, etc. |
Map |
✓ |
✓ |
Allows you to insert into the report a vector map that can be scaled. |
As can be seen from the table above, many of the considered objects are not available in SSRS:
• First, there is no vector graphics at all (polygons and other shapes).
• Secondly, the absence of a CheckBox. At work, I often have to create reports in SSRS and each time I get annoyed with the absence of a check box when the bit field is displayed.
• Thirdly, bar codes are also unavailable. You will have to generate them by third-party tools and insert them into the report as a picture.
On the other hand, FastReport also has "gaps". However, they are not crucial:
• The "List" object is simply not needed as it is implemented by using the architectural solution of FR-bands.
• Missing Indicator. It can be done with the help of "conditional highlighting" and the report script. Not as convenient as SSRS, but also acceptable.
In general, we must admit that the assortment of FastReport .NET is richer, and many of the available elements are really necessary.
Additional Features
Why did I render part of the capabilities of the report generators in a separate section? Because I consider them auxiliary, not mandatory for the report generator. However, the availability of such options will be a pleasant bonus.
Many report generators allow you to convert reports from other programs into their own format, facilitating the process of migration. What do our "test objects" offer:
Conversion of reports of other formats |
||
Report Generator |
From … to SSRS |
From … to FR.Net |
RDL |
✓ |
|
List&Label |
✓ |
|
DevExpress |
✓ |
|
Crystal Reports |
by Crystal Migration |
✓ |
As you know, before Reporting Services, the official report generator in Microsoft was Crystal Reports. All the mass of the developed reports had to be translated into new SSRS. Therefore, a migration tool was developed for the new format. Unfortunately, this is the only possible format for converting. Probably, Microsoft does not consider the possibility of switching to SSRS from another report generator.
FastReport .NET aims to attract some users of other report generators. It is interesting, that SSRS reports can be converted into FR .NET. Also, you can convert reports from the German report generator List & Label, American DevExpress and frankly outdated Crystal Reports.
Now let us consider one more feature. FastReport .NET offers us Online Designer. This is almost a complete copy of the visual report designer, transferred to the web platform. You can include the Online Designer library in your web project and display it to users on the web page. The user can design reports in an Internet browser from any device. This feature can be useful for developers when it is not possible to create reports at their workplace. For example, you are away on business, but you urgently need to make changes in your report, which will be presented to the leadership when you are are absent. A tablet or even a smartphone help due to the online designer.
Based on the results of this comparison, I would like to praise the FastReport .NET team. The online report designer is a really handy addition for a report developer.