Low-code development is one of the IT trends du jour, and for good reason. Low-code development platforms make it easier for anyone to write software quickly. They lower the barrier for programming and empower more employees to create the software tools they need to do their jobs more effectively. Like most IT trends, however, low-code development has its drawbacks and is not the right fit for every type of situation. So, before you go jumping on the low-code bandwagon, it’s worth stepping back to assess whether low-code programming is really the best solution for your needs.
What Is Low-Code Development?
Low-code development refers to programming platforms that allow people to create applications without having to write much code. Typically, low-code platforms allow users to implement application functionality using graphical interfaces and pre-built functions.
There are two main goals behind low-code development. The first is to make application development faster, even for professional developers who have the skills to write traditional code but who can save time by using low-code solutions. The second is to empower people who would otherwise not have the skills necessary to build applications. For example, if you work in marketing, possess only basic programming skills, and want to build an app to help collect and visualize data associated with marketing campaigns, a low-code development platform could help you do that. (No-code programming, a closely related trend, lowers the barrier even further.)
Low-code development has become a key area of focus for tech vendors ranging from Red Hat to Google to Zoho. The low-code market is worth more than $4 billion today, and estimated to grow to $27 billion by 2022.
Low-Code Development Limitations
Given all that low-code development can do, why wouldn't companies want to take advantage of low-code?
Here are five good reasons:
1. Lock-in risks
Many (though not all) low-code development platforms are designed for building applications that will run in a particular cloud-based environment. For example, you can’t take an app created using Google App Maker, Google Cloud’s low-code programming platform, and move it to PowerApps, the Microsoft equivalent. (Technically you could, but you’d basically have to rewrite the whole app.) This means that low-code platforms tend to lock you in.
For some, this lock-in risk may not matter much. If you use one cloud and plan to continue using that cloud forever, you probably don’t care about being able to migrate your low-code apps somewhere else. But if you expect to change, or place a priority on flexibility, lock-in is a major limitation of low-code development.
2. Relatively steep technical requirements
Low-code and no-code development platforms make it possible for your Average Joe to build an application, even if he doesn’t know much about programming. But that doesn’t mean that Joe can write an application without having any technical skill.
Even no-code solutions require that users understand how to operate the no-code development tool itself. That takes time to learn. And while low-code platforms reduce the amount of code users have to write, they will still have to write some code.
Thus, before adopting low-code or no-code solutions, make sure your employees have the basic technical skills necessary to use the tools, or are able to acquire them.
3. Limited functionality
When you use a low-code development tool, the range of functionality that you can implement in an application is limited to what the tool provides. In this sense, low-code development is like building a house out of Lincoln Logs: It’s fast and easy to build what the manufacturer expects you to build, but if you want something different, you’re out of luck. In most cases, there is no easy way to add custom code or functionality to an app that was created on a low-code platform.
4. Efficiency loss
Low-code development tools can decrease the amount of time it takes to build an application, so they’re efficient in that sense. (And it’s worth noting that there are other ways to speed programming processes without resorting to low-code tools). However, the applications that result from low-code development are rarely optimized for efficiency. If you want an app that runs as quickly as possible, or consumes the fewest resources possible, you’ll have to write it yourself from scratch. Low-code tools aren’t going to help you win any contests for creating efficient applications.
5. Security issues
When you build an application with a low-code tool, you have virtually no control over application security or data privacy. You have to place your full trust in the low-code platform vendor to keep your application--and any data that it collects or stores--secure. You can’t even see the source code to detect possible vulnerabilities
For most typical business applications, this is fine. But if you are creating software with extra-high security needs, you’re likely to be best served by a custom-built application whose code is written with security best practices in mind and thoroughly vetted by security professionals.
The bottom line: Low-code development is a useful tool, but its drawbacks include lack of application efficiency, customizability, security and freedom from lock-in, as well as a need for technical skills. In use cases where one or more of those concerns is a key priority, low-code development is not the solution you want.