×
Community Blog What Is Low-Code?

What Is Low-Code?

This article introduces the basic concepts, core values, and current status of the low-code industry.

1

By Chuheng

What exactly is low-code? Why do we need low-code? Will low-code software development put programmers out of work? This article aims to address these questions by introducing the basic concepts, core values, and current status of low-code software development.

Preface

If we had to choose one word to describe the past 2020, most people would say "COVID-19". The global pandemic broke out so fast and crippled the global travel industry, affecting everyone around the world. But as we face new challenges, new solutions arise. Since the pandemic struck, we have seen arguably the fastest and most comprehensive adoption of digital technologies, in which businesses of all sizes have transformed digitally to adapt to the "Internet era":

As Xiaoyaozi said at the 2020 Apsara Conference in September, "The new productivity brought by new technologies must be the best driving force for us to beat the virus and create the future." So, in the post-epidemic era, what kind of new technologies are needed to truly emancipate IT productivity, accelerate the digital transformation of society, and make the world great again? The answer is low-code.

Based on the classic visualization and model-driven concepts, low-code can significantly improve efficiency and reduce costs in the appropriate business scenarios, in combination with the latest technologies in cloud native and multi-terminal experience. It provides a brand-new and high-productivity paradigm shift for professional developers.

Moreover, low-code turns business personnel who do not know how to write code into so-called citizen developers, so as to make up the growing gap in professional talent. This also promotes BizDevOps, which is an agile form that enables deep collaboration between business applications and technologies. This article focuses on the background knowledge about low-code, including its definition, significance, related concepts and industry development for your deeper understanding.

What Is Low-code?

What is low-code? If this is the first time you are hearing it, your first guess might already be close enough. According to Wikipedia, "Low Code" refers to a low-code development platform.

Wikipedia's Definition of Low-Code

2

Based on the above definition, several key information can be extracted as follows:

  • A low-code development platform (LCDP) itself is also a kind of software that provides a development environment programmers used to create application software. For programmers, LCDP is similar to code Integrated Development Environment (IDE), such as IntelliJ IDEA (IDEA) and Microsoft Visual Studio (VS), acting as a productivity tool for developers.
  • Different from the traditional code IDE, LCDP provides higher-dimensional and easy-to-use visual IDE. In most cases, developers can complete development work through more efficient methods such as graphical user interfaces and configuration instead of traditional hand-coded computer programming.

Forrester's Definition of Low-Code

Low-code was also proposed by Forrester as early as 2014. The earlier definition is as follows:

3

Compared with the Wiki version, this definition is more inclined to clarify the core values brought by low-code:

  • LCDP enables fast delivery of business applications. LCDP can create applications like traditional development platforms, even faster. More importantly, the efficiency is subversive. According to Forrester's research in 2016, most companies recorded that LCDP improved their development efficiency by 5 to 10 times. Thus, it's reasonable to believe that the speed will continue to rise, as low-code technologies, products and industries mature.
  • LCDP enables lower application development costs. Low-code development requires fewer investments in the software lifecycle, with less code, simpler environment setup and lower deployment costs. Furthermore, low-code development also significantly lowers the threshold for developers, as non-professional developers can get on the job quickly after simple IT basic training. This not only fully mobilizes all aspects of existing human resources of enterprises, but also significantly reduces dependence on expensive and professional developer resources.

Core Capabilities of Low-Code

Based on the preceding definitions and analyses, three core capabilities of LCDP can be concluded:

4

  • Full stack visual programming: "Visual" means operations by means of clicking, dragging and configuration during editing and the preview effect after editing (WYSIWYG). Traditional code IDE also supports partial visual capabilities, such as MFC and WPF of VS. However, low-code emphasizes full-stack and end-to-end visualization programming, covering all technical aspects involved in the development of a complete application, including interfaces, data and logic.
  • Full app lifecycle management: As an all-in-one application development platform, low-code supports the full app lifecycle management. This process starts with the design phase, and some apps even support earlier projects and requirement management. Besides, the development, construction, testing, and deployment are covered. Lifecycle management also contains O&M after the release, such as alarming and monitoring, application launching and removing, data reports and user feedback.
  • Extension by code when necessary: Since that the code is a must in most cases through the low-code development, the platform should support flexible application extensions at all levels with a little code, such as adding customized components, modifying Cascading Style Sheets (CSS) styles, customizing logical flow actions. Demand scenarios may include User Interface (UI) style customizations, legacy code reuse, dedicated encryption algorithms, and non-standard system integrations.

Fewer Procedures

What does "low" in low-code mean? The answer is obvious that it does not refer to a low degree of abstractions, nor a low quality of code. In actuality, the degree of abstraction of LCDP is much higher than that of traditional programming languages. And generally, code generated by low-code is carefully maintained and tested with better qualities than that of most handwritten code. Therefore, low-code means less code. Only in a few cases are handwritten code, and mostly are non-code methods such as visualizations.

Moreover, low-code is more than just less code. The less the code is written, the fewer the bugs emerge, thus reducing two major burdens of meeting requirements and fixing bugs in the development process. Less code also leads to fewer test cases. In addition to the development process, this platform also includes the subsequent application construction, deployments, and management, decreasing O&M operations. This is the progress from low-code to low-Ops.

However, fewer procedures are not the ultimate goal. Reducing demands, human resources and quality requirements can also achieve the same results. The philosophy behind it is that "less is more", or "do more with less". In other words, it achieves more capabilities, faster launching, better qualities and lower costs. This conforms to the essence of Alibaba's value.

5

Responsibilities and Challenges of LCDP

The previous sections discuss the abilities and attractiveness of low-code for developers. As a service provider and application carrier, what responsibilities and challenges does LCDP face? Alibaba proposes the idea of leaving the complexity to ourselves and the simplicity to others. It sounds very meaningful, but actually increased burdens on our employees. So, can we directly eliminate the complexity and leave simplicity to ourselves as well? Therefore, in order for developers to do less and enjoy simplicity at ease, the platform side must do more.

As Fred Brooks states, the author of The Mythical Man-Month, the complexity of software development can be divided into essential complexity and accidental complexity. The former is the inherent minimum complexity in solving a problem, which has nothing to do with tools, experience and architecture. The latter is the complexity introduced in the actual development process. Generally speaking, essential complexity is strongly related to the specific problem domain to be solved. I call this business complexity. This cannot be solved by any development method or tool, including low-code. Accidental complexity is generally strongly related to the technical details in the development process. I call this technical complexity, which is easy to solve by low-code.

It's the core responsibility LCDP should take to shield developers from the underlying technical details, reduce unnecessary technical complexity and support better handle business complexity to meet requirements of flexible and universal business scenarios.

6

Furthermore, LCDP, as a developer-oriented product, also needs to strive to provide a simple, intuitive, and superior development experience. It may be the biggest challenge for LCDP to find a balance between product positioning and needs of target customers, while ensuring "powerful" and "easy-to-use" functions.

Comparison of Low-Code Related Concepts

Pure Code (Pro-code and Custom-code)

"Pure Code" may be a word that does not exist, commonly known as pro-code or custom-code. It refers to the traditional code-centric development model. The reason why "pure code" is chosen because "pro-code" may make low-code sound unprofessional and "custom-code" may cause misunderstanding that low-code cannot support customized code.

More precisely, it can also be regarded as "high-code". It corresponds to low-code, but it sounds too awful to be adopted. Even for traditional code IDE, some development work can or even more suitable to be completed through non-code approaches, such as the SwiftUI interface designer for iOS-side development and the PowerDesigner modeling tool for server-side development of database applications. However, in traditional development modes, this visual programming only plays a supporting role and usually ends with generating code that can be modified directly by developers. Developers still need to focus on code.

Low-code to pure code is like videos to articles.

Low-code is like a modern video, mostly composed of intuitive, accessible and expressive pictures, so it is more easily accepted by the public. Also, the video can contain a small amount of text to make up for the problem of inaccurate picture expressions, such as subtitles and labels.

Pure code is more like a traditional article. Although it has been the only medium for information dissemination for a long time, the focus has been shifted to video technology and software and hardware infrastructure. Nowadays, videos have become main channels for most people to obtain information, such as TV, movies, Bilibili and TikTok, while fewer people read books and articles. But it is undeniable that the article still has its meaning and audience, and gains a foothold even if its market share has been squeezed.

7

Similarly, low-code will also follow the development track as videos in the future, surpassing pure code to be the mainstream development mode. Gartner shows the same prediction that by 2024, 65% of all application development activities will be completed with low-code, and 75% of large enterprises will use at least four low-code development tools for application development.

However, just as videos can never replace articles, low-code can never completely replace the pure-code-based development. In the future, low-code and pure code will coexist and complement each other for a long time, playing their roles in applicable business scenarios. In the later section "Low-code Business Scenarios", scenarios suitable for current low-code development are listed in detail.

Zero-code or No-code

From the perspective of the completeness of classification, there should be zero-code or no-code since there is pure code. Zero code is an application development platform completely free from writing code. However, it does not mean that zero-code is more advanced than low-code. It just completely employs simple graphical visual programming and eliminates complex text code. The reason is that the zero-code platform is expected to reduce the application development threshold as much as possible. It aims to make everyone to be a developer, including business analysts who do not know how to write code, user operators, or even product managers. It's notable that development is not equal to writing code.

The technical division of labor becomes more refined, such as frontend, backend, algorithm, Site Reliability Engineer (SRE) and data analysis. And even professional developers, they can't be full-stack engineers able to independently develop and maintain a complete set of complex applications. However, zero-code allows newcomers or green hands to realize technology dreams or full stack dreams. "Ideas that could change the world are already there and only one programmer is required." This joke may really come true. Or now, maybe those with ideas can make it by themselves.

8

However, completely abandoning code results in limited platform capabilities and flexibility:

On one hand, the visual editor is far less expressive than Turing's universal programming language, and cannot achieve flexible customization and extension without introducing code. In theory, it can write graphic programming languages like Scratch and Blockly, but it is actually just another way of handwritten code.

On the other hand, because the platform is targeted at non-professional developers, the operations supported by the platform will tend to be "goofy". For example, web pages only support the simple stacking of major business components, not fine-grained atomic components and flexible CSS layout definitions. At the same time, it only provides relatively "user-friendly" models and concepts, thus failing to support powerful and professional underlying development primitives and programming concepts. For example, "table" is used to represent data, rather than "database".

9

Despite the obvious differences mentioned above, between zero code and low code in the narrow sense, zero-code can be regarded as a subset of low-code in a broad sense. In a related research report, Gartner defined "no-code" as a branch of the broader low-code application platform (LCAP). Many universal LCAPs on the market also combines some zero-code capabilities. For example, Mendix takes the leading role provides the easy-to-use zero-code Web IDE, Mendix Studio and a powerful Low-Code desktop IDE - Mendix Studio Pro.

High-productivity Application Platform as a Service (hpaPaaS)

Gartner, an internationally renowned research institution named High-productivity application Platform as a Service as hpaPaaS in 2017, which sounds quite advanced.

According to Gartner's definition, hpaPaaS is a platform that supports declarative and model-driven design, and one-click deployment, allowing rapid application development (RAD), deployment, and running on the cloud. This is obviously the same as that of low-code. However, hpaPaas gave place to earlier-originating and smoothly-read low-code. Since 2019, Gartner has comprehensively adopted low-code, such as using LCAP, in its relevant research reports, marking that hpaPaaS is deprecated.

10
Image Source: https://blog.kintone.com/business-with-heart/difference-saas-iaas-paas-apaas-hpapaas

It is worth adding that hpaPaaS is inherited from aPaaS proposed by Gartner earlier. hpaPaaS is only a subclass of aPaaS, which includes pure-code-based traditional application development platforms like high-control aPaaS, a more controllable pure code development method.

The term "aPaaS" is deeply related to emerging cloud computing. It's known that aPaaS and earlier cloud computing concepts like IaaS, PaaS and SaaS, come down in one continuous line. aPaaS is considered to be intermediate between PaaS and SaaS, more application-oriented than services provided by PaaS, but does not provide available software services like SaaS. For more information, see articles linked to the figure source above.

Why Is Low-Code Necessary?

In the world of information explosion, there are abundant novel things but just no flash in the pan. After all, whether a new technology can be transformed into new productivity is determined by whether it is really needed, instead of how excellent and gorgeous the technology itself is. That is, why is low-code needed? If considered in perspectives with different subjects, this question can be addressed more comprehensively.

Why Does the Market Need Low-code?

In this era full of "Internet Plus" and "digital transformation", enterprises need more applications to improve internal information flow and strengthen the contact connection with customers. However, the emerging IT information age is also facing a contradiction between supply and demand similar to that in the primary stage of socialism in China. This means the backward software development productivity cannot keep up with the people's growing business needs.

11

Gartner predicts that the market for application development demand will grow at least five times IT delivery capabilities of enterprises by 2021. Faced with such a huge IT gap, without a revolutionary new productivity system, it is hard to completely solve the problem with the current traditional technology system. Thus, the emerging low-code technologies are expected to revolutionize application development productivity from the following aspects so as to fill the IT gap.

Improved Efficiency, Reduced Costs and Quality Assurance

In the rapidly developing software industry, new languages, frameworks and tools have emerged continuously, but it cannot be denied that software development is still in the stage of manual workshop, with low efficiency, high labor costs and uncontrollable quality. Delayed project delivery has become a common practice in the industry. And there are shortages in developers and the expensiveness in hiring advanced developers. Besides, software quality defects cannot be converged, and online failures cause frequent data loss.

In contrast, after hundreds of years of the industrial revolution, most of the traditional manufacturing industry has already got rid of the strong dependence on manpower. From raw material input to product output, strongly supported by various precision instruments and automatic assembly lines, the standardization and scale of production have been truly realized. Although informatization claims to be the third industrial revolution, the current situation of the software industry is far from reaching the mature stage of "industrialization".

However, this vision is slowly becoming a reality that software development can achieve stable and efficient batch streamline production without worries, like industrial products.

12

It's true that low-code software development is industrializing the application development process. Each LCDP is a technology-intensive application factory, where all project personnel work closely together in the same production line. The main development force is no longer Geek, a well-known technology of for-loop structure, but a group of application makers with a full sense of ideas and business. Developers only need to focus on the core business value, with the help of various mature infrastructure, ready-made standard parts and automated assembly lines in the application factory. Even in the case of non-standard requirements, developers can use the most flexible manual customization (code) method to solve various small problems at any time.

Expand Application Development Manpower

By simplifying most of the development work with simple drag-and-drop and configuration, low-code and zero-code significantly lower the threshold for users, which enables enterprises to make full use of the citizen developer resources mentioned above. In some pure code scenarios, low-code even allows business personnel to implement self-service application delivery. Therefore, the problem of task backlog in traditional IT delivery models be can solved, avoiding occupying scarce professional development resources with simple and repeated requirements. Besides, business personnel can truly implement applications based on their ideas, getting rid of inevitable shackles when handing over to others.

13

Therefore, application development capabilities are no longer the patents and privileges of a few professional developers, and the skill threshold and cost of ownership required in the future will also become lower, truly realizing the so-called "democratization of technology".

Strengthen Communication and Cooperation in the Development Process

Various surveys show that the failure of software projects mainly results from the lack of poor communication. In traditional development models, engineers of business, product, design, development, testing and O&M perform their duties with a respective set of tools and languages. It is easy to form "silos" after a long time, making cross-functional communication difficult and inefficient. This is why the current popular agile development and DevOps emphasize communication. The former refers to the collaboration between Biz and Dev, while the latter collaboration between Dev and Ops. And the classic domain-driven design (DDD) also advocates a "unified language" to reduce inconsistent communication between business and technicians.

14

Low-code will fundamentally improve this situation that the above roles, even the same person, can all work closely together on the same LCDP. This new cooperation model not only avoids "silo effects", but also enables a unified visual language and a single application representation (page, data, logic) to easily align the application form and project progress, thus achieving an ultimate agile and advanced development model, BizDevOps.

Aggregation Effect at the Unified Development Platform

If low-code converges all application development actions to one platform. The aggregation effect will be enhanced in many aspects and returns to sale increased.

  • Personnel aggregation: In addition to the close cooperation between the various functional roles mentioned personnel aggregation to a unified LCDP also promotes the standardization, normalization and unification of the entire project process.
  • Application aggregation: On one hand, it makes architecture design, assets reuse and mutual-call easier. On the other hand, the data of all applications are naturally interconnected, and the external data can be also interconnected through integration capabilities, eliminating the problem of Data Island.
  • Ecosystem aggregation: When LCDP aggregates enough developers and applications, a huge, connected and imaginative ecosystem will be formed, completely realizing the value of low-code.

Why is Low-code Only Needed in this Era?

According to various accessible low-code products, it can be found that many companies in this field actually existed, earlier than this concept. For example, OutSystems, another giant, founded as early as 2001. FileMaker, rated as one of the leaders by Forrester last year, was born in 1985. So, why didn't low-code get popular before? From the technical and business perspectives, the reasons are as follows.

Insufficient Technical Maturity

Core technologies at the low-code underlying layer like visualization, model-driven, RAD and BPMS have already developed for a long time, seeming like just old wine in a new bottle. However, it's true that any technology will follow the "The Hype Cycle". It is impossible for technologies to skip the development process and directly mature once created, let alone be adopted and put into production on a large scale. Taking model-driven technology as an example, although systematic theoretical researches like MDA and supporting tools like EMF were available, but due to incomplete capabilities, over-idealization and high technical requirements at that time, it failed to become the mainstream in the industry.

15

However, those "old" technologies once supporting low-code have been developing and tested by the market for a long time. Other "new" supplementary technologies also develop rapidly, such as cloud native and Responsive Web. It is time to repackage the new wine bottle with "low-code", bringing new energy to the traditional IT market that urgently needs new productivity.

Hidden Business Income

It can be assumed that low-code technologies, mature enough ten years ago, would definitely not make the same impact in the application development market as today. It's because technologies were designed to serve business needs. The requirements for application development was much simpler at that time. But today, Multi-channel, Multi-experience, integration and customized requirements need to be fulfilled. Besides, the elasticity, distribution and high availability become standard for enterprise-level applications. Moreover, rapidly changing IT business scenarios are expected to promote continuous integration and delivery.

Low-code can perfectly solve all the above problems, such as multi-terminal application generation, cloud native architecture and API integration. However, considering the market and business background at that time and the aforementioned technology immaturity, the overall input-output ratio will be very low. Therefore, enterprises won't adopt low-code solutions on a large scale.

16

Today, due to the capabilities and benefits brought about by new technologies, enterprises often come out with fantastic ideas, such as creating a food delivery application. Requirements may be as follows. Android, iOS, H5 and Mini Program should be all set on the server-side. The application needs to be adaptive whether on the PC side or the phone side. Besides, cloud migration and the popular multi-cloud architecture are expected. Moreover, enterprises may assume that O&M costs nothing.

According to the traditional development mode, the above settings may be time-consuming and costly, much beyond the expectation of product managers. But the modern low-code technologies bring the above assumption a reality, achieving the expected results with extremely low costs. If developed based on low-code by Cheng Wei, CEO of DiDi, it would survive at least longer, rather than being directly abandoned because of outsourcing.

Why Professional Developers Need Low-code?

Although zero-code is indeed designed for non-professional developers, the limited business scenarios supported are limited. The traditional development model cannot be truly revolutionized to replace those scenarios requiring the participation of professionals. However, low-code in a narrow sense makes it possible, because it is naturally tailored for professional developers. According to a recent Gartner research report, 66% of LCDP users are professional developers of enterprise IT departments. This shows that professionals need low-code more than citizen developers do.

Some may wonder how low-code could serve programmers if there's no longer need to write code. It's worth mentioning that development is not equal to writing code. Developing from stone writing ten thousand years ago to pen writing ten decades ago, the tools used by human beings have been evolving. Today, it's common that people write with handwriting boards or iPad. However, the nature of human activities have not changed much. Whether using small stones or a small mouse, the essence of writing and painting is creation and expression. The quality of the final work does not depend on the tool used. Similarly, the essence of application development is ideas and logic, the final value does not depend on whether using pure code or low-code.

Compared with pure code, low-code is more likely to be a next generation of a better productivity tool.

Reduce Unnecessary Workload

The simple development mode of visual drag-and-drop and parameter configuration, together with the automatic model-driven code generation mechanism, can eliminate the most cumbersome and repetitive boilerplate code. An all-in-one deployment and O&M management platform is available, free from CI/CD pipeline build, environment resources applying and monitoring and alerting configuration. Multi-terminal applications can be generated, build, and published simultaneously at one time, without the need to manually synchronize and maintain terminal applications with repeated functions. Out-of-the-box component libraries, template libraries, theme libraries and connectors make it possible to maximize software reuse. To sum up, low-code allows professional developers to focus on innovative, valuable and differentiated work, rather than unnecessary non-core work.

Powerful Platform Support

Although the aforementioned technologies do not directly generate business value, they do affect business performance, cost, stability, security and sustainability. Far-sighted enterprises are never allowed to ignore these important indicators for short-term business improvements. LCDP knows it and thus tries its best to get through at least as well as pure code development method, apart from simplifying and shielding the underlying technical details. Operations may include but are not limited to the following aspects.

Modern technical architecture and implementation: When supporting user applications, modern LCDP can provide technical architectures and implementation solutions that are also modern and conform to the best practices in the industry. For example, its front-end is based on prevailing HTML5/CSS3 standard and React framework, and back-end on mature Java language, SpringBoot framework and MySQL database. In addition, the deployment environment is based on cloud native Docker Image, CI/CD pipeline, Kubernetes cluster and Service Mesh technologies.

Zero-cost technical upgrade and maintenance: A low-code high-dimensional abstract development method completely decouples the core business logic of the application from the underlying technical details. In most cases, developers do not need to care about the selection of underlying technology models and personally follow up on version upgrades and vulnerability fixes for these technologies. On the contrary, they can enjoy up-to-date technical benefits and application security improvements for free. Even if some underlying technologies or tools need to be completely replaced, such as open source projects that are no longer maintained, developers do not need to know. Technology migration, no matter how difficult it is, is charged by a platform itself. Developers only needs to remain online. Moreover, it may be surprisingly found that application access suddenly becomes faster, thanks to low-code.

Integrated Ecosystem Capability Reuse

Reuse is the most effective way to improve software development efficiency and engineering quality. Traditional coding models allow developers to realize reuse through public class or function extraction, shared library apply, external API services call, and code snippets and templates grasp. LCDP can also provide corresponding ways for multi-level and multi-granularity reuse, such as page component libraries, logic libraries, and application template libraries.

More importantly, LCDP can give full play to its integrated ecological advantages and provide a powerful and easy-to-use discovery, integration, and sharing system of reusable capability or asset. Taking page components as an example, developers can directly use system components or search for and reference more appropriate components in the built-in component market. Besides, they can also develop a customized component written in code and publish it to the market. The larger the platform ecosystem, the more reusable capabilities accumulated and the lower the application development cost.

The traditional code ecosystem is larger and deeper. There is still no ecological capability reuses system with similar scale potential been formed. This results from the non-interconnection between technologies, the lack of a unified platform and market, and the high cost of code integration. Therefore, reinventing the wheel and low-level repeated construction is commonly seen, even proclaimed as "new infrastructure".

Some programmers may worry that low-code would put them out of work. In actual fact, although acting as a revolution in application development productivity, low-code only removes only obscure programming syntax, tedious technical details and all automatable repetitive work. The core of application development is left, such as rigorous business logic, clever algorithm design and good engineering style. A qualified programmer is still a valuable hard-core developer, without considering their skills of programming language and tool proficiency.

However, there is still a place for those who insist on simply working on writing code. For example, they can go into fields that low-code is temporarily less applicable, such as bottom-driven system, 3D game engine and rocket launch program. Besides, it's also feasible to write indispensable customized code extensions with high qualities for citizen developers. Moreover, developing underlying code for the platform itself is a good choice. For example, programmers can work for Enterprise Mobile Application Studio (EMAS), Alibaba Cloud's cloud native application R&D platform, to build the next-generation of cloud native LCDP, "Mobi". Mail address for internal recommendation: pengqun.pq # alibaba-inc.com.

Why Don't I Need Low-code?

Even if everyone agrees with the above necessities to use low-code, some may still raise objections. It is true that most of the doubts make sense, and low-code may not be suitable for everyone. Some common doubts towards low-code are introduced as follows, attached with my own opinions from more comprehensive and objective perspectives.

Doubt #1: LCDP Doesn't Work Well

Claim: LCDP can only be used for developing experimental applications because of its weak capacities and bad experience after several attempts.

As one who has deep experience in researching many low-code products at home and abroad, I think this claim is biased. The low-code market development in China is still its primary stage, when so many products slightly related to low-code are eager to catch people's attention. However, they do not represent the current industry level and development direction of low-code. The truly mature enterprise-level LCDP available is fully capable of efficient development to meet the functional requirements for most complex scenarios, as well as non-functional requirements, such as security, performance and scalability. It has been fully verified by foreign markets.

Even though good and bad products are mixed together at present stage, it's believed that those with qualified capabilities and a good reputation will stand out in the near future and show the true aspect of low-code.

Doubt #2: LCDP Is Uncontrollable

Claim: Various visual components, logical actions, and deployment environments at LCDP prevent internal problems from being checked and solved.

As a programmer who also has no idea of the underlying principles, I prefer to believe that the problem is only temporary. Though unavoidable, it is not an inherent defect of the Low-Code technology. There is a saying in the computer field that any problem can be solved by adding an indirect middle layer. Similarly, both the early operating system and the current cloud platform are designed to reduce workload and mental burden of developers by creating an isolated black box in the middle layer.

However, the additional middle layers are not completely free, and low-code is no exception. As a new middle layer that is not yet mature and stable, various problems of various intractable problems will inevitably emerge, just like the early operating system kernel bug and today's cloud host I/O hang. However, it's known that all great technologies will eventually mature. As long as low-code develops properly, fewer problems will occur and eventually can be ignored by most people. The "blue screen" that once troubled Windows users in the past has long been unknown to new users today. And a variety of troublesome problems encountered today will pass away in the future.

Doubt #3: LCDP Is Difficult to Maintain

Claim: Once an application becomes complex, its logic flows with customized code are too difficult to understand and change, not as completely writing in code.

As one who has deep feelings for software maintainability, I have to say that developing with low-code also needs to follow basic rules. Generally, the root cause of low maintainability, whether for low-code-based or pure-code-based development, is not the development tools. However, it's because those developers fail to follow the pervasive principles of software development, such as engineering specifications, naming readability and DRY/KISS/SOLID principles.

A qualified LCDP will provide guidance and help as much as possible, instead of preventing developers from improving the maintainability of applications. Taking Mendix as an example, it even allows application quality monitoring (AQM) based on ISO/IEC 25010 standards, in addition to supporting basic model analysis and reconstruction, such as null model, object renaming and sub-logic flow extraction. Moreover, another reason why applications are difficult to maintain is that applications themselves are too complex. Low-code, as a highly abstract and automated development mode, is tailored to reduce the complexity.

Generally speaking, although low-code cannot solve all problems, it will definitely not introduce new problems. Low-code must perform better than the traditional development mode in improving application maintainability. However, it still depends on developers themselves.

Development of Low-code Industry

The best way to dispel doubts is to be yourself and respond with practical performance. The current performance and potential in the future of an industry can be measured from three aspects, namely market scale, application scenarios and competitor profile.

Market Scale

"Talk is cheap, show me the code money."-- Linus StarCraft

Articles may present false information, but the market will always tell the truth.

  • Forrester predicted in 2015 that the low-code market would grow from 1.7 billion dollars in 2015 to 15 billion dollars in 2020.
  • MarketsandMarkets predicted in its analysis report in April this year that the low-code market would grow from 13 billion dollars in 2020 to 45 billion dollars in 2025, with a compound annual growth of 28.1%. The estimated value in 2020 is close to that of Forrester.
  • PS Intelligence predicted in its analysis report in 2018 that the Asia-Pacific region will maintain the highest growth rate among global LCDP markets in the next five years from 2019 to 2014.

17

To sum up,

  • The market scale of low-code products is large enough and grows rapidly.
  • As an economic giant and IT power in the Asia-Pacific region, China's low-code market will get a boost, whose growth rate will exceed the global average in the next few years.

Application Scenarios

In theory, low-code, as a universal development mode that is completely different from traditional pure code, is expected to support all possible business scenarios. However, the dream has not yet and seems impossible to come to reality. As mentioned earlier, low-code-based and pure-code-based approaches complementary each other and will coexist for a long time in the future. Each plays its role in applicable business scenarios. It should also be pointed out that the current low-code technologies, products and market are not yet fully mature. Therefore, some scenarios that could have been very suitable for development with low-code, can use only pure code now.

In its report on the low-code survey in 2019, Gartner drew the figure of "Pyramid of Applications" to describe the applicable scenarios of low-code:

18

  • Class Division: From the bottom up are successively Workgroup Class, Departmental Class, Enterprise Class, and Extreme-Scale Enterprise Class. It can be seen that the main division dimension is user base application faces. The larger the base, the higher the scalability requirement.
  • Mission Criticality: The Mission Criticality of applications of each class increases incrementally from the bottom up. For example, a backend management application, only used in a workspace, generally does not involve critical tasks that affect the entire enterprise. Regardless of enterprises, there are many universe mission-critical applications in the entire software industry, such as the real-time operating system, aviation scheduling system and bank reconciliation system.
  • Complexity: The Complexity of applications of each class increases incrementally from the bottom up. For example, the topmost enterprise-level applications, whose wide functional coverage leads to complex business, should meet more demanding non-functional requirements, including but not limited to user experience, performance, reliability, security, scalability, maintainability and compatibility. Other complex software includes 3D game interface with complex interaction and the underlying game engine with complex logic. Super-large Customer Relationship Management (CRM) system is also a case in point. On one hand, it is complex to implement. On the other hand, this kind of mature software has a high degree of standardization and can directly use existing SaaS software in most cases.
  • Volume of Application in Production: The Volume of demand for applications of each class increases incrementally from the top down, looking like a pyramid. Applying the Pareto principle, it can be found that due to required universality and universality, due to required universality and universality, 20% of "popular" applications can cover at least 80% of customers, such as the attendance system widely used in enterprises. But the remaining 80% of "niche" applications, due to its customized and specified requirements, can only cover 20% of customers, such as the option system of Ant Financial.
  • Relevance of Low-Code Development: From top to bottom, applications of each class are becoming more relevant to low-code. That is to say, the simpler the application and less critical tasks, the more relevant to low-code. At the same time, applications with lower relevance are more at the bottom of the pyramid and have more demands. Therefore, it can be concluded that low-code can be applicable to most business scenarios and the proportion will continue to increase, gradually covering applications at the top of the pyramid. Examples include B2E applications (form, approval process, and ERP system), B2B applications (enterprise mall, industrial console) and B2C applications (enterprise display, marketing website, store decoration).

Competitor Profile

Although low-code is an emerging concept, the industry itself is not very new, as mentioned above. Over the past years, it has attracted many senior developers. Besides, as a promising industry and a hot spot, more new players have gone into this industry.

19

The figures above are respectively Gartner's Magic Quadrant for Low-Code application platforms and Forrester's Technology Spectrum for LCDP. It can be seen that

OutSystems and Mendix were recognized as the top players in the low-code field. Both of them, as universe LCDP, have been developed for a long time. OutSystems was founded in 2001 and has more than 1,000 employees, with annual revenue of over 100 million dollars. In June 2018, OutSystems received 360 million dollars of financings from KKR and Goldman Sachs, with a current valuation of over 1 billion dollars. Mendix was founded in 2005 and has over 500 employees, with annual revenue of exceeded230 million dollars, according to data in 2018. It was acquired by Siemens for 730 million dollars in August 2018.

Salesforce and Microsoft follow closely, both taking the lead in this industry. However, their nature and development paths are very different. Developed based on SaaS, the scale of Salesforce tops SaaS. Such SaaS vendors are driven by motivations to meet customized demands for finished SaaS software. For Microsoft, the leader in office software, low-code enables it to upgrade capabilities and experience from Excel forms to customized App for customers. Besides, as one of the three major cloud computing companies, Microsoft can also connect to the internal cloud computing ecosystem, providing developers with a unified and easy-to-use cloud-based interface.

Low-code has been fully verified in foreign markets, but none of the Chinese companies is qualified enough to list in the above figures, considering its just emerging market. The following is the situation of some competitors and financing in China. In May 2018, building A cloud to complete round A of tens of millions of financings. In September 2018, HEXPM received strategic financing from Qingyuan Venture Capital Management Partnership Enterprise. In December 2018, Qingflow completed tens of millions of Pre-A financing. In August 2019, Shushi received tens of millions yuan of angel round investment from Incapital, and ClickPaas received millions of dollars of A round investment from Morningside Venture Capital. In 2019, Authine received 50 million yuan of A round investment from Alibaba and 100 million yuan of B round investment from Gaorong Capital.

Summary

This article introduces basic concepts, core values and current situation of low-code industry. Although the information is relatively basic and theoretical, I believe that only these practical details can contribute to a deep understanding. The technical architecture can only tell "How" the system is implemented, but cannot accurately describe "What" it can be used for, and "Why" it is created. The answers to "What" and "Why" are the root cause and driving force to design and develop subsequent systems.

0 1 1
Share on

Adrian Peng

3 posts | 1 followers

You may also like

Comments

Adrian Peng

3 posts | 1 followers

Related Products

  • Quick Starts

    Deploy custom Alibaba Cloud solutions for business-critical scenarios with Quick Start templates.

    Learn More
  • mPaaS

    Help enterprises build high-quality, stable mobile apps

    Learn More
  • Link IoT Edge

    Link IoT Edge allows for the management of millions of edge nodes by extending the capabilities of the cloud, thus providing users with services at the nearest location.

    Learn More
  • Super App Solution for Telcos

    Alibaba Cloud (in partnership with Whale Cloud) helps telcos build an all-in-one telecommunication and digital lifestyle platform based on DingTalk.

    Learn More