Introduction
The RecroGrid Framework is a completely unique framework for developing database management applications. The framework inherently includes the fundamental components of a business application on both the client and server sides.
The RecroGrid Framework offers an application model that significantly reduces the time spent on application development. The system is capable of solving graphical representation and application logic tasks that, when using other systems, may require hard work or, in worse cases, seem impossible. Finally, we can break free from the limitations of component libraries. No need to create templates, just implement the data structure, and the system will know what to do. If you need to deviate from the default behavior, only a few parameters or a small amount of additional code are required.
How is it better or different from other component libraries?
The greatest advantage of the RecroGrid Framework is that it comes ready with server- and client-side components that work out of the box without requiring additional code. With various component libraries, you often need to create a large amount of library-specific code, which leads to significant dependencies. In the case of the RecroGrid Framework, Grid and Form views are created at runtime using abstraction layers, and no code needs to be written for them, allowing more time to focus on business logic. Another significant benefit is that RecroGrid Framework manages the connection between client and server-side components from the start, so there is no need to integrate them separately. The database columns are automatically connected to the Grid and Form views, eliminating the need for library-specific code for these as well.
The RecroGrid Framework is not a component library. In fact, thanks to its abstraction layer, it can easily integrate another component library as a supplement, allowing it to achieve functionalities without added code that the libraries themselves cannot accomplish on their own. Currently, the framework supports several component libraries.
- Bootstrap
- DevExpress Blazor UI
- Radzen Blazor Components
- Syncfusion Blazor Components
- Telerik Blazor UI
Moreover, RecroGrid Framework offers built-in features that component libraries cannot provide. Examples include a field-level permission system, change tracking for data, and the ability for each user to save their own column settings or filter settings. The default configuration of the Grid and Form views can be modified at runtime without recompiling the code, but can also be controlled at the code level down to the finest details. These features are available immediately and do not require the creation of supplemental code.
The usability of RecroGrid Framework far surpasses that of a traditional component library. By using the framework, developers do not need to deal with graphical display or application infrastructure issues and can focus on business logic. With RecroGrid Framework, developing an application becomes faster, simpler, and more efficient.
Highlighted Features Related to Graphical Representation
- Automatic List and Form views based on the data structure, without generating templates
- Designing different List and Form views for the same entity at runtime
- Managing relationships between entities
- List views can be linked to an editable menu at runtime
- Abstraction layer for custom graphical interface design
- Ready-to-use packages for third-party Blazor UI components (Bootstrap, DevExpress, Radzen, Syncfusion, Telerik)
- Creating charts based on list data
Highlighted Features Related to Application Logic
- CRUD operations
- Automatic multi-column sorting, simple and complex custom filtering
- User-specific column settings, sorting, and filtering that can be saved
- Runtime parameterizable field-level authorization system
- Tracking data changes associated with users
- Runtime editable interface for multilingual presentation
It is evident that the RecroGrid Framework surpasses every component library with its complex functionality. There is no need to create Grid/Form templates because the framework handles it at runtime. No large amount of code needs to be maintained; instead, only a few parameters need to be set.
Of course, this does not mean that we are abandoning coding. The RecroGrid Framework should not be confused with application builders. The source code of the finished application will be very similar to our previously created applications, but a large amount of infrastructure-related code that does not need to be written will disappear. Finally, significantly more time can be devoted to business logic, improving its quality and functionality.
With a single command, the RecroGrid Framework can display the entire database or its data in a grid or any template-based form, sort and filter them, and display and edit them in a separate dialog (Form view). The displayed data and their styles and behaviors are parametrizable in a graphical interface at runtime. Beyond parameterization, the operation of RecroGrid is fully customizable on both the client and server sides. The framework includes integrated tracking of data changes, field-level authorization system, and a multilingual dictionary for displayed field names and messages. The RecroGrid Framework includes integrated server and client-side components; there is no need to define different structures or templates, just specify cases that deviate from the default behavior.
The goal of the system is to provide a developer with an integrated framework that takes advantage of the benefits of higher-level (relatively) easily usable application builders and eliminates the drawbacks/limitations of lower-level classical class libraries (Grid, ListCtrl, FormView, Database operations). This was achieved by moving certain elements of the display layer from the developer level to the user level, but the developer can fully control the lower-level layers and the interaction with the interface beyond the possibilities provided by the framework, with full traditional code-level control. The result is that the RecroGrid Framework enables very flexible and stable development, more efficient than ever before, while retaining the advantages of traditional coding. By using the RecroGrid Framework, the developer will never encounter limitations, as anything the framework cannot do can be individually implemented through extensions.
In the design process, beyond simplifying the display of classical grid (or any template-based) representation and detailed dialogs related to records, another important goal is to allow end-users to individually change the design, authorization, and other settings brought to the surface, without requiring the developer and without the need for recompilation. The developer can more comfortably display and make data editable for users than with any previous similar control (e.g., GridView, ListView, FormView) without suffering any disadvantages in terms of individual functions or customization options, as usually happens with higher-level application builder systems (sooner or later).