The added value of low-code development
Traditional software and application development requires a lot of written code. However, as the demand for software solutions increases and the number of skilled developers falls behind, other ways of development are on the rise. One of them is low-code.
Low-code development is a way of developing applications without having to write much code. Instead, you create your code through a more visual approach, attaching specific components to an application as a way of defining it – creating a drag & drop function, for example.
Deploying low-code development can help accelerate your development process. But in which cases does that happen? And how do you choose the low-code platform that best suits your needs?
The benefits of using low-code development platforms
Building an application using low-code can make quite a difference in development time. Especially if you only use simple, standard functions, which are often included in such a platform.
In terms of infrastructure management and technical management, low-code platforms ensure less costs in maintenance. Most of these types of low-code solutions are presented as a platform or service. So, the management part behind it is usually included – whereas with traditional applications you have to manage the app’s infrastructure yourself.
Another advantage is that people from different backgrounds are able to develop. Think of someone who has a non-technical background and doesn’t have much affinity with writing code. Using low-code enables people with knowledge from different domains to build an application. This ensures a shorter ‘time to digital’ as well as higher productivity, rapid application development, and a more agile delivery.
The current market
There are quite a few low-code development platforms out there. If you look at the Gartner Magic Quadrant for Enterprise Low-Code Application Platforms, you will find there are six big names that stand out as market leaders:
- Microsoft Power Apps
At Itility we have focused on evaluating four low-code development platforms from the list above: Microsoft Power Apps, Mendix, OutSystems, and Salesforce. In addition, we evaluated Betty Blocks. For each of them, we looked at the following criteria:
- Ease of development
- Option for native applications (mobile)
- Continuous Integration/Continuous Delivery options
- Support for collaborative development
- Visual customization
- Integration with third parties
What are the differences between the platforms?
Even though they can all be used for low-code development, these platforms do differ in a lot of ways.
Ease of development
All platforms that we have evaluated are easy to use and have comparable learning curves. Users usually need a few days to familiarize themselves with a platform, but they all offer excellent documentation and online tutorials.
Note that the concepts between the platforms vary a lot, as well as the definitions, so the knowledge you acquire by learning how to use one of them is not reusable across platforms.
All platforms offer the option to build mobile apps, but not all offer the option to go native mobile (on the app store for Android/iOS). For example, Power Apps requires you to go through their app on a mobile device to open your application. The same goes for Betty Blocks. Mendix, on the other hand, has an entire flow for publishing your Mendix app as an application in the app stores – this has a more native feel. For us, Mendix has a clear edge here.
Continuous Integration/Continuous Delivery options (CI/CD)
Regarding CI/CD, there are some clear differences between the platforms. Most notable is that Power Apps does not support any CI/CD at this time, while others like Mendix clearly do.
Support for collaborative development
Working with multiple people on the same application is inevitable as an application grows. OutSystems and Mendix have good support for this, but Power Apps is really lacking in this respect and only allows you to have a single person changing the app at a certain time.
All the platforms we have evaluated offer great support for changing the visual styling of the application, the buttons, etc.
Integration with third parties
How well can you use data or functionality from other systems? Here, we see Power Apps shine by offering good integration with all other Microsoft services, be it Excel, SQL Server, Azure Cloud, etc.
Intended use is also something to think about. Power Apps is very focused on the use within an organization, while Mendix goes a lot further in this regard. Suppose you develop something for a specific customer and that customer wants to share it. Mendix supports that, but Power Apps does not – or at least, it is a bit more difficult.
A great deal of thought was given to scalability for all platforms we have looked at. They all support modern cloud solutions where your infrastructure needs are taken care of.
Note, however, that sometimes costs can rise at the same rate as scale due to licensing costs. Sometimes scaling can also mean you will need a different service tier for the extra users.
The most important difference between these platforms is the licensing model, meaning: do you pay for the infrastructure or for the platform? Do you pay for each user? Or a monthly fee?
What stood out for us was the huge difference in pricing. For example, Power Apps is paid per user and per app. A single user, single application, will cost you ~€8.
Some vendors like OutSystems forego this altogether and just have tiers which fit a number of end-users and charge a fee per month, or like Mendix with a fee per year. OutSystems, for example, starts at $4.000 per month for 100 users, and Mendix at more than $20.000 per year.
The takeaway on costs is that you should be mindful of the number of users you will accommodate. Developing in low-code can be quite expensive if you have a large number of users.
Low-code or native code?
There are also cases when native development is still the best way to go. There are limitations in terms of complexity and the appeal of the software when using low-code. For example, if you develop an app that requires the use of a camera in a more advanced way than just taking a photo – like controlling the camera’s flash, image stabilization, being able to take several photos in quick succession – the functionality offered by low-code platforms often does not go that far. In these situations, you might run into a barrier and going native would be the best or only solution.
Most low-code platforms can connect up to SQL, but support for other connectors varies wildly, so make sure to check if the platform you choose supports the connectors you need. If that option is not available in a low-code platform, you end up having to build it yourself. In that case, you are no longer doing low-code and you will have to put some traditional code on the table. You will need software developers again and you’ll have to put in extra development hours. Therefore, the value of your low-code platform, and the rationale for using it, decreases. So be very cautious of the integration options as well.
In the end, the correct decision depends on your requirements and which existing features from a low-code platform you can use, all while keeping cost in mind. Given the number of differences in low-code platforms and their use-cases, there is no clear winner. At Itility we chose to adopt multiple (Power Apps and Mendix), because of the differences in our use-cases and the differences in what the platforms have to offer. Lastly, there are cases where we chose not to go the low-code route at all, because of functional/technical requirements that cannot easily be met with these platforms. Therefore, I encourage you to evaluate your cases, in detail, before committing to any of these platforms.
Back to overview