Code in no-code platforms, that must not be possible, right? Because if you would be allowed to use code in a no-code platform, wouldn’t that make it a low-code platform? Well, the truth may surprise you.
This is a harder question to answer than you may think. Because the definition of what code is, depends a lot on who you ask. From a purely software engineering point of view, code is something that you can write, which is then translated to zeros and ones by a program called a compiler.
Only after the code has been compiled, you can use it. You can think of this as writing a letter in English, then translating it to Chinese in full, before handing it over to your Chinese colleague to read.
Over the years however, a lot of innovations have taken place in the field of coding. There are so-called Just-In-Time (JIT) compilers that don’t necessarily need to be run before using the code, but can compile on the fly, or ‘just in time’ for you to use it. I would still consider this code, but other experts might disagree.
In the analogy of the letter, you would let your Chinese colleague read while you are translating. Every time your colleague wants to read something, you make sure you translate it just in time. If your colleague suddenly jumps a paragraph, you do too, leaving the part in between un-translated until your colleague may eventually read it.
The real difference comes with languages such as JavaScript, which are mainly used in web-applications. JavaScript for example, doesn’t need to be compiled before you use it. Instead, it is ‘interpreted’.
Think of this as how the United Nations uses interpreters. They don’t translate any letters, but instead they interpret everything that is said on the fly.
This is distinctively different, because once you have interpreted it, the translation is no longer available. You’d have to translate again the next time the same text is spoken. In software engineering, this is called ‘script’.
As a software engineer, there is a very big difference between scripting and coding. Mainly, script can be changed more easily than code, because code has to be compiled after it has changed. Script can just be changed and then used. From a technological point of view, scripting and code are very different.
The question of course is, though technologically different, how different are script and code to the person writing it? The answer is not all that different. JavaScript is, as the name suggests, script that is based on Java. And Java is code.
Today, the words are even becoming more similar in meaning, as it is now generally accepted to call writing JavaScript or HTML coding instead of scripting.
So whether we are talking about script or code, the act of writing it is more and more considered to be ‘coding’. And that is fine, because they are very similar to the person writing them. They often even look almost the same. You might be wondering why this difference is such a big deal. Good question.
Most no-code platforms are no-code because they don’t allow you to add any code. However, they will often claim that they can also be used for very versatile solutions. And one way of achieving that versatility is allowing the user to code, eh, script.
If the user can script certain things, such as the user interface by using HTML, then the platform is strictly speaking no-code. Whether as a user you experience it that way, is a different matter entirely of course.
I believe that the only real solution is to simplify the design process to its bare essence, eliminating a lot of the reasons to want scripting. For business users, a simple solution is often favorable over a more complex solution that has broader applicability.
Therefore, the option to use script for modifications should be considered to be coding. And should ultimately not be allowed in no-code platforms, in favor of a much better and easier user experience.