Low-Code/No-Code? What Everybody Is Missing?

Aurachain_in_the_media_Forbes

Article by Jason Bloomberg
Go to the original article published on Forbes: here.

 

The burgeoning low-code/no-code market is exploding with innovation, driving unprecedented value for customers while confusing industry analysts.

Gartner clings to its incoherent ‘High Productivity Application Platform-as-a-Service’ categorization, dumping the impossible-to-type HPaPaaS abbreviation onto the market like an elephant sitting on a flower. Yes, we pronounce that huh-PAP-ass.

Forrester brings a bit more clarity to the market, having finally recognized that no-code is neither the same as low-code nor a toy – and yet, confusingly separates ‘low-code’ from ‘mobile low-code’ while considering low-code to be a ‘development platform’ – a designation that shortchanges the power of many vendors’ offerings.

I have written about the low-code/no-code space for Forbes several times myself, including the article The Low-Code/No-Code Movement: More Disruptive Than You Realize from July 2017, where I pointed out that the distinction between low-code and no-code was more about whether the target application creator was a professional or ‘citizen’ developer than whether or not anyone would have to write any code.

However, as no-code platforms become more powerful and versatile, while low-code platforms become more seamless and easy to use, the distinction between the two continues to blur. Instead, a more significant distinction is becoming more apparent – one that the leading analyst firms have largely missed.

 

Back when all programming was ‘high code.’
Back when all programming was ‘high code.’

Beyond Application Development

Many of the low-code/no-code platforms on the market, in fact, empower users to run applications as well as create them. This distinction is more than superficial, as there are two fundamentally distinct architectural approaches that vendors in this emerging market follow to support apps in a production environment.

First, there are the vendors that take a code generation approach. These vendors provide a visual application development environment that simplifies the creation of the application – but once it’s finished, the platform generates executable code – either editable source code, or in some cases, bytecode that will run on a Java Virtual Machine (JVM) or in a MicrosoftCommon Language Runtime (CLR) environment.

11 vendors in the code generation corner, alphabetized so as not to play favorites, include Alpha Software, AppGyver, Graphite GTC, Kony, Kuika, Lansa,  OrangeGrid, OutSystems, Progress Kinvey, Vantiq, and Zuznow.

In the other corner of this boxing match are vendors that take a model-driven execution platform approach. In this case, the visual application creation environment generates an intermediate domain-specific representation of the application in question which the platform interprets and executes directly at runtime.

I’ve identified 22 vendors in this corner, although there are sure to be more in both categories. This list includes AgilePoint, Agiloft, Agys BlueFabric (currently known as AURACHAIN ), Appian, AppSheet, BettyBlocks, Bizagi, BP Logix, Breakthrough Technologies Loco, Caspio, Citent App Builder, ClaySys, Apple, FileMaker, Kintone, Mendix, Metavine, QuickBase, Salesforce.com , Lightning Platform, ServiceNow, WaveMaker, and Zudy.

Neither category is either better or worse than the other; in fact, each architecture has its own pros and cons. From the buyer’s perspective, therefore, it’s important to understand how each approach aligns with the problems at hand.

The Advantages of Code Generation

For us gray hairs, ‘code generation’ brings to mind the computer-aided software engineering (CASE) tools of the 1970s and 1980s, which invariably generated poor quality code that human developers had to fix and complete.

Today’s technology, in contrast, rarely if ever requires that a person edit the generated code directly. Instead, whatever hand-coding is necessary takes place in the visual environment, and the platform incorporates it into the machine-generated code.

The advantages of the code generation approach center on the fact that the applications it creates can run independently of the platform. Code generation is necessary, therefore, for creating native mobile apps or apps that can run while disconnected from the Internet.

Depending on the specifics of the platform, code generation may also create higher performance applications than the model-driven execution platform alternative, as they may compile down into executable bytecode that runs more quickly than the alternative’s interpreted approach.

Code generation also gives customers the comfort of knowing that even if the platform vendor goes out of business, all the apps they have created will continue to run.

In the typical situation where the platform provides editable source code, the customer may even be able to update or modify the app without the participation of the platform vendor – although this situation is never desirable.

The Advantages of a Model-Driven Execution Platform

Model-driven execution platforms typically run in a public cloud, although a few vendors offer private cloud and on-premises versions of their platforms as well. As such, applications can run as soon as the developer assembles a few pieces of the app, thus simplifying and speeding up development, testing, and interactions with stakeholders.

These platforms also provide what some vendors call ‘future-proofing’ (although such a term may be somewhat of an exaggeration) – if the vendor makes an update to the platform, say by applying a security patch, the applications will continue to operate as usual.

For the code generation approach, in contrast, any such patch would require the customer to recreate and redeploy every instance of the app – although mature code generation vendors like OutSystems make this round trip as simple as possible with ‘one click’ deployment capabilities.

Apps that run on model-driven execution platforms also participate in all the advantages of the cloud, including horizontal scalability and pay-as-you-go, pay-for-what-you-use pricing.

While model-driven execution platforms cannot create stand-alone native mobile apps, they are generally well-suited for implementing mobile web apps that run inside browsers on mobile devices.

For vendors like Salesforce and ServiceNow NOW +0%, the platforms on offer go well beyond the ability to create applications via low-code interfaces. As a result, customers can take advantage of the full breadth of capabilities of the respective platform.

In other cases, vendors in this category often take advantage of third-party platforms. Agys BlueFabric runs on the IBM IBM +0% BPM platform, Citent App Builder leverages Google’s platform, and ClaySys takes advantage of Microsoft SharePoint, for example.

The Business Process Context

The low-code market has in part subsumed the mature business process management and modeling (BPM) markets, as BPM vendors like Appian and BP Logix now emphasize their low-code capabilities. Other BPM vendors like Pegasystems see low-code as a feature of their platform.

Given these vendors’ history, their underlying platforms emphasize the orchestration and coordination of business logic and integrations in a runtime environment – capabilities that only an execution platform (as opposed to a development platform) can provide.

It’s important to understand, therefore, the historical context of such vendors, as those companies without BPM histories are more likely to focus on forms-based interactions instead of workflows.

When Code Generation Vendors offer Execution Platforms

Some code generation vendors leverage industry standard and open-source runtime environments for executing their applications, and in some cases, this variety is a point of differentiation.

Other vendors like Kony and Progress Kinvey offer their own back-end platforms. Their history lies in the mobile back-end-as-a-service (MBaaS) market: technology that provides a back-end execution environment for mobile apps. However, both Kony and Progress Kinvey have outgrown their MBaaS roots by adding low-code capabilities for front-end as well as back-end development.

Two other low-code/no-code vendors offer both front-end and back-end development. AppGyver takes a code-generation approach, while AgilePoint offers a model-driven execution platform for both front-end and back-end development – a tall order considering the complexities of enterprise back-ends, which may consist of traditional server and VM-based runtimes as well as cloud-based PaaS or container environments running on Kubernetes and Docker.

Making the Right Decision

The distinction between code generation and model-driven execution platforms is important, but by no means the only decision point that impacts the proper choice given a particular set of requirements.

Don’t let the ‘model-driven’ terminology drive the decision, however, as the code generation platforms are themselves model-driven in that the developer interacts with a visual model of the application that the platform translates into code. The difference is in the execution, as model-driven execution platforms actually run the models.

Furthermore, buyers must still consider the primary roles of the application creators (professional vs. citizen developer), the types of applications needed (data-centric vs. process-centric) and the complexity of the resulting apps (simple and easy to template vs. complex and fully custom).

We must now add to this list the pros and cons of a cloud-centric, model-driven execution environment. Is the seamlessness and cloud centricity worth betting on a single vendor’s cloud platform? Or does the flexibility, performance, and independence of a code generation approach outweigh such considerations?

Don’t let the HPaPaaS terminology fool you. There’s no demand for ‘low productivity’ today, as all choices are essentially high productivity. The aPaaS distinction is unclear as well, as some code generation vendors provide cloud-based development environments, while some of the cloud-centric model-driven execution platforms have on-premises options.

Instead, focus on how well each vendor’s offering addresses your problems, regardless of what it’s called – good advice in any situation.