Low-code app development: Fad or the future of app development?
A recent study predicts that the low-code app development platform market will grow from $4.32 billion in 2017 to $27.73 billion by 2022. But is this new approach to coding getting more attention than it deserves? Is it just a fad that will lose steam in the coming years?
Before we can make an educated decision on the fate of low-code application development, we need to take a hard look at both the pros and cons.
What is low-code app development?
Low-code application development is a streamlined approach to developing applications that focuses on rapid design and development with minimal manual coding. App developers use a drag-and-drop tool to visually represent the business logic, integrations, and User Interface (UI) behind the application.
The main purpose is to automate time-consuming, manual tasks, such as frontend and backend code, so that developers are free to work on the more unique features of the application. It is based on the idea that many applications follow similar patterns when it comes to development, even if the end use is very different. Low-code development automates as many areas of overlap as possible.
There are a number of low-code development platforms in use. Many of them offer similar basic features:
- A visual Integrated Development Environment (IDE)—An environment that allows you to visually define the UI, workflows, and other pieces of the application. Manual code can be added here as well if required.
- A connector to the backend—A connector that automatically handles data models, storage, and retrieval.
- Application lifecycle manager—Automated tools for the design, development, deployment, and debugging of the application throughout the lifecycle of the app.
From there, development platforms vary in their complexity, which defines what you can develop with them. Some of the more robust low-code development platforms include OutSystems, KISSFLOW, Zoho Creator, and Google App Builder.
Low-code app development introduced the “citizen developer.” This term refers to businesspeople (not coders) who can now get involved in the app development process because they do not need to know how to manually code to build an app (or at least initiate the build process).
Citizen developers can use low-code platforms with minimal training to share their business vision for an application. This allows non-developers and non-coders to get involved in the app development process and share their ideas.
The benefits of low-code application development
- Speed—This is the biggest benefit of low-code app development, with development times being cut from weeks or months down to days. You can not only get your app to market faster, but you can also quickly respond to feedback and add new features and functionality almost immediately. With mobile on the rise, low-code mobile app development allows you to get your app onto mobile devices faster.
- Reduced cost—Low-code app development is cheaper for obvious reasons. It takes less time to build and does not require as much skilled development time.
- Fewer bugs—The reduced amount of code results in fewer bugs. There is less code to test for bugs, and with fewer bugs found overall, less time is spent fixing them.
- Increased business stakeholder engagement—The inclusion of citizen developers in low-code app development allows business stakeholders to be more deeply involved in the development process. Developers can also use low-code development platforms to quickly add features during development and gather feedback from stakeholders. This can be done in days or (occasionally) just hours.
- Overcomes the IT skills gap—It can be difficult to find skilled developers to build your application. Low-code app development allows less-skilled coders to build your application. They do not need knowledge of specific coding languages, and training on low-code platforms can be done in as little as one week.
- Innovation—Low-code development automates the basics, so developers can focus on unique, value-added features. More time is available for innovation and creativity.
- Multiple deployments—Low-code tools allow you to build your app for multiple platforms at the same time. Typically, deploying across a new platform is a project on its own, but low-code development makes it easier.
- Increased accessibility—Low-code apps use less bandwidth to download and run, making them more accessible for people in areas with weaker connectivity. And since they cost less, many of them can be sold at a cheaper price or offered for free, again increasing customer reach.
The risks and limitations of low-code development
Is low-code app development the wave of the future, or should you heed the warning, “If something sounds too good to be true, it probably is?” Let’s look at the downside of this new approach to coding.
- Integration limitations—Low-code apps are more likely to give you trouble integrating with other business systems, especially older ones that have been around for a while. If integration is a core requirement, you need to investigate whether a low-code app will provide the functionality you need.
- Lack of customization—While you can add custom code to low-code apps, you will be limited in the extent to which you can do this. If you desire a highly customized app that will stand out in the marketplace, a low-code platform will not deliver. You will be forced to work within the restrictions of the platform, giving up certain features and functionality.
- Security issues—There are inherent risks when you rely on a third-party platform. You are not in control of your own application. The platform company may not last (remember, this is still a new field of coding), or the platform may fall victim to an attack. You are placing the security of your application in someone else’s hands. Security concerns must not be taken lightly.
- False assumption that anyone can code—Low-code app development gives the impression that anyone can code without training. This is simply not true. Coding is difficult and requires a certain level of skill and experience. Tools are a great resource for automating some of the development process, but even the right tools are not a one-stop solution. For example, there are many automated tools for construction, but we don’t let just anyone build a bridge. We still need skilled laborers to make sure it is done correctly and securely. Knowledge of coding basics is essential, even with automation. If something does go wrong, there needs to be a person who understands why it happened so it can be properly fixed.
- Code is not enough—Low-code app development focuses only on code, but there is so much more that goes into creating, deploying, and maintaining a high-quality, successful app. User journey mapping, quality control, and application security testing are just some of the additional items requiring attention. It is also important to consider the business perspective when designing an app. The market is littered with apps that were adequately coded, but poorly designed. Is there really a market for your app? What is the competition doing and how successful are they? What is the proper pricing model? How secure is the application, and what are the biggest threats? These key questions must be answered if you want a market-successful app—and we haven’t figured out how to automate these yet..
When considering the method you will use to develop an app, ask yourself hard questions, such as:
- What is the purpose of the app?
- Who will be using it?
- What type of information will it access and store?
- How complex does it need to be (now and possibly in the future)?
Pumping out your app as quickly as possible overlooks many of these critical components, and can jeopardize long-term success. Citizen coders often do not appreciate the work required to properly productize an application, whether it is directed to external customers or internal users. This is similar to early Rapid Application Development (RAD) tools, such as Microsoft Access and Visual Basic Studio, that allowed non-engineers to create usable desktop applications for point solutions—but many of them were deployed to larger audiences without being ready or appropriate for that level of scaling.
The verdict? Low-code app development may come in handy for basic apps that require little to no customization and where there is a low risk of security vulnerability. But we never recommend taking shortcuts when you’re looking to develop a high-quality and successful product.
The reality is developing an application requires skill, time, and money. If you try to cut corners by allowing unskilled employees to design and build an application, you risk having to go back and pay more qualified developers to fix mistakes—and you will be fixing them after your market window has been open for a while and your market has become more competitive. (This is unfortunately the situation many of our clients are in when they seek our assistance.) You also risk deploying an unsecure application that puts your users and reputation at risk.
Low-code app development may or may not be the right approach for you. A skilled team with deep experience in application design, development, and deployment can help you determine the best approach to building a market-satisfying and revenue-generating application.