Engineers’ Choice — Exploring the Best of Mendix 10

Kyle Kunzer
4 min readMar 27, 2024

--

We polled our engineers at Kinetech for their favorite new features in Mendix 10 and we wanted to share them with you. Here they are, in no particular order:

One: Solution Kit (10.0.0)
The Mendix Solutions Kit is a powerful capability designed to address the challenges faced by large enterprises when building and customizing software solutions. The ability to protect module components (domain model entities, microflows, etc. ) while giving developers the ability to further extend off of a protected core enables the case for continuous upgrades while preserving local modifications. Enterprises are empowered to build reusable, controllable, and adaptable solutions with Solution Kit.

Two: Java Dependency Management (10.3.0)
This feature was high on my list because I am one of the go-to people to help resolve Java dependency issues in projects after events such as a module update (looking at you Excel Import and Export modules!). Hunting down which dependencies were duplicated can be a real chore and now, with the new managed vendorlib folder in Mendix 10 projects, these kinds of issues should be much less frequent. Dependency management can now be done in Studio Pro on your modules, and Gradle will resolve conflicting dependencies automatically by selecting the most recent one.

Three: Multiple Page Parameters For Page URLs (10.0.0)
The page parameter feature has been available for a while now, but it was always limited in use because only the ID of the page’s context object could be used, of which there could only be one.

Now that pages can have multiple page parameters it was only natural that Page URLs would follow suit. Not only can Page URLs have multiple object parameters now, but we are not limited to just the ID of the object; we can select other attributes as well.

Four: Microflow URLs (10.3.0)
Similar to #3, now we can give our microflows a URL with multiple parameters (and primitives!) so that the microflow can be executed via a URL. If the microflow has a Show Page action, then the specified page will be shown inside of the homepage. This is a great feature not only because it unlocks a great way to get users to the application, but also because this can replace some commonly used modules such as Forgot My Password.

Five: XPath Aggregation and Calculation (10.3.0)
Some great XPath utility has been added in the form of aggregate function (sum, avg, count, min, max) and operator (+ , - , * , div, mod) availability in constraints. That means you can have an XPath constraint such as this now:

[sum(MyModule.OrderLine_Order/MyModule.OrderLine/(Amount * Price)) > 100]

eliminating the need to do these calculations in variables and with Aggregate List actions to make the determination.

Six: React Client (10.7.0)
Currently in GA Beta with a full release slated for 10.12.0, the React Client is the new Web Client for the Mendix runtime. This feature could be a real game changer for user experience. The current Mendix Web Client waits until the entire content of a page is loaded before the page is displayed, showing a progress bar to the user to indicate that some action is being taken and that they should wait. The new React Client features incremental page loading, where the core structure of a page is shown immediately (layout, headers, etc.) and content is added to the page as it loads, meaning users will no longer have to wait for a page to load, only for individual components to render, giving the perception of a much faster website.

The big downside here is that when the React Client becomes for de facto web client (assumed that this will be in 10.12.0) then some beloved older non-pluggable widgets will no longer work. I want to take this moment to remember AutocompleteForMendix and BootstrapMultiSelect: You will be missed. RIP.

Left: React Client Right: Old Web Client

Seven: Reverse Association In Domain Model (10.3.0)
This is a simple, but useful feature where an association in a domain model can be reversed by a new option in the right-click menu. Not much more to it.

Honorable Mention: Combo Box Widget
This is an honorable mention because technically it was available for use in later versions of Mendix 9, but it’s worth calling attention to this widget since it has some tie-in with #6, the React Client.

The Combo Box widget combines all of the functionality for dropdowns, reference selector, and reference set selector widgets in a single widget, making for a really consistent UI for all of these use cases. The widget also has search capability making it easy to find and select references.

When the React Client becomes the only web client in Mendix the reference selector and reference set selector widgets will no longer be available and Combo Box will be the replacement for all of them.

--

--

Kyle Kunzer

Expert Mendix developer and trainer based in the USA