The main problem you will face when choosing a low-code platform

post-thumb

Today I found thread on reddit about a programmer being put on a no-code project and having a very bad time with it. The complaint from the OP was that PMs/managers promised things that are not deliverable with the low-code tools. The comments were very interesting and there was some discussion that not all low-code platform are made equal, some are very extensible while other are useful only for a set of use cases.

The main problem with low-code platforms is that it is difficult to know at a glance what is possible and what is not possible. They are new, and the terminology around them is not clear. For example, I think that everybody agrees on what are the capacities and limitations of web applications. If you have a mainstream programming language like Python, Java, JavaScript, etc, you know what is possible when you target the web. If you target mobile, you have a strong intuition of what can be achieved on it, and you know you can do it. In other words, the following property is always true: if something is possible in your target platform, it is possible to implement a solution in your standard programming language. However, low-code platforms target the same platforms as mainstream languages, but they do not guarantee the aforementioned property.

The problem is that most low-code solutions market themselves as “app builders”, and some people assume that it means that you can build “any” app. Maybe some platforms are powerful enough to do this, but my intuition is that probably none is at that level yet. Also, to arrive at that level, you need to fall down to your standard programming language. The magic of low-code platforms is trading flexibility and customization, for development speed, and falling into a standard programming language seems to get you the worst of both worlds.

So, the core of the problem is that there is no concept of “Turing completeness” for low-code platforms, and finding out if the trade-off made by the platform in question is good enough for your requirements, implies looking well beyond its marketing materials.

The solution to this problem passes through standardization. We need to be able to see two low-code platforms and immediately know if they have the same level of expressiveness and what are their limitations. My guess is that the industry needs to develop some new vocabulary both to better classify these platforms and their limitations.

comments powered by Disqus