When it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from.
By LANSA, an Idera, Inc. Company
These options range from very complex, traditional programming languages to low-code platforms where sometimes no traditional coding experience is needed. Low-code platforms range from not using a programming language at all to using a very detailed programming language to supplement the low-code functionality.
A detailed guide for knowing the difference in the platforms and when to use which one can be found here. Traditional programming languages provide great power and flexibility but at the cost of complexity and time. Enterprises are looking for a faster way to get new applications to market, and that’s where low-code development platforms come in.
Low-code platforms can be divided into two categories: model based and language based. Both platforms provide great benefits for rapid application development. Low-code’s greatest strength is providing developers a quick way to start developing applications. It provides a quick and easy starting point which then can be further enhanced by additional platform options. Low-code provides the initial creation of an application and handles all of the initial “heavy setup” so the developer can focus on creating the best solution to the business need. After the initial application creation and quick starting point is where model- and language-based low-code platforms start to differentiate themselves. Both approaches use similar theories but vastly differ in how they allow the application to be completed. In this paper, we will discuss the importance of being able to write code in a low-code solution.
Having to Leave the Integrated Development Environment
Model-based low-code platforms often limit application creation to features available inside the low-code platform’s integrated development environment, or IDE. If the platform’s IDE does not offer a solution to the problem, a developer must leave the IDE and create a workaround in another programming language. Once that is done, then a connector must be created to link the workaround to the low-code solution. If a developer has to leave the platform’s IDE to write code in another IDE or language, then the promise of faster application creation is diminished. In fact, this approach actually adds time and complexity to troubleshooting and maintaining applications since the entire application is not accessible in one environment. The most common reasons developers have to leave model-based low-code IDEs are integration and complex logic processes.
Issues with Integration
In almost every enterprise application being created today, there is a need to integrate with at least one other system or specialized software package. Most model-based low-code platforms come with limited native connectivity for these special integration needs. Their cloud-based approach can make integrating with on-premises applications much more difficult, especially when the on-premises applications are older and not designed for cloud integration. If the lowcode platform does not provide a built-in connector, then a special integration solution outside the IDE will need to be created. Customized integration is another example where developers must leave the low-code platform’s IDE to create a solution in another programming language.
Complex Logic Processes
Model-based low-code is centered around creating workflows in a drag-and-drop graphical interface. The developer can create processes and logical decisions only if the low-code platform has an icon to do so. Anything the developer needs to accomplish that isn‘t available in the IDE cannot be completed with that particular platform alone. Imagine using a really complex coding solution that needs several different types of connections to several various external resources and then having to make some processing decisions based on what each resource returned, only to find that each resource returned data in a different format, which then needs to be reformatted into a common format. Trying to solve such a complex issue by dragging and dropping icons in a graphical interface would lead to a very convoluted solution, and you probably couldn’t do it all without extensive coding outside the low-code’s IDE. Professional developers love to code, and writing code to solve problems is how they prefer to handle complex situations. Modelbased low-code platforms severely limit how developers can solve complex problems. Without a way to natively handle complex processes, model-based low-code platforms are not capable of handling large enterprise applications.
Locked-In to Low-Code, Locked-Out of Technology
Most low-code platforms run on specific web technologies and are hosted in a cloud environment. Creating applications on the latest release of the low-code platform probably offers the best performance with the latest technologies. But as web and mobile technologies change, the applications created a few years ago could be dated and run suboptimally. As new, major platform version releases occur, applications created with older versions may no longer be able to be upgraded. Also, since those applications were created with a specific platform, they can’t be migrated to a different low-code platform. There is a very serious risk of creating applications that may need to be coded again using a different platform or modified to run on an upgraded version of the current low-code platform. A major consideration when selecting a low-code platform is the platform’s ability to change with technology and how those changes will impact applications coded on older versions.