Product overview: Mendix

Mendix is a low-code development platform from German provider Siemens (Siemens acquired the original company, Mendix (Netherlands) in 2018).
Mendix Modeler, the platform’s dedicated development tool, is used to develop business applications by writing visual models.

In Mendix, the development and execution environments are integrated and Mendix Modeler is used for all processes, including development, testing and deployment.

Modeling languages

In Mendix, applications are expressed by three models: pages, Microflow and domain models.

Model elements in Mendix Description
Pages These implement screen layouts and basic processes using a widget.
Microflow These implement all processes, including processes linked to screens and databases and individual processes that are not linked to these.
Domain models These implement table definitions.

Model-driven development using highly functional widgets

Mendix uses a highly functional widget to generate the main features of screens, reducing the volume of script in logic models (Microflow).
In a simple master maintenance screen, a widget containing the basic features that are needed is pasted to a blank screen, so the user only needs to set the tables to be connected and the features to be used.
Microflow are used for extending processes that are not supported by widgets, linking of widgets and other unique processes for linking database update events or events in different areas of a screen.

Below are descriptions of the main widgets that are used.

DataGrid(widget for list screens)

This widget contains buttons for displaying data lists, performing paging operations, filtering searches, batch-deleting data and navigating to more detailed screens. The user simply pastes the widget into a screen in Mendix Modeler and specifies a database to connect to. Column definitions are then set automatically, enabling the features above to be used.
All columns and buttons are displayed by default, but the view can be customized by changing the properties to perform actions such as hiding some areas.

DataView(widget for detail screens)

This widget contains operations such as displaying detailed data, inserting new data and updating data, along with the corresponding navigation buttons.
The user simply pastes the widget into a screen in Mendix Modeler and specifies a database to connect to. An input form for the detail screen is then set automatically, enabling the features above to be used.

Flexibility of screen design

Screens are generally developed using templates and widgets prepared by Mendix. Users can acquire templates and widgets from a wide range distributed on the Mendix App Store website (most of these are free). Mendix updates the Mendix App Store when new UI becomes available, enabling application developers to generate applications with the latest UI through an easy process.
Fine adjustments can be made to screens imported from templates, such as changing the position or decorations of the widget in the screen, but the HTML source code cannot be directly modified. Unique designs that are not included in the templates can be added using CSS created by the user.

Flexibility and extensibility of logic

Process logic is expressed by Microflow and equations in flowchart format, using the GUI base tool.
It is also possible to include code implemented in Java. The logic can be extended with original components prepared in Java, and existing materials written in Java can be reused.

As Microflow support elements such as branches, loops and subprocess calls, they presumably enable a level of expression equivalent to standard programming languages, but there is a risk that they will become overly large for complicated processes. As mentioned earlier, this can be assembled with Java implementation to implement complicated processes while keeping the Microflow slim.

A developer’s impression of this product

Below is a developer’s impression of Mendix.
(This impression is based on the developer’s experience in building a sample application after attending the free seminar and learning from publicly available materials. A developer who pays to attend the full three- to five-day training may have a different impression.)

Basic operations such as allocation of data to widgets are not treated as process logic in Mendix, as they are performed within the widgets.
This means that Microflow do not need to be written when following basic patterns, which minimizes the volume of processing logic related to each screen.This ability to keep Microflow slim makes the platform easy to handle for inexperienced engineers, but I got the impression that sufficient knowledge of widgets is necessary in order to use it well.When I built the sample application, I struggled to find ways to investigate or customize operations as I do not have enough knowledge about the specifications of widgets.I think that if you have sufficient knowledge of widgets, you can develop applications quite efficiently without much programming experience.

Situations where Mendix is effective

Below are the benefits of Mendix and the situations it is suited to.

  • The latest UI can be acquired from the Mendix App Store.
    ->Ideal for developers who want to use the latest UI.
  • Application definitions are completed through visual modeling using the GUI base tool, including the logic parts.
    ->Ideal for situations where developers and users develop and maintain the system together.
    ->Also ideal for developers who want to create a variety of features.
  • The volume of logic models is small as basic database processes from the widgets are performed within the widgets.
    ->Ideal when scratch development is performed by engineers without much development experience.
  • Processes such as deployment and version management are performed all in one.
    ->Ideal for developers who want to build a new source code management environment or release operation environment.
  • A public cloud version is available as soon as the user agrees to the contract.
    ->Ideal for developers who want to set up the service quickly.
  • Mendix is priced according to scale of development.
    ->Ideal for developers who want to start small and gradually increase the scale.

These documents are provided under the Creative Commons Attribution + ShareAlike 4.0 license.