There Are Strong Winds Shaping The Emerging Battlefield of No-Code vs Low-code Mobile App Development Platforms
There are many “low-code” or “no-code” mobile application development platforms on the market. These systems enable companies to develop rich, connected applications without writing much code – or in some cases without any code at all. This may sound too good to be true; after all, software engineering tends to be time-consuming and expensive. What can these platforms do, and what are they truly good for?
The main difference isn’t about whether people need to code or not, the distinction is about the types of people that will be utilizing each solution to build applications.
For no-code development, this is a group recently codified as "citizen developers", often line of business users who can build functional apps without having to write a single line of code. In contrast, so-called "low-code" platforms target professional developers looking to streamline their work.
The leverage points of both parties - the business driving the requirements and the developers eventually owning and maintaining the applications’ lifecycle - create a scenario where one size might not fit all. What’s the best approach? Let’s dig in a little big deeper.
How Did We Get Here?
Before we can do any vision setting, it’s important to look back to see how we got here. For many, their first introduction to rapid application development was often via an entry thru Business Process Management Systems (BPMS).
The BPMS technology class was founded on a belief, that by systematically improving each process within an organization, an organization could continually improve its operational efficiency. BPM Suites, then, were software platforms designed to automate, monitor, measure, and improve processes.
The automation aspect took root in the form of application development, often as a means of forced interaction with a human or another system, to either ingest information used to proceed and to receive confirmation that some outside action had been executed, to continue the process path. As a natural evolution these solutions began to leverage templates and element libraries that allowed for even faster application development. This paradigm quickly spread to use cases outside of process improvement, and found adoption in areas such as field service data entry and customer service.
Low-Code vs. No-Code MADPs At a Glance
Low Code Products and/or cloud services for mobile application development that employ visual, declarative techniques instead of programming and are available to customers at low- or no-cost in money and training to begin. Do require programming to complete the apps integration with other systems.
No Code No-code mobile app development platforms provide drag and drop tools that allow a wide range of users to develop software applications without coding requirements. This is accomplished via templates for workflow, element libraries and interface customization
Low Code Professional developers only
No Code Professional developers, business users & citizen developers
Low Code Line of business users, non-developers, organizations who wish to use traditional development methods
No Code Organizations who wish to use traditional development methods
Low Code A method for rapid application development
No Code An incredibly easy and powerful way to get applications developed and deployed quickly
Low Code Allows developers to accelerate app delivery and innovation
No Code Allows both business users and developers to accelerate app delivery and innovation
- Often requires full stack developers to administrate
- Requires resource lead time
- Lack of control for scaling
- "Suite" of tools from vendor rarely seamlessly integrated
No Code Professional developers may push back on a no-code solution, as it may be viewed as diminishing the need for their skills or importance
The Driving Forces Behind No-code Adoption
To stay competitive, organizations must continually roll out new apps - and enhance existing apps - to streamline their own internal operations, as well as to attract customers and ensure their loyalty. Unfortunately, traditional application development methods take too long and lack the agility to make continuous adaptation possible.
This pressure to deliver custom built applications in less time than ever before is half of the challenge. The other half lies with who is driving the requirements in the first place - the line of business. Their understanding of the business (and often, customer) needs means they are best suited to architect a solution to meet those needs. Time being in short supply, doesn’t allow for back and forth with development resources to ‘translate’ their requirements into code.
This has created a surge in alternative development platforms, in this context being discussed as no-code development platforms, which allow applications to be configured rather than coded. No-code systems can slash the amount of time needed to build new applications; it’s not uncommon to see development times cut from months and years to a matter of weeks.
No-code systems have also democratized mobile application development into a viable option for team members with less advanced (or even no) programming skills – empowering business users to build applications, lowering the cost of development and alleviating the digital skills shortage that many organizations complain of.
Continued innovations with a model-driven, declarative approach have brought unprecedented levels of usability and power to these platforms. The trend is clear, no-code platforms provide simple enough tools for citizen developers yet remain powerful enough for professional developers. Analysts predict that low-code & no-code solutions will eventually merge into a single market.
The Need for Code Comes Down to Perspective
When does low-code cede way to a no-code solution? The simple answer is when a no-code solution allows a “citizen developer” to quickly develop apps that meet their requirements, while at the same time, offering the robustness and flexibility to be customized and enhanced by a professional developer (who will most likely own the application through the later stages of its life cycle).
No-code solutions are the only ones that allow two distinct personas to utilize the same toolset to meet their requirements. For the line of business, it focuses on innovation and often, solving for the customer. For professional developers, it allows for programmatic polishing, enhancing scalability, and extensibility (often in the form of integration with backend systems).
What Does This Mean for Mobile Application Development?
- If going with a low-code strategy, you absolutely need to have an expert resource who is intimately familiar with the native programming language for each target operating system (iOS, Android, Windows, etc.), while at the same time having access to tools to make simple screen layouts. Getting the application to a fully functional state and published to production is still very much an IT project.
- Low-code solutions create “code” that is 85% the same across multiple devices and form factors. Unfortunately, that last 15% is the most important 15%. In order for it to be usable, that “code” needs to be tweaked for each mobile operating system and device form factor. This is still a monumental undertaking.
- This last 15% typically leads to longer app development cycles, more emphasis on QA, and ultimately higher cost.
- Changes to applications need to be managed carefully, especially since you will have to maintain separate code bases. Could you imagine making a change for iOS devices and rolling it out to your team, only to realize that ½ of them are using android and it’s not available for them yet?
- No-code simplifies all of this, it gives professional developers & non-developers alike the tools with enough power and sophistication to get the job done but eliminates all of the hassles of having to compile for each operating system.
- No code also eliminates the need to maintain separate code bases, since it’s literally NO CODE you can maintain it in in one code base, and make changes across ALL device types and operating systems.