Let's Be Clear: No-Code ≠ Low-Code ≠ Full-Code
➡️ Low-code is for developers who want to build applications quicker.
➡️ No-code is for non-developers who want to build applications on their own.
Rarely have technology gurus come up with a more descriptive name for a technology than no-code. No-code allows people without coding skills to build applications without using code. Who would have guessed? (Compare this to "NFTs" or "the metaverse". Good luck guessing what those are).
No-code builders are usually visual, What-You-See-Is-What-You-Get (WYSIWYG) development environments. They enable people who have never written software before to build their own apps. Typical users are non-technical founders, entrepreneurs or anyone else who wants to spin up an MVP quickly and at low cost.
However, this approach also comes with limitations: inside a no-code tool, there's very little wiggle room to customize or change anything. If it's not provided as a pre-built component, you can't do it. Speed and simplicity of development come at the cost of application complexity.
Whereas "no-code" is a great name, "low-code" is just the opposite: it's neither descriptive, nor accurate. Nor do the intended target users of low-code platforms, i.e. professional software engineers, particularly seem to like it. They like writing, reading and de-bugging code: why would they want to get rid of it?
One of the better definitions of low-code we came across is this (Forbes):
"Typically built to componentize the more easily defined and repeatable tasks associated with coding software, low-code is not for dummies and still requires a professionally trained and qualified software engineer to handle it".
A better name for "low-code" would be "efficient code" (Chiefs of Marketing would probably beg to differ with this assertion). Low-code solutions speed up the work of experienced software engineers through pre-built components. But they do not eliminate full code. That's how they allow for increased complexity compared to pure no-code platforms. They usually also come with much more developer-focused features, such as multiple applications environments (development, staging and production) compared to pure no-code tools. But they do require some programming knowledge, so they are not a tool for everybody.
Full code describes the use of traditional coding to create applications. Full code has the advantage of full control and is the best approach for developing unique, robust, and complex applications that need to be 100% tailored to requirements. But it's time-consuming, complex and requires the expertise of trained software engineers.
To sum it all up:
An approach to software engineering that helps non-technical (business) users build applications of low complexity & low customization without writing any code whatsoever. The main advantage is ease of use and a relatively flat learning curve.
An approach to software engineering that helps software engineers and tech-savvy business users build applications of high complexity & high customization by providing pre-built components and the ability to use full code almost anywhere. The main advantages are development speed & increased developer productivity. But the learning curve is steeper than for no-code tools.
An approach to software engineering that helps trained developers build applications of very high complexity and very high customization by writing code from scratch. The main advantage is you can build whatever you need, but learning how to code takes months, if not years.
If you'd like to learn more about low-code software engineering or build your first app using low-code, why not download Five (for free!). Simply visit https://five.co.
Stay tuned for more topics related to no-code / low-code, such as:
- Are low-code and no-code the same?
- What are the limits of low-code and no-code?
- And, will low-code make developers redundant?
Originally published at https://five.co/low-code-vs-no-code-vs-pro-code/ on August 23, 2022.