AI and Low Code: Partners or Rivals?
Will the development of generative AI solutions make low-code solutions superfluous, asks Tino Fliege from OutSystems.
Anyone looking at the capabilities of new tools such as ChatGPT or Github Copilot can hardly deny that the results are impressive. The repertoire of these AI tools includes document creation, auto-completion and writing code snippets. This means they offer almost everything that developers could need – but they are not completely error-free. It should therefore be noted that the greater the volume of code generated, the greater the risk of incorrect extrapolations or misunderstandings.
Codes can have vulnerabilities
The major shortcoming of these tools is security. As the tools often have no knowledge of best security practices, their generated codes can have vulnerabilities. According to a study by Github, up to 40 percent of the programs written can have security vulnerabilities. Another survey from the same source shows that around 62 percent of generated code contains incorrect API usage, which could lead to unexpected consequences if the code were to be integrated into real software.
Although the tools do save a significant amount of time, this falls short of optimistic expectations – because compared to conventional methods, the time saved is around 20 to 30 percent. Nevertheless, experts agree on the added value that the tools offer. In order to shed more light on their progress, it is therefore necessary to classify them accordingly.
Low-code vs. code generation?
The question can be answered directly: the comparison is not accurate. Low-code platforms offer scalable SaaS cloud infrastructures. This allows full-stack applications to be created and deployed with a single click. Testing is also immediately possible natively within the platforms. The list of their capabilities does not end there – they can solve compatibility issues between frameworks and libraries, ensure transparent updates, maintain a robust infrastructure, compile and deploy error-free, create logs for debugging. Best practices for security, scalability and maintainability can also be stored and thus guaranteed in the output.
The difference is between generating short code snippets and providing a full SaaS service for creating, managing and monitoring complete applications. The code generation tools ignore a number of problems. Their time-to-market is also not comparable to that achieved by low-code. This is because the visual representation and code reduction of low-code alone makes it possible to provide applications up to four times faster. In addition, the sole use of generative AI can slow down complex projects, as the generated code still needs to be understood and debugged by humans. With low-code, only minimal technical knowledge is required to develop full-stack applications. While generative AI alone can be helpful for junior developers, many bugs can still creep in.
In terms of maintenance, easy access to low-code solutions makes it easy to understand the visual models in order to correct and further develop them. With generative AI, however, there is a risk of making the code unnecessarily complex, which makes correction and further maintenance much more laborious. This could ultimately lead to a significant increase in project costs. In addition, low-code optimizes the lifecycle of applications, from creation to deployment, while generative AI can lead to more complexity due to possible bugs, vulnerabilities and ambiguities about intellectual property.
Mid-journey approach
The purpose of low-code solutions is to speed up all the processes involved in creating applications for the web and for mobile devices. They therefore provide a solid basis for the use of generative AI. While traditional development involves combining and compiling different programming languages, low-code solutions can utilize the potential of generative AI in a controlled manner to create ready-to-use applications.
The future of application development is thus moving towards a “mid-journey” approach, where developers can ask an AI to create a functional application. This way, for example, it would be possible to create an application for account management with just one sentence that explains the desired parameters. What sounds like science fiction is gradually becoming a reality in application development.
Tino Fliege
is Solution Architect at OutSystems.