-
Articles
-

Automation, NoCode, LowCode, Code... four levels of software abstraction

written by
Thomas Groc

Not a day goes by without discovering a new tool NoCode or LowCode... it is not always easy to find one's way in this rich ecosystem.

Let's discover 4 levels of development abstraction, from automation NoCode to code, each with its own characteristics, strengths and weaknesses depending on your needs. This will allow you to better understand the differences in order to identify the right approach for your project.

To better illustrate each level, let's take a simple use case: imagine you want to create an Uber-like VTC booking application for your beta users.

Level 01 - Automation NoCode :

Definition: Automation is the art of combining multiple web services (via APIs) to create value and digitalize manual processes. Today, automation can be easily implemented without any programming skills thanks to powerful tools such as Zapier or Make (formerly Integromat).

Let's go back to our VTC application example: With the automation approach NoCode, we could connect a form created on Google Form, allowing people wishing to use your service to request a VTC (address and pick-up time) to a Google Sheet to centralize the requests (for example, so that drivers can pick up passengers).

Limitations: Limited features and client interfaces / Low scalability / Limited client experience.

Level 02 - Development NoCode :

Definition: No-Code development allows non-developers to create web or mobile applications without any line of code. Glide or Adalo are part of the development tools family no-code.

In the context of our VTC application: with the NoCode approach, we could develop a simple mobile application for driver booking and view the bookings directly on a dedicated administration panel. All without a single line of code.

Limitations: Developers are limited to the NoCode features of the development tool (no customization of elements, such as the map to get a dynamic layout specific to the Uber application). The application's performance can also be limited, especially during the growth phase (scaling).

Level 03- Development LowCode :

Definition: LowCode development allows more experienced developers to create web or mobile applications by combining a NoCode + Code approach. Bubble or Outsystems are technologies that allow adding code on top of the platforms. The combination of the best of both worlds allows developers and designers to quickly implement low value-added features to focus on those that add real value (usually with programming) without technical limitations.

With the LowCode approach, we could bring to life a complex mobile application close to the Uber application (both in terms of user experience and logic).

Limitations: Niche technology developments (like video games for example) or very complex features (algorithms, AI etc...) that require advanced technical skills. Most of the time, a specialized team of developers is involved in this type of software project.

Level 04 - Development Code

Definition: Traditional development (with a programming language code) consists in building web or mobile applications thanks to programming languages and frameworks (Node.js, React, PHP...). This approach allows developers to build complex functionalities or to configure sophisticated infrastructures (which generally require a high level of scalability).

With this approach, the creative possibilities are endless. An experienced development team could implement a powerful price prediction engine and build an optimized hosting infrastructure capable of supporting millions of daily requests...

Limitations: Long development time, risky especially in the launch phase, high costs for a full teamstack (Front-end/Back-end/DevOps)...