It is undoubtedly true that low code or no code development stands for developing an application without or only limited programming knowledge. However, it helps to have some basic understanding of software development. In this article, I will introduce you to a basic software architecture and translate this to low code or no code solutions. It will help you understand which different tools can be combined to build a scalable and robust application. Let’s start!
How does a baseline architecture for software systems look like?
For everyone who had at least one semester in computer science may have seen this schema a thousand times. This architecture is based on the so-called 3-tier-architecture, which is well known and so far hasn’t aged that much. It basically says that software can be sliced into three 3 different layers. It’s also often referred to as model-view-controller or short MVC.
- Interface / Presentation Layer (view)
- Business Logic /Application Layer (controller)
- Data Storage Layer (model)
We won’t do a complete deep dive here, because it’s not required for our purpose. I’ll give you an example for a better understanding of the concept. The interface or presentation layer is what you as a normal user experience the most. It is the Instagram app you are using to see pictures from friends and family. It also the website you are currently on and reading this article (thanks for that ;). That’s everything that takes an input from you as a user like buttons, links or text. Furthermore, it’s those components you „just see“ like pictures, labels, videos or texts.
So what is the point in modularizing it into a special presentation layer? The big advantage is that different user interfaces can use the same business logic and data storage layer. When implemented correctly you only have to develop the business logic once and can use it for multiple different interfaces.
The business logic or application layer consists, as the name already indicates, of the actual logic of your system. All the workflows, scheduling activities, calculations, algorithms, user management, and sometimes 3rd party integrations. Implementing the business logic is often hard work. It is the magic that differentiates your systems from other systems.
The data storage layer handles the right storage of your data. Every proper application needs data (of course). You need to make sure that the data is stored in a way that supports your performance. Additionally, you need to implement security mechanisms to prevent unauthorized access to the data.
The 3-tier-architecture gives you great flexibility by modularizing these three layers. The same data and business logic can be accessed through multiple interfaces. I know that there are exceptions where you want to move some parts of the business logic into the presentation layer. For the moment we won’t concentrate on those exceptions.
Low code platforms and 3-tier-architecture
After you got into the basic understanding of the baseline architecture for many software systems, we will have a look at how this is implemented in low code platforms. First things first, when I speak of low code platforms I include all no code platforms as well. The reason why I like to use the term low code far more is that it shows the power you can unleash when using no code platforms and add some programming power on top of it. Don’t be confused about this.
Bubble as an example for a low code platform
Bubble.io is a very comprehensive low code platform you can use for building web applications. I chose this example, because it shows perfectly the implementation of the 3-tier-architecture. The platform gives you the possibility to create interfaces, create workflows and use their internal database for data storage. This sounds very familiar to you, right? I created a picture that shows the functionalities in Bubble.io and the layers of our 3-tier-architecture.
So basically low code platforms give you everything from the 3-tier-architecture you need to build your first own application. But that’s not all. You can easily use other low code tools and integrate them into your application.
Usage of other low code data storage providers
You can use the integrated data storage options offered by the low code platform. The cool thing however, is that you are not forced to do it. If you wish to have a separate database with better usability or performance you can easily integrate this. As an example, airtable is a low code platform providing relational databases. This gives you the opportunity to use the same database for several applications. The application can be built with different technology stacks then. Additionally, you can further automate your processes without getting the headache of synchronizing the data. The given examples are not limited, there are many, many tools out there.
As we learned, we are able to have several options for the data storage layer. You can use the default possibilities provided by the low code platforms. If you wish you can also use a traditional database such as MySQL. Be aware that you might need SQL knowledge if integrating with non-low code variants. A little SQL knowledge doesn’t hurt anyway.
Integration of external APIs
Most low code platforms give you a variety of options to further extend your workflows with external APIs. This is extremely helpful if you want to further automate your processes for example with Zapier. But also for payments, it is crucial to have the possibility to integrate 3rd party external APIs. You want to have your ecosystem as flexible and open as you need it.
Create your own API endpoints
To use all the benefits of the 3-tier-architecture we need to find a possibility to offer the business logic and data access via our low code platform. This is not as magical as it sounds. You can create your own API endpoints for either internal usage or to let your customers and partners interact with your application.
With this functionality, you can outweigh the disadvantages of one low code platform with another. As an example, Bubble.io doesn’t offer any possibility to develop native apps. Even making your app responsive can be tricky. You can use applications like Adalo for this purpose. They can let you create native apps. You can use platforms such as Adalo for your interface and use bubble as your backend systems (business logic and data storage). The interaction between the layers is working with REST-APIs. This again sounds much more complex than it is actually is.
Expand your low code ecosystem
In this article, you learned about the foundations of software development. You know how to further expand your low code platform with the idea of the 3-tier-architecture in your mind. The examples given can help you to build a low code application that is flexible and ready for scaling.
Even if you consider some limitations where you can’t implement a feature with the tools given. There are ways to add other tools or individual programming code to it. The goal, however, is to have a low code platform acting as a foundation to save more than 50% of the development effort.
There is nothing that prevents you from starting right away. All you need is a good internet connection, a good coffee and an idea you always wanted to implement.
If you experience any troubles or have questions, feel free to reach out to us. We are there to help.
Ich bin Sarah und ich habe in meiner Zeit in der IT-Branche schon ziemlich viel erlebt. Ich habe gleich zu Beginn meiner Laufbahn als Beraterin das Gespür für die Bedürfnisse meiner Kunden entwickelt. Später habe ich als Leiterin von Software-Entwicklungsteams verschiedene digitale Produkte auf den Markt gebracht.
Entspannung finde ich tief unter Wasser. Ich bin leidenschaftliche Taucherin und schrecke selbst vor eisigen Bergseen nicht zurück.