1. Home
  2. Smartpedia
  3. No-Code Development

No-Code Development

Smartpedia: No-code development addresses the generation of applications without manual programming by simply clicking together prefabricated software modules.

No-Code – The creation of applications without programming

Wouldn’t it be nice if there was a way to generate applications faster, more efficiently and even without programming knowledge? One answer to this wish is no-code development.

No-code development – also referred to as click development or point-and-click development – addresses the creation of applications without any programming by simply clicking together pre-built software modules. The idea derives from the name: “no code” is required when generating an application. The code is already in the components, which can be selected and clicked together as in a modular system.

No-code development - the creation of applications without programming

Differentiation between low-code and no-code

In the context of the no-code development very frequently also the term low-code development falls. At first glance, the two development approaches appear to be similar.

Already in the early 1990er years there was the so-called rapid application development. These were programming environments with which the graphical user interface of a desktop application was first created and only then was the corresponding business logic implemented.

In 2014, the U.S. market research company Forrester Research coined the term low-code, whereby the term does not refer to the quality of the code, but to the code creation. In low-code development, the majority of software is created by configuring components using a low-code platform. The portion of manual code development is in comparison to the configured code quantity “low”, thus small.

The promise with no-code development, on the other hand, is: The entire application is configured and manual code generation is unnecessary. In order for this promise to be fulfilled, corresponding platforms address prefabricated components for selected use cases thought out by the manufacturer of the platforms, whereby the manual extension of the existing functional scope is not possible or envisaged.

In short, the two approaches differ in one very important respect:

  • Low-code enables – at least in part – the manual customization of a clicked-together component solution by means of individual programming,
  • no-code supports the creation of a modular solution without manual programming.¹

In business practice, this difference is very important, because any functionality that is missing in the building block is also missing later in the application.²

What is a no-code platform?

The basis for creating applications without individual programming are so-called no-code platforms. These platforms – sometimes referred to as no-code development platforms or no-code automation platforms – enable users from specialist departments, non-technical users or employees without any programming knowledge to click together applications via a graphical user interface using drag-and-drop.

There are a number of vendors, including

This list of platforms can easily be expanded, especially since manufacturers often have different marketing focuses and address different industries or business areas. Basically, however, all platforms offer

  • prefabricated modules, components or building blocks,
  • visual modeling of the desired application
  • and drag-and-drop.

 

Advantages and disadvantages of no-code development

The following advantages can offer a no-code development:

  • The creation of an application usually works quickly and is possible by non-technical users or employees without programming knowledge.
  • Numerous platforms are provided via PaaS – Platform as a Service – accordingly, there is no need for on-site installation or commissioning. This reduces effort and costs.
  • The visual modeling of an application using drag-and-drop is often intuitive and works easily.
  • The effort required to understand the functional scope of a corresponding platform is manageable. Or put another way: The individual learning curve of users is steep. In addition, the IT department is relieved.
  • Depending on the context, the approach is suitable for creating prototypes or as a proof of concept.
  • No-code solutions can be found in many areas and industries.

And the following disadvantages often accompany no-code development:

  • No-code platforms do not offer any possibilities to really adapt the functional scope or the look-and-feel of the generated application to one’s own individual needs that go beyond the provided components. Even the corporate design cannot always be stored.
  • In contrast to individual application development or the use of a low-code platform, the functional scope of the generated application depends on the provided modules, functions and options of the provider. If the vendor has overlooked a scenario in a component for a specific use case or has not integrated an urgently required functionality, this scenario is not supported or the functionality is not offered. As a result, users are dependent on the vendor, just as they are when purchasing standard software.
    The IT department is only superficially relieved; it often has to support the generated applications, answer questions and eliminate potential problems.
  • Applications often cannot be scaled or can only be scaled inadequately. Integration into complex systems is also hardly possible.
  • The approach tends to be suitable only for simpler applications.
  • The selection of a suitable platform can be very time-consuming and complex.

Often, in addition to the fast generation of applications, the associated low or lower costs are declared as an advantage. On the one hand, this is true, since internal or external development capacities are not always cheap (and are also not always available to a sufficient extent). On the other hand, of course, no-code platforms also cost money, and applications that only cover part of the required use cases can have a counterproductive effect in many respects: alternative applications are searched for or used, which also causes effort and costs, user satisfaction drops, possibly several different solutions are used for similar things, and so on. In short, the argumentation of low costs should be taken with a grain of salt.³

Impulse to discuss:

How important do you think the issue of security is when choosing a no-code platform?

Notes:

[1] In some publications, no-code development is described as “programming applications by using prefabricated building blocks via a graphical user interface”. However, since the creators of the application do not programme at all, such a definition is rather misleading.
[2] A difference may also lie in the target audience of the users: low-code development is often done by developers or so-called citizen developers, whereas no-code development tends to be done by people without development knowledge or experience.
[3] The argument with efficiency benefits is also ambivalent. In the short term, there may be efficiency advantages, but if there is no individual implementation of requirements, this often leads to alternative costs.

Here you will find additional information from our Smartpedia section:

Smartpedia: What is Clean Code?

What is Clean Code?

Smartpedia: What is the UML?

What is the UML?

Smartpedia: How does Pair Programming work?

How does Pair Programming work?