LOW CODE PLATFORM
RAPID APPLICATION DEVELOPMENT
As the term already expresses, low-code is a development environment for software that is based on “less code” or “less programming”. The special platform category follows the principle of enabling users without programming skills to create their own applications. Almost all tasks, settings, designs, logics, etc. can be configured and integrated into the system landscapes using a UI interface and corresponding elements. Nevertheless, the quality requirements can still be met.
Especially for IT departments with a lack of resources, low-code platforms offer an opportunity to meet the high demand for applications and their requirements. The low-code approach allows applications to be developed up to ten times faster, significantly accelerating development time and reducing costs.
What is the origin of the low-code movement?
The low-code movement goes back to the 1980s. The trend has begun with the so-called “Fourth-Generation Languages” (4GL). The term from software development describes a fourth generation programming language or programming environment. The goal of 4GL is to be able to write complete applications with few lines of code.
In simple terms, the generations can be expressed as follows:
- 1GL: Machine language
- 2GL: Assembler language
- 3GL: Procedure programming
- 4GL: Declarative programming
- 5GL: Artificial Intelligence
The first generation of the programming language designates the machine language. It is in principle binary, but can also be hexadecimal coded. Due to their incomprehensible and confusing structure, more complex programming can hardly be realized.
With the assembler language (2GL) so-called “mnemonics” abbreviations are assigned to binary codes. The source code, also known as assembler code, is directly converted into executable machine language (1GL) by the so-called assembler.
What makes 4GL different from 3GL? While 3GL has mainly been characterized by the introduction of standardized control structures, fourth generation programming environments have the goal of providing functions or complete applications as quickly as possible and with as few lines of code as possible for a specific application.
Low code today
The term “low code” for this special kind of application development was only introduced by industry analyst Forrester Research in June 2014. Since then, the low-code approach has experienced a real renaissance in recent years, especially in the USA. Due to the emergence of so-called “low-code development platforms”, more and more companies are dealing with this topic.
The low-code development platforms are technologies that offer the creation of software or applications through as little programming as possible and thus enable users without extensive programming knowledge to create applications.
We estimate aggregate 2017 revenues of $3.8 billion.”
Fast Application Development – The Low Code Approach
With regard to the tools needed to create a software, the focus is on an integrated development environment (IDE), a data store, multiple interfaces (API’ s), at least one development language and most likely a kind of framework. Deployment and management also includes topics such as continuous integration, problem tracking, schema migration, monitoring, security, and scaling. A Low-Code App Development Platform (LADP) bundles all these factors in a modular system, so that applications can be created visually.
In contrast to programming environments, low-code development platforms use only prefabricated standard software modules instead of individual program codes. Using intelligent metadata, these are controlled in such a way that program behavior is created, which from the user’s point of view is almost identical to a hand-written application.
Components of a Low-Code App Development Platform
When looking at the different low-code development platform providers, it quickly becomes clear that each solution has its own individual characteristics. Nevertheless, there are three essential components that run through all platforms:
- Automated database integration: Low-code development platforms transparently transform your data models into relational tables and SQL queries. In addition, data from external APIs are automatically made available to the application.
- Visual development: A low-code platform makes it possible to visualize business processes, user interfaces and data models in companies.
- Complete lifecycle management: Low-code platforms for app development make it easier to deploy, maintain and modify the application within a few clicks.
The best-known low-code platform
The most popular content management system for websites is probably the web application WordPress. About 29% of all websites online are managed by WordPress. The content management system is a typical example of a low-code platform. With just a few clicks, the user can create a website with all important functions.
Ever since Matthew Mullenweg and Mike Little started developing WordPress in 2003, the content management system has evolved into a huge ecosystem. Users can choose from over 350 customizable themes, portfolios and blogs of any kind. Special functions can also be integrated by plug-ins. Developers can make these enhancements available to users.
In short, WordPress offers a content management system that allows users to configure websites in a very short time and on the other hand gives developers the freedom to program special features. These two approaches form one of the basic principles of Low-Code.
Which platform is the right one?
There are currently numerous providers of low-code app development platforms on the market. These are usually designated as Rapid Application Development Platforms (RADP), Mobile Application Development Platforms (MADP), Rapid Mobile App Development and Mobile back-end services (MBS).
In order to find out which platform is the right one, the user has to get a clear picture of the requirements and the focus of the low-code platform. The following questions can be asked:
- What should be achieved with the low-code development platform? What are the objectives to be pursued?
- Who should use the platform (inside, outside of my organization)?
- Which business values have been defined (higher customer retention, shorter development time, access to information) and how are they measured?
- What problems are there within the organization that could not be solved without low-code technology?
How do I develop with low-code platforms?
In general: Configure instead of program. But what does the low-code approach look like in practice?
Low-code development platforms can help both inexperienced users and full stack developers. The approach enables the implementation of complex applications without time-consuming programming. The most frequent, basic functions should be usable on a purely configurable level. Deeper, individual adaptations and functions can be seamlessly extended by the use of program codes.
The user has the advantage of being able to independently adapt parts of the application without programming knowledge. This not only relieves the development department, but also saves time and money.
On the other hand, the user can get to the point more quickly when communicating with the developer. Due to the modular system, the developer has the possibility to build a first prototype within a very short time and to discuss it with the user.
From the developer’s point of view, the advantages are similar. Due to the simplicity of low-code platforms, individual tasks can be returned to the user. This frees up capacity for more complex tasks, since annoying, repetitive tasks are no longer necessary.
UI interface with configuration elements (Simplifier)
How can applications be configured?
By using easy-to-use elements of the user interface (UI), the user can “click together” his personal app. For this purpose, various functional elements that have been established for a long time are available. The most common ones are:
By clicking on it, predefined values and functions can be selected or deselected. In contrast to radio buttons, any number of checkboxes can be selected at the same time.
In contrast to the checkbox, only one element within a (radio button) group can be selected at a time.
Text & Search Fields
Text fields are mostly used in low-code platforms to insert labels, descriptions or values.
A search field connects text field, button and search function.
Buttons are icons that can be used to activate actions such as: save, log in or send a document. The text on the button describes the function to be called.
Lists & Dropdowns
Several elements can also be displayed in the form of lists. Due to the more compact presentation, the use of dropdown lists is usually more useful and often the better choice.
Switch / Toggle
This interactive element is particularly popular with mobile devices. A switch or toggle is basically nothing more than a graphically appealing checkbox. Functions are now switched on / off.
Tabs provide a convenient way to switch between content such as texts and functions. The big advantage is to display the necessary information without scrolling or changing pages.
Drag & Drop
By clicking and dragging elements at the same time, you can move and relocate elements. In development platforms, this is often used to sort and join processes.
Is No-Code even better than Low-Code?
Although no-code is a further development of the low-code approach, it is not necessarily better. Depending on the application area and user, there are reasons for and against a no-code solution.
As the name suggests, no-code is no programming at all. The best-known example of no-code software solutions are the popular tools for creating individual photo books. Here the user can create his own photo album according to his own ideas by means of predefined functions and effects.
Although these applications have meanwhile clearly gained in scope and functionality, a designer or photographer will probably not use such a solution. Why? This solution does not fully meet the requirements and expectations of this professional group. No-code therefore always comes up against certain limits, which are technically not individually realizable.
No-code in the business environment
In the corporate environment experts usually work together. Accordingly, the requirements for a platform are high. In order to meet the different systems and individual requirements of a company, the use of a no-code solution is often difficult. Especially in the IT area, a no-code solution cannot be individually adapted due to the mostly very different infrastructure.
Here you can see the clear advantages of a low-code platform. This combines the ease of use of a no-code platform with the ability to extend it by a developer and adapt it to the company’s needs. In the application development environment in particular, there are also functions that are difficult or not practical to implement by means of pure configuration options. Despite all the enthusiasm for no-code or low-code, the meaning behind it should not be subordinated to technical possibilities. So what is the point of a no-code solution if there are no time advantages compared to programming?
There are many reasons to choose a low-code development platform. The considerable cost advantages and shorter project lead times speak for themselves. Above all, however, the high flexibility of the applications created by the low-code approach with regard to changes of all kinds, at all levels, is a real added value for companies.
These advantages not only enable a drastic reduction of software maintenance costs, but also allow especially iterative prototyping and agile software development. In this way, it can be optimally adapted to the actual requirements of the respective end user. Finally, every project can be successfully completed on schedule.
Our Simplifier platform is the only low-code UI5 based platform in the world. Sign up now for our free Simplifier demo version and bring your company into the digital world of tomorrow.