The term “low-code” is not new. It has been coined by Forrester in 2014 to classify “development platforms that focused on development simplicity and ease of use. These platforms allowed developers and users of all skill levels to code applications, without having the outright need to know coding.” The trend caught on like wildfire. But in the meantime – frankly, I could not determine when exactly – the “no-code” term appeared. And it caused lot of confusion to determine what is what. In the following paragraphs I’ll try to show my point of view and clear it up.
The low-code / no-code definition
The trick is that at the first glance both terms seem to be self-explanatory. And many sources just define them as:
- Low-code – platforms that speed up development by allowing to build rough applications graphically for further customization. They limit demand for coding, but still require such to build final product.
- No-code – platforms that allow to build applications graphically without need to code at all.
And here is the source of my concern.
According to definition above, our VSoft archITekt platform is no-code, because in most of the cases you can build the system without writing even single line of code. So, is it really no-code? The answer is “no”.
Like other Low-Code Development Platforms (LCDPs), archITekt doesn’t require knowledge of any programming language or technical development framework. But to use it effectively, you need to have some general technical knowledge about IT systems, data models etc. If you want to build enterprise scaled solution, you should be also aware about additional aspects like best practices in performance tuning, mass data processing etc.
In contrast, no-code platforms don’t require technical knowledge at all. You can use significant, predefined building blocks, connect them with each other with some fine tuning. It is possible because such blocks have already embedded business logic, aligned to intended business use.
The very accurate analogy, I think, would be to LEGO bricks.
Imagine no-code as LEGO Duplo or theme sets. With many predefined elements, you can quickly build, say the Ice Castle from the Frozen movie. But if you want to use the same set to build StarWars Millennium Falcon instead, it would be, well … difficult. On the contrary, consider low-code as Lego Technic or Mindstorms. Lots of generic, detailed elements. Much more work is needed to build the final effect. But on the other hand, there is no limits for your imagination, you can build nearly everything.
Pros and cons
At this point, the question may arise: which one, no-code or low-code is better? (Un)fortunately, there is no simple answer for that.
Each approach has its benefits and consequences that need to be considered.
With no-code you can build something very quickly and easily. So, the benefit will be low entry cost and no requirement for technical skills to get onboard. No-code tools are also well suited to address business requirements considering narrow, specific niche of intended use.
But the price for that is reaching limitations of the tool quite quickly. And moreover, there is rather no option to overcome such limitations. Since the components available to use are predefined, there is no option for custom development or adjustments other than allowed.
Low-code platforms require a little bit more of time investment. Variety of possibilities and options make them complex themself and require some learning from tutorials or taking some trainings. Moreover, to use them effectively, you need some knowledge about IT systems architecture and data models. That for sure may be disadvantage. Fortunately, our archITekt, as many other platforms, allows to progress gradually from the simplest use cases to complex enterprise solutions. There are also samples of modules or complete apps available, what makes the development easier, as there is no need to start from the scratch.
The bonus we get after initial inconveniences, is almost unlimited pool of options in application of the platform. Even if you reach limitations of the platform itself, it provides mechanism of elastic plugins allowing to extend functionality with your own code. In such case you need programmer indeed, but there is no situation that the platform leads you to dead end without any option.
The price you may pay for such flexibility is a little more generic way of how the platforms meet business requirements. A good example is GUI. It will be nice and functional, but not as ‘sophisticated’ as it would be when hardcoded by a front-end development team.
When to use what
So, does it mean that in the name of freedom we should invest into using low-code tools in any case? Not necessarily.
If you can find a no-code tool addressing exactly your business needs, don’t hesitate and use it. It will bring you a quick win. And even when you hit the limits in the future, there still will be time to consider other options.
If you cannot find a no-code tool to address your specific context, but somehow end up using one, there is a huge risk of frustrating attempts to adjust something that, at the first glance, looked useful but cannot be customized the way you want. In such a case you should consider a low-code platform.
LCDPs also vary among each other, so to choose the right one you should consider their specifics against your requirements. But that’s the topic for a different post.
And lastly, there is no rule that you should stick just to one platform. You can use even several no-code tools for very specific purposes and one low-code platform for universal use (see my other post on this).
Head of Business Development for VSoft archITekt
Let’s connect on LinkedIn