Writing applications from scratch is a time-consuming process that requires serious development skills, often specialized to the target platform. Low-code development platforms and tools (and sometimes no-code products) often speed up and de-skill the development process, although they have their own learning curves.
In general, a low-code development platform offers a drag-and-drop designer, modules, forms, processes, workflows, data models, integrations, and one or more programming languages that you can use within the product. The development platform may emit a specification that an engine can use to create an app, or emit a runnable app. The app may or may not interact with the platform’s back end.
There are several alternative design paradigms for low-code applications — generators, templates, and simple design languages. For example, generators that look at your database and generate data-bound forms or grids for every database table can get you started very quickly, as long as you can then edit the generated forms. Templates tend to be fancier but less flexible. Some design environments let you start with scans of paper forms; others let you start with a Photoshop image.
Targets for low-code development are the same as for hand-coded apps: desktop, web, and mobile apps. Desktop apps are typically for Windows, macOS, and Linux GUIs. Web apps run on all of those in browsers (Chrome, Edge, Safari, Firefox, and Opera) and they need to handle different screen sizes responsively. Mobile apps primarily target iOS and Android. Hybrid web apps combine a native shell app with web content.
Some low-code platforms generate native code for you, so that the look, feel, and speed of the apps they create are very similar to hand-coded apps. Others run an interpreter, which can sometimes have performance issues, but may be good enough for non-consumer apps.
License arrangements vary widely among low-code development platform vendors. Some pricing schemes can make a product unsuitable for use, for example per-user fees when applied to consumer apps with potentially very large audiences.
What is no-code development?
No-code development is essentially low-code development without a programming language that you can use within the product. Vendors sometimes build elaborate graphical user interfaces to substitute for the ability to write code snippets, but they tend to be awkward and time-consuming.
No-code platforms tend to be easy to use at the beginning of the development cycle. Unfortunately, they often have limits that will bring development to a standstill later in the process. Vendors sometimes get around that problem by offering a marketplace of modules that can be added to their integrations and widen their scope. Sometimes they offer an SDK to professional developers who want to write new modules.
Who does low-code development?
Low-code vendors talk about several personas who use their products. These include “citizen developers” or “power users” as well as business analysts, database administrators, and professional programmers.
To ensure success, a team doing low-code development needs to understand the business, know the development platform, understand the existing IT estate (especially enterprise applications and databases), and have management support. While you can occasionally find a single developer with all of the necessary skills, more often you need a group who can work together.
Are citizen developers real?
The term “citizen developers” seems to have come out of the market analyst world, and has a rocky past. I’ve met a few “citizen developers,” so they do exist, but what I’ve found is that the good ones quickly learn to code at a basic level and become fluent in using their low-code tools. Other “citizen developers” learn only what they need about the low-code tools they need to use in order to get their jobs done, and leave actual coding to others.
What are the benefits of low-code development?
Low-code development often reduces the time it takes to develop apps, reduces the cost of developing apps, and allows less-skilled employees to contribute to development without relying entirely on programmers and database administrators. The less-skilled employees may in fact be the ones who best understand the business and the purpose of the app; “less-skilled” here refers to their level of programming expertise.
When should you use low-code development?
Assuming that you have a reasonably licensed low-code platform that lets you produce apps quickly, with all the capabilities and integrations you need and acceptable performance, you should use it whenever you can. The only exceptions would be for consumer apps where runtime performance is more important than time to market and development cost.
Overall, low-code development platforms can make the difference between a company with a multi-year backlog for application production and one that can produce all the customized software it needs. Consider low-code your secret weapon.