Posted date
Reports on evaluation of low-code development platforms
Table of contents
- Introduction
- About low-code development platforms
- Evaluation method
- Detailed reports
- Effective uses of low-code development platforms
- Appendix
- Product evaluation: OutSystems
- Modeling languages
- Model-driven development
- Flexibility of screen design
- Flexibility and extensibility of logic
- A developer’s impression of this product
- Situations where OutSystems is effective
- Product overview: Mendix
- Modeling languages
- Model-driven development using highly functional widgets
- Flexibility of screen design
- Flexibility and extensibility of logic
- A developer’s impression of this product
- Situations where Mendix is effective
- Product overview: RakRak Framework3
- Component assembly development
- Automatic generation from data models
- Flexibility of screen design
- Flexibility and extensibility of logic
- A developer’s impression of this product
- Situations where RakRak Framework3 is effective
- Product overview: GeneXus
- Development from abstract models
- Universal Relation Assumption
- Use of one source multi use
- Flexibility of screen design
- Flexibility and extensibility of logic
- Situations where GeneXus is effective
Product overview: GeneXus
GeneXus is a low-code development platform from Uruguayan provider GeneXus S.A. The biggest point that sets GeneXus apart from other platforms is its ability to automatically generate models from abstract models.
Development from abstract models
GeneXus contains an inference engine. When conceptual data structures or business rules are written in objects called transactions, the engine automatically generates corresponding models.
The user then completes the application by adding detailed user interface and/or logic to the models that have been generated. Models can be repeatedly generated from abstract models. GeneXus determines the areas in the models that are affected when an abstract model is changed and apply necessary changes to the models. GeneXus also has a feature to automatically move data if a physical table structure is changed as a result of changes to a conceptual data model in the abstract model layer.
Universal Relation Assumption
GeneXus assumes that item attributes with the same name are the same concept, and automatically links them. For example, if the same item name exists in two tables, a foreign key is set automatically.
For this reason, the following naming rules need to be followed.
- Items that are conceptually equivalent must all have the same name.
- Items with different concepts must not be given the same name.
Use of one source multi use
Model layers in GeneXus are not dependent on source code language (Java, C#, etc.).
Two source code generators are provided to output source code from models (Java and C#).
It is possible to output both Java and C# source code from one model.
Flexibility of screen design
In addition to a feature for making fine adjustments to object positions and decorations in automatically generated screens, GeneXus has a feature to directly edit the HTML source code of the screens.
Users can also use their own CSS.
Flexibility and extensibility of logic
Processing logic is written in a script language specific to GeneXus, using the text editor. As the logic is written in script, it is presumably possible to express more complex logic than graphical models in flowchart format.
It is also possible to include code implemented in Java. The logic can be extended with original components prepared in Java or C#, and existing materials written in Java or C# can be reused.
Situations where GeneXus is effective
Below are the benefits of GeneXus and the situations it is suited to.
- Strong feature for automatically applying changes to abstract models.
->Ideal for situations where development needs to start before specifications such as data models are decided. - Models are not environment-dependent and the output language can be specified.
->Ideal for outputting Java and C# for one source multi use situations. - No billing to execution environment.
->Ideal when developing package products.
These documents are provided under the Creative Commons Attribution + ShareAlike 4.0 license.