Author: Khoa Nguyen, Florian Dendorfer
Low-code platforms are increasingly gaining in importance today. Gartner, for example, expects the low-code platform market to grow by 20% in 2023. But what exactly is low-code and how can a company benefit from it? In the following blog post, we use Mendix, which is one of the most popular low-code platforms, to show what the advantages and disadvantages of a low-code platform are and how we at jls have used Mendix.
What is low-code?
Low-code refers to a development method or platform that allows developers to create applications with a minimal amount of handwritten code. Because of this, low-code development often provides a visual user interface that can be used to create applications using configuration, annotation, and modelling.
Why is low-code relevant?
In today's fast-paced digital world, companies are looking for ways to accelerate their development of applications so they can keep up with the digital transformation sweeping across every business sector without compromising on quality. This is where low-code platforms like Mendix come in, as it allows professional developers or digitally savvy individuals to build complete applications with a little basic knowledge and get them up and running on the cloud.
Another important point is that the use of low code significantly reduces development times, as less code must be written manually. This leads to an accelerated time-to-market for applications and a faster response to business requirements and customer needs. This is why low code is often used for process innovations, as it allows the effects of digitisation to be tested quickly at minimal cost.
With the increasing shortage of skilled development staff, low-code platforms also allow professionals who do not have extensive programming skills to get involved in developing applications. This allows companies to expand their development team and bring new applications to market faster.
What is Mendix?
Mendix is a low-code development platform that allows applications to be created, deployed, and managed with a minimal amount of coding. It provides a visual development environment in which user interfaces can be designed, data models defined, and business logic implemented using drag-and-drop components and pre-built libraries. Mendix abstracts away complex technical details and allows users to focus on solving business problems rather than getting lost in the details of the code.
As a company with an existing development team, you may be wondering why we are considering Mendix for future projects. For us, it is important that we are always evaluating emerging platforms, frameworks, and libraries to show our clients the best ways to implement their applications. During the development of our first project using Mendix, we were particularly impressed by the following features.
Every app needs some sort of data. In Mendix, the data types are managed in what is known as the Domain Model. This is an editor that represents temporary types of data, as well as stored and external types as in a UML diagram along with all the fields and relationships. This data model is relatively easy to understand for developers as well as for stake holders.
Drag-and-drop page building
Mendix empowers developers with a drag-and-drop interface they can use to build whole pages or individual components using existing elements such as buttons, tables, images etc. Simple pages can be prototyped, created and modified at record speed.
Integrated deployment functionality
To simplify the deployment process, Mendix has two functions that work together to make an app accessible to others online. On one side there is the version control, which manages snapshots of the app and optionally the database. On the other side there is the developer portal, from which builds can be launched for each snapshot and then deployed to a cloud environment.
Mendix realises that every project has unique requirements and sometimes needs to be able to integrate with other systems. There are several ways to do this in Mendix. One of these is the marketplace, where additional widgets such as data tables, functionalities such as Excel exports or integrations such as AWS connectors can be downloaded and then easily imported into a project.
Custom widgets and functionalities can also be added, bringing the platform to the same level of customisability as traditional development methods. For the frontend, React can be used to write widgets, for example, which can then be imported into the project using a bundler. Java files can be written for server-side functionalities, which can be integrated into the application using APIs.
In summary, we have been able to gain some pretty good experience. The start of the development phase was particularly fast. Prototyping was very easy, and we were able to iterate over something quickly. However, we ran into some expected difficulties. More complex processes are a bit more tedious to implement than with code and styling is also a bit more involved. But we didn't run into any limitations with a smaller app and could conceivably implement additional applications depending on their requirements.