DEV Community


Discussion on: The Case for Low Code

kspeakman profile image
Kasey Speakman • Edited

Thanks for the great article.

I like to think of this as a spectrum between Configuration and Code. Full configuration has a large learning surface area with all the app-specific configuration options and their supported interactions. The learning curve is more appropriate for non-devs since you only learn app-specific stuff without bringing in the universe of dev things. Configuration is essentially an app-specific programming language.

Note: Full code solutions typically have some non-trivial configuration files. Many of us will happily let "uninteresting" problems and slow-changing options live in configuration. For example, dependency resolution.

I think another reason that developers tend not to like no/low code solutions is because they are used to having the full power of a programming language. Low code necessarily has some restrictions. And no code tends to have limited supported interactions. There is a frustration in knowing how easy something would be in a different context but how hard that same thing is with no/low code.

I like your idea of taking a no/low code prototype and translating it into full code for further development. I think we can see the beginnings of that kind of thing even in the developer space with projects such as Create React App.

sshine profile image
Simon Shine

I like to think of this as a spectrum between Configuration and Code.

I'd like to phrase this in a more agnostic way, because I think of "code" and "hand-waving" as being the two ends of the configuration spectrum.

Another angle to this discussion is Infrastructure as Code where you seek to codify all software configuration. We would like to run software with as few hand gestures as possible. Drag 'n drop achieves the ease and high short-term value-to-customer ratio, and IAC achieves revision control, reproducibility and high long-term value, but at a steep learning curve.

There is a point in the distance where these two meet for smaller scale projects, so that the configuration and customization of e.g. a WordPress installation is separated from content and versioned appropriately.